diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-08-24 20:29:43 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-08-24 20:29:43 +0000 |
commit | 2ac9ca73009c3f4ad0039f24eff5d2db4be6b488 (patch) | |
tree | 4a42286d2b3aec1d8ed8a6c2b704dfc9b7c1c3c9 /sysdeps/generic | |
parent | 93b53ca279865363a3352017c1d4456cc58e7de4 (diff) | |
download | glibc-2ac9ca73009c3f4ad0039f24eff5d2db4be6b488.tar.gz glibc-2ac9ca73009c3f4ad0039f24eff5d2db4be6b488.tar.xz glibc-2ac9ca73009c3f4ad0039f24eff5d2db4be6b488.zip |
* sysdeps/generic/ldsodefs.h (DL_ADDR_SYM_MATCH): For undefined
symbol require exact match (these are PLTs). * sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h (_dl_ppc64_addr_sym_match): Likewise.
Diffstat (limited to 'sysdeps/generic')
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 2c3ce81dd0..b7d0f9b7e7 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -76,7 +76,7 @@ typedef struct link_map *lookup_t; /* On some architectures dladdr can't use st_size of all symbols this way. */ #define DL_ADDR_SYM_MATCH(L, SYM, MATCHSYM, ADDR) \ ((ADDR) >= (L)->l_addr + (SYM)->st_value \ - && (((SYM)->st_size == 0 \ + && ((((SYM)->st_shndx == SHN_UNDEF || (SYM)->st_size == 0) \ && (ADDR) == (L)->l_addr + (SYM)->st_value) \ || (ADDR) < (L)->l_addr + (SYM)->st_value + (SYM)->st_size) \ && ((MATCHSYM) == NULL || (MATCHSYM)->st_value < (SYM)->st_value)) |