diff options
| author | Ulrich Drepper <drepper@redhat.com> | 2004-03-05 10:29:47 +0000 |
|---|---|---|
| committer | Ulrich Drepper <drepper@redhat.com> | 2004-03-05 10:29:47 +0000 |
| commit | afdca0f2a3a18fb0dcfc334c205e0fb96e90e839 (patch) | |
| tree | 59ba9a29d6174ebbbbe09258ea52e9f956e33c2e /elf | |
| parent | 20c37dfde1a836a139f6269e8617260f2b90bf52 (diff) | |
| download | glibc-afdca0f2a3a18fb0dcfc334c205e0fb96e90e839.tar.xz glibc-afdca0f2a3a18fb0dcfc334c205e0fb96e90e839.zip | |
Update.
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
* sysdeps/s390/s390-64/dl-machine.h: Likewise.
* sysdeps/s390/s390-32/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc32/dl-machine.c: Likewise.
* sysdeps/m68k/dl-machine.h: Likewise.
* sysdeps/ia64/dl-machine.h: Likewise.
* sysdeps/arm/dl-machine.h: Likewise.
* sysdeps/alpha/dl-machine.h: Likewise.
Diffstat (limited to 'elf')
| -rw-r--r-- | elf/dl-close.c | 4 | ||||
| -rw-r--r-- | elf/dl-conflict.c | 4 | ||||
| -rw-r--r-- | elf/dl-deps.c | 10 | ||||
| -rw-r--r-- | elf/dl-dst.h | 4 | ||||
| -rw-r--r-- | elf/dl-error.c | 4 | ||||
| -rw-r--r-- | elf/dl-fini.c | 4 | ||||
| -rw-r--r-- | elf/dl-init.c | 6 | ||||
| -rw-r--r-- | elf/dl-load.c | 49 | ||||
| -rw-r--r-- | elf/dl-lookup.c | 24 | ||||
| -rw-r--r-- | elf/dl-minimal.c | 8 | ||||
| -rw-r--r-- | elf/dl-open.c | 11 | ||||
| -rw-r--r-- | elf/dl-profile.c | 24 | ||||
| -rw-r--r-- | elf/dl-reloc.c | 15 | ||||
| -rw-r--r-- | elf/dl-runtime.c | 4 | ||||
| -rw-r--r-- | elf/dl-support.c | 6 | ||||
| -rw-r--r-- | elf/dl-version.c | 4 | ||||
| -rw-r--r-- | elf/do-lookup.h | 6 | ||||
| -rw-r--r-- | elf/rtld.c | 110 |
18 files changed, 158 insertions, 139 deletions
diff --git a/elf/dl-close.c b/elf/dl-close.c index c7424c5ffb..c63dabbfe1 100644 --- a/elf/dl-close.c +++ b/elf/dl-close.c @@ -134,7 +134,7 @@ _dl_close (void *_map) if (map->l_opencount > 1 || map->l_type != lt_loaded) { /* There are still references to this object. Do nothing more. */ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_FILES, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) _dl_debug_printf ("\nclosing file=%s; opencount == %u\n", map->l_name, map->l_opencount); @@ -224,7 +224,7 @@ _dl_close (void *_map) && (imap->l_flags_1 & DF_1_NODELETE) == 0) { /* When debugging print a message first. */ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) _dl_debug_printf ("\ncalling fini: %s\n\n", imap->l_name); /* Call its termination function. Do not do it for diff --git a/elf/dl-conflict.c b/elf/dl-conflict.c index 0068cd885a..8546d365c9 100644 --- a/elf/dl-conflict.c +++ b/elf/dl-conflict.c @@ -1,5 +1,5 @@ /* Resolve conflicts against already prelinked libraries. - Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek <jakub@redhat.com>, 2001. @@ -33,7 +33,7 @@ _dl_resolve_conflicts (struct link_map *l, ElfW(Rela) *conflict, ElfW(Rela) *conflictend) { #if ! ELF_MACHINE_NO_RELA - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_RELOC, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_RELOC, 0)) _dl_printf ("\nconflict processing: %s\n", l->l_name[0] ? l->l_name : rtld_progname); diff --git a/elf/dl-deps.c b/elf/dl-deps.c index 0a9183faee..b2e6ec612b 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c @@ -1,5 +1,5 @@ /* Load the dependencies of a mapped object. - Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1996-2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -126,7 +126,7 @@ empty dynamics string token substitution")); \ else \ { \ /* This is for DT_AUXILIARY. */ \ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_LIBS, 0)) \ + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS, 0))\ INTUSE(_dl_debug_printf) (N_("\ cannot load auxiliary `%s' because of empty dynamic string token " \ "substitution\n"), __str); \ @@ -291,7 +291,7 @@ _dl_map_object_deps (struct link_map *map, int err; /* Say that we are about to load an auxiliary library. */ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_LIBS, + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS, 0)) INTUSE(_dl_debug_printf) ("load auxiliary object=%s" " requested by file=%s\n", @@ -319,7 +319,7 @@ _dl_map_object_deps (struct link_map *map, int err; /* Say that we are about to load an auxiliary library. */ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_LIBS, + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS, 0)) INTUSE(_dl_debug_printf) ("load filtered object=%s" " requested by file=%s\n", @@ -510,7 +510,7 @@ _dl_map_object_deps (struct link_map *map, runp->map->l_reserved = 0; } - if (__builtin_expect(GL(dl_debug_mask) & DL_DEBUG_PRELINK, 0) != 0 + if (__builtin_expect(GLRO(dl_debug_mask) & DL_DEBUG_PRELINK, 0) != 0 && map == GL(dl_loaded)) { /* If we are to compute conflicts, we have to build local scope diff --git a/elf/dl-dst.h b/elf/dl-dst.h index 4f0669d92b..b50d6735e3 100644 --- a/elf/dl-dst.h +++ b/elf/dl-dst.h @@ -1,5 +1,5 @@ /* Handling of dynamic sring tokens. - Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1999, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -62,7 +62,7 @@ extern size_t _dl_dst_count_internal (const char *name, int is_path); origin_len = (l)->l_origin == (char *) -1 \ ? 0 : strlen ((l)->l_origin); \ \ - __len += __cnt * (MAX (origin_len, GL(dl_platformlen)) - 7); \ + __len += __cnt * (MAX (origin_len, GLRO(dl_platformlen)) - 7); \ } \ \ __len; }) diff --git a/elf/dl-error.c b/elf/dl-error.c index df91088843..f234026701 100644 --- a/elf/dl-error.c +++ b/elf/dl-error.c @@ -1,5 +1,5 @@ /* Error handling for runtime dynamic linker. - Copyright (C) 1995,96,97,98,99,2000,2001,2002 Free Software Foundation, Inc. + Copyright (C) 1995-2002,2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -121,7 +121,7 @@ internal_function _dl_signal_cerror (int errcode, const char *objname, const char *occation, const char *errstring) { - if (__builtin_expect (GL(dl_debug_mask) + if (__builtin_expect (GLRO(dl_debug_mask) & ~(DL_DEBUG_STATISTICS|DL_DEBUG_PRELINK), 0)) INTUSE(_dl_debug_printf) ("%s: error: %s: %s (%s)\n", objname, occation, errstring, receiver ? "continued" : "fatal"); diff --git a/elf/dl-fini.c b/elf/dl-fini.c index 7115efb85a..3dc1db16c9 100644 --- a/elf/dl-fini.c +++ b/elf/dl-fini.c @@ -146,7 +146,7 @@ _dl_fini (void) continue; /* When debugging print a message first. */ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) INTUSE(_dl_debug_printf) ("\ncalling fini: %s\n\n", l->l_name[0] ? l->l_name : rtld_progname); @@ -174,7 +174,7 @@ _dl_fini (void) __rtld_lock_unlock_recursive (GL(dl_load_lock)); - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_STATISTICS, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_STATISTICS, 0)) { INTUSE(_dl_debug_printf) ("\nruntime linker statistics:\n"); INTUSE(_dl_debug_printf) ("\ diff --git a/elf/dl-init.c b/elf/dl-init.c index 0fb9328ef9..37d5045d03 100644 --- a/elf/dl-init.c +++ b/elf/dl-init.c @@ -1,5 +1,5 @@ /* Return the next shared object initializer function not yet run. - Copyright (C) 1995, 1996, 1998-2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1998-2002, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -51,7 +51,7 @@ call_init (struct link_map *l, int argc, char **argv, char **env) return; /* Print a debug message if wanted. */ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) INTUSE(_dl_debug_printf) ("\ncalling init: %s\n\n", l->l_name[0] ? l->l_name : rtld_progname); @@ -108,7 +108,7 @@ _dl_init (struct link_map *main_map, int argc, char **argv, char **env) ElfW(Addr) *addrs; unsigned int cnt; - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) INTUSE(_dl_debug_printf) ("\ncalling preinit: %s\n\n", main_map->l_name[0] ? main_map->l_name : rtld_progname); diff --git a/elf/dl-load.c b/elf/dl-load.c index cba75f62fa..f7449bce9c 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -248,7 +248,7 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result, INTUSE(__libc_enable_secure))) != 0) repl = l->l_origin; else if ((len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0) - repl = GL(dl_platform); + repl = GLRO(dl_platform); else if ((len = is_dst (start, name, "LIB", is_path, 0)) != 0) repl = DL_DST_LIB; @@ -502,10 +502,10 @@ decompose_rpath (struct r_search_path_struct *sps, /* First see whether we must forget the RUNPATH and RPATH from this object. */ - if (__builtin_expect (GL(dl_inhibit_rpath) != NULL, 0) + if (__builtin_expect (GLRO(dl_inhibit_rpath) != NULL, 0) && !INTUSE(__libc_enable_secure)) { - const char *inhp = GL(dl_inhibit_rpath); + const char *inhp = GLRO(dl_inhibit_rpath); do { @@ -623,7 +623,7 @@ _dl_init_paths (const char *llp) directories addressed by the LD_LIBRARY_PATH environment variable. */ /* Get the capabilities. */ - capstr = _dl_important_hwcaps (GL(dl_platform), GL(dl_platformlen), + capstr = _dl_important_hwcaps (GLRO(dl_platform), GLRO(dl_platformlen), &ncapstr, &max_capstrlen); /* First set up the rest of the default search directory entries. */ @@ -844,7 +844,7 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp, return NULL; /* Print debugging message. */ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_FILES, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) INTUSE(_dl_debug_printf) ("file=%s; generating link map\n", name); /* This is the ELF header. We read it in `open_verify'. */ @@ -928,7 +928,7 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp, case PT_LOAD: /* A load command tells us to map in part of the file. We record the load commands and process them all later. */ - if (__builtin_expect ((ph->p_align & (GL(dl_pagesize) - 1)) != 0, + if (__builtin_expect ((ph->p_align & (GLRO(dl_pagesize) - 1)) != 0, 0)) { errstring = N_("ELF load command alignment not page-aligned"); @@ -944,8 +944,8 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp, c = &loadcmds[nloadcmds++]; c->mapstart = ph->p_vaddr & ~(ph->p_align - 1); - c->mapend = ((ph->p_vaddr + ph->p_filesz + GL(dl_pagesize) - 1) - & ~(GL(dl_pagesize) - 1)); + c->mapend = ((ph->p_vaddr + ph->p_filesz + GLRO(dl_pagesize) - 1) + & ~(GLRO(dl_pagesize) - 1)); c->dataend = ph->p_vaddr + ph->p_filesz; c->allocend = ph->p_vaddr + ph->p_memsz; c->mapoff = ph->p_offset & ~(ph->p_align - 1); @@ -1090,7 +1090,7 @@ cannot allocate TLS data structures for initial thread"); the OS can do whatever it likes. */ ElfW(Addr) mappref; mappref = (ELF_PREFERRED_ADDRESS (loader, maplength, - c->mapstart & GL(dl_use_load_bias)) + c->mapstart & GLRO(dl_use_load_bias)) - MAP_BASE_ADDR (l)); /* Remember which part of the address space this object uses. */ @@ -1164,8 +1164,8 @@ cannot allocate TLS data structures for initial thread"); zero = l->l_addr + c->dataend; zeroend = l->l_addr + c->allocend; - zeropage = ((zero + GL(dl_pagesize) - 1) - & ~(GL(dl_pagesize) - 1)); + zeropage = ((zero + GLRO(dl_pagesize) - 1) + & ~(GLRO(dl_pagesize) - 1)); if (zeroend < zeropage) /* All the extra data is in the last page of the segment. @@ -1178,8 +1178,9 @@ cannot allocate TLS data structures for initial thread"); if (__builtin_expect ((c->prot & PROT_WRITE) == 0, 0)) { /* Dag nab it. */ - if (__mprotect ((caddr_t) (zero & ~(GL(dl_pagesize) - 1)), - GL(dl_pagesize), c->prot|PROT_WRITE) < 0) + if (__mprotect ((caddr_t) (zero + & ~(GLRO(dl_pagesize) - 1)), + GLRO(dl_pagesize), c->prot|PROT_WRITE) < 0) { errstring = N_("cannot change memory protections"); goto call_lose_errno; @@ -1187,8 +1188,8 @@ cannot allocate TLS data structures for initial thread"); } memset ((void *) zero, '\0', zeropage - zero); if (__builtin_expect ((c->prot & PROT_WRITE) == 0, 0)) - __mprotect ((caddr_t) (zero & ~(GL(dl_pagesize) - 1)), - GL(dl_pagesize), c->prot); + __mprotect ((caddr_t) (zero & ~(GLRO(dl_pagesize) - 1)), + GLRO(dl_pagesize), c->prot); } if (zeroend > zeropage) @@ -1258,7 +1259,7 @@ cannot allocate TLS data structures for initial thread"); l->l_entry += l->l_addr; - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_FILES, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) INTUSE(_dl_debug_printf) ("\ dynamic: 0x%0*lx base: 0x%0*lx size: 0x%0*Zx\n\ entry: 0x%0*lx phdr: 0x%0*lx phnum: %*u\n\n", @@ -1350,7 +1351,7 @@ cannot enable executable stack as shared object requires"); /* When we profile the SONAME might be needed for something else but loading. Add it right away. */ - if (__builtin_expect (GL(dl_profile) != NULL, 0) + if (__builtin_expect (GLRO(dl_profile) != NULL, 0) && l->l_info[DT_SONAME] != NULL) add_name_to_object (l, ((const char *) D_PTR (l, l_info[DT_STRTAB]) + l->l_info[DT_SONAME]->d_un.d_val)); @@ -1570,7 +1571,7 @@ open_verify (const char *name, struct filebuf *fbp) + (abi_note[6] & 0xff) * 256 + (abi_note[7] & 0xff); if (abi_note[4] != __ABI_TAG_OS - || (GL(dl_osversion) && GL(dl_osversion) < osversion)) + || (GLRO(dl_osversion) && GLRO(dl_osversion) < osversion)) { close_and_out: __close (fd); @@ -1615,7 +1616,7 @@ open_path (const char *name, size_t namelen, int preloaded, /* If we are debugging the search for libraries print the path now if it hasn't happened now. */ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_LIBS, 0) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS, 0) && current_what != this_dir->what) { current_what = this_dir->what; @@ -1636,7 +1637,7 @@ open_path (const char *name, size_t namelen, int preloaded, - buf); /* Print name we try if this is wanted. */ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_LIBS, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS, 0)) INTUSE(_dl_debug_printf) (" trying file=%s\n", buf); fd = open_verify (buf, fbp); @@ -1769,7 +1770,7 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, } /* Display information if we are debugging. */ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_FILES, 0) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0) && loader != NULL) INTUSE(_dl_debug_printf) ("\nfile=%s; needed by %s\n", name, loader->l_name[0] @@ -1781,7 +1782,7 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, size_t namelen = strlen (name) + 1; - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_LIBS, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS, 0)) INTUSE(_dl_debug_printf) ("find library=%s; searching\n", name); fd = -1; @@ -1886,7 +1887,7 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, &realname, &fb); /* Add another newline when we are tracing the library loading. */ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_LIBS, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS, 0)) INTUSE(_dl_debug_printf) ("\n"); } else @@ -1908,7 +1909,7 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, if (__builtin_expect (fd, 0) == -1) { if (trace_mode - && __builtin_expect (GL(dl_debug_mask) & DL_DEBUG_PRELINK, 0) == 0) + && __builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK, 0) == 0) { /* We haven't found an appropriate library. But since we are only interested in the list of libraries this isn't diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c index 9d9a12efbf..f4ebd93fc3 100644 --- a/elf/dl-lookup.c +++ b/elf/dl-lookup.c @@ -1,5 +1,5 @@ /* Look up a symbol in the loaded objects. - Copyright (C) 1995-2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1995-2002, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -190,7 +190,7 @@ add_dependency (struct link_map *undef_map, struct link_map *map) ++(*list)->l_opencount; /* Display information if we are debugging. */ - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_FILES, 0)) + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) INTUSE(_dl_debug_printf) ("\ \nfile=%s; needed by %s (relocation dependency)\n\n", map->l_name[0] ? map->l_name : rtld_progname, @@ -315,7 +315,7 @@ _dl_lookup_symbol (const char *undef_name, struct link_map *undef_map, return INTUSE(_dl_lookup_symbol) (undef_name, undef_map, ref, symbol_scope, type_class, flags); - if (__builtin_expect (GL(dl_debug_mask) + if (__builtin_expect (GLRO(dl_debug_mask) & (DL_DEBUG_BINDINGS|DL_DEBUG_PRELINK), 0)) _dl_debug_bindings (undef_name, undef_map, ref, symbol_scope, ¤t_value, NULL, type_class, protected); @@ -389,7 +389,7 @@ _dl_lookup_symbol_skip (const char *undef_name, } } - if (__builtin_expect (GL(dl_debug_mask) + if (__builtin_expect (GLRO(dl_debug_mask) & (DL_DEBUG_BINDINGS|DL_DEBUG_PRELINK), 0)) _dl_debug_bindings (undef_name, undef_map, ref, symbol_scope, ¤t_value, NULL, 0, protected); @@ -522,7 +522,7 @@ _dl_lookup_versioned_symbol (const char *undef_name, ref, symbol_scope, version, type_class, flags); - if (__builtin_expect (GL(dl_debug_mask) + if (__builtin_expect (GLRO(dl_debug_mask) & (DL_DEBUG_BINDINGS|DL_DEBUG_PRELINK), 0)) _dl_debug_bindings (undef_name, undef_map, ref, symbol_scope, ¤t_value, version, type_class, protected); @@ -609,7 +609,7 @@ _dl_lookup_versioned_symbol_skip (const char *undef_name, } } - if (__builtin_expect (GL(dl_debug_mask) + if (__builtin_expect (GLRO(dl_debug_mask) & (DL_DEBUG_BINDINGS|DL_DEBUG_PRELINK), 0)) _dl_debug_bindings (undef_name, undef_map, ref, symbol_scope, ¤t_value, version, 0, protected); @@ -650,7 +650,7 @@ _dl_debug_bindings (const char *undef_name, struct link_map *undef_map, { const char *reference_name = undef_map->l_name; - if (GL(dl_debug_mask) & DL_DEBUG_BINDINGS) + if (GLRO(dl_debug_mask) & DL_DEBUG_BINDINGS) { INTUSE(_dl_debug_printf) ("binding file %s to %s: %s symbol `%s'", (reference_name[0] @@ -666,13 +666,13 @@ _dl_debug_bindings (const char *undef_name, struct link_map *undef_map, _dl_debug_printf_c ("\n"); } #ifdef SHARED - if (GL(dl_debug_mask) & DL_DEBUG_PRELINK) + if (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK) { int conflict = 0; struct sym_val val = { NULL, NULL }; - if ((GL(dl_trace_prelink_map) == NULL - || GL(dl_trace_prelink_map) == GL(dl_loaded)) + if ((GLRO(dl_trace_prelink_map) == NULL + || GLRO(dl_trace_prelink_map) == GL(dl_loaded)) && undef_map != GL(dl_loaded)) { const unsigned long int hash = _dl_elf_hash (undef_name); @@ -698,8 +698,8 @@ _dl_debug_bindings (const char *undef_name, struct link_map *undef_map, #endif if (conflict - || GL(dl_trace_prelink_map) == undef_map - || GL(dl_trace_prelink_map) == NULL + || GLRO(dl_trace_prelink_map) == undef_map + || GLRO(dl_trace_prelink_map) == NULL || type_class == 4) { _dl_printf ("%s 0x%0*Zx 0x%0*Zx -> 0x%0*Zx 0x%0*Zx ", diff --git a/elf/dl-minimal.c b/elf/dl-minimal.c index 3a51df30fb..4ec2ebcbb4 100644 --- a/elf/dl-minimal.c +++ b/elf/dl-minimal.c @@ -1,5 +1,5 @@ /* Minimal replacements for basic facilities used in the dynamic linker. - Copyright (C) 1995,96,97,98,2000,2001,2002 Free Software Foundation, Inc. + Copyright (C) 1995-1998,2000-2002,2004 Free Software Foundation, Inc. This file is part of the GNU C Library. |
