mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03:00
Sat Jun 15 18:13:43 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/Dist: Add sys/klog.h. * elf/dl-open.c (_dl_open): Remove PARENT argument, pass null. * elf/link.h: Update prototype. * elf/dl-load.c (_dl_map_object): If dependents' DT_RPATHs don't find NAME, try the DT_RPATH of the executable itself if dynamic. * elf/dlopen.c (dlopen): Don't pass first arg to _dl_open. * elf/dl-load.c (_dl_map_object): Exit DT_RPATH checking loop when an open succeeds. * Makerules (build-shlib): Give -L opts for each elt of $(rpath-link). * sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): Variable removed. (rpath-link): Append to this instead.
This commit is contained in:
@ -25,22 +25,15 @@ Cambridge, MA 02139, USA. */
|
||||
size_t _dl_global_scope_alloc;
|
||||
|
||||
struct link_map *
|
||||
_dl_open (struct link_map *parent, const char *file, int mode)
|
||||
_dl_open (const char *file, int mode)
|
||||
{
|
||||
struct link_map *new, *l;
|
||||
ElfW(Addr) init;
|
||||
struct r_debug *r;
|
||||
|
||||
|
||||
#ifdef PIC
|
||||
if (! parent)
|
||||
/* If no particular dependent object caused this load,
|
||||
then use the DT_RPATH of the executable itself. */
|
||||
parent = _dl_loaded;
|
||||
#endif
|
||||
|
||||
/* Load the named object. */
|
||||
new = _dl_map_object (parent, file, lt_loaded);
|
||||
new = _dl_map_object (NULL, file, lt_loaded);
|
||||
if (new->l_searchlist)
|
||||
/* It was already open. */
|
||||
return new;
|
||||
|
Reference in New Issue
Block a user