diff options
author | Jakub Jelinek <jakub@redhat.com> | 2006-08-25 06:45:16 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2006-08-25 06:45:16 +0000 |
commit | 44731509844946ccd2c2ee1de87901c171dadcc5 (patch) | |
tree | 83e065c21bd400661e9a594289ec3114cd10d051 /sysdeps | |
parent | 4728cb644861ff8c58586702bf6815c50a1c0dd2 (diff) | |
download | glibc-44731509844946ccd2c2ee1de87901c171dadcc5.tar glibc-44731509844946ccd2c2ee1de87901c171dadcc5.tar.gz glibc-44731509844946ccd2c2ee1de87901c171dadcc5.tar.bz2 glibc-44731509844946ccd2c2ee1de87901c171dadcc5.zip |
Updated to fedora-glibc-20060825T0639
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 6 | ||||
-rw-r--r-- | sysdeps/i386/bits/byteswap.h | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h | 4 |
3 files changed, 8 insertions, 7 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index ef2b685393..b7d0f9b7e7 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -59,8 +59,8 @@ __BEGIN_DECLS /* Result of the lookup functions and how to retrieve the base address. */ typedef struct link_map *lookup_t; -# define LOOKUP_VALUE(map) map -# define LOOKUP_VALUE_ADDRESS(map) ((map) ? (map)->l_addr : 0) +#define LOOKUP_VALUE(map) map +#define LOOKUP_VALUE_ADDRESS(map) ((map) ? (map)->l_addr : 0) /* On some architectures a pointer to a function is not just a pointer to the actual code of the function but rather an architecture @@ -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)) diff --git a/sysdeps/i386/bits/byteswap.h b/sysdeps/i386/bits/byteswap.h index 33af208888..bed27559c5 100644 --- a/sysdeps/i386/bits/byteswap.h +++ b/sysdeps/i386/bits/byteswap.h @@ -1,5 +1,5 @@ /* Macros to swap the order of bytes in integer values. - Copyright (C) 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1997,1998,2000,2002,2003,2006 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 @@ -65,7 +65,8 @@ __bswap_16 (unsigned short int __bsx) /* To swap the bytes in a word the i486 processors and up provide the `bswap' opcode. On i386 we have to use three instructions. */ # if !defined __i486__ && !defined __pentium__ && !defined __pentiumpro__ \ - && !defined __pentium4__ + && !defined __pentium4__ && !defined __k8__ && !defined __athlon__ \ + && !defined __k6__ # define __bswap_32(x) \ (__extension__ \ ({ register unsigned int __v, __x = (x); \ diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h index 1ead3dd63d..ac4a0d5aa9 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h @@ -1,5 +1,5 @@ /* Run-time dynamic linker data structures for loaded ELF shared objects. - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 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 @@ -47,7 +47,7 @@ _dl_ppc64_addr_sym_match (const struct link_map *l, const ElfW(Sym) *sym, return false; } } - else if (sym->st_size == 0) + else if (sym->st_shndx == SHN_UNDEF || sym->st_size == 0) { if (addr != value) return false; |