From: Alan Modra Date: Thu, 20 Apr 2000 05:37:05 +0000 (+0000) Subject: H.J's x86 fix for "nm -l" on shared libraries, applied to ppc too. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1319985e96c6f9173507d44cd1c5b09543c347ae;p=binutils-gdb.git H.J's x86 fix for "nm -l" on shared libraries, applied to ppc too. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index dfea4b851af..9c1c3197a28 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2000-04-20 H.J. Lu + + * elf32-i386.c (elf_i386_relocate_section): Restrict 1998-12-10 + patch to symbols defined by a shared object. + * elf32-ppc.c (ppc_elf_relocate_section): Similarly. + 2000-04-19 Michael Sokolov K&R compiler fixes. diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 90efba8dc9b..e4dbf9da096 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -1291,7 +1291,9 @@ elf_i386_relocate_section (output_bfd, info, input_bfd, input_section, sections against symbols defined externally in shared libraries. We can't do anything with them here. */ - || (input_section->flags & SEC_DEBUGGING) != 0))) + || ((input_section->flags & SEC_DEBUGGING) != 0 + && (h->elf_link_hash_flags + & ELF_LINK_HASH_DEF_DYNAMIC) != 0)))) { /* In these cases, we don't need the relocation value. We check specially because in some diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 242cfb730ab..db5b2684248 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -3043,7 +3043,9 @@ ppc_elf_relocate_section (output_bfd, info, input_bfd, input_section, It's here to avoid a crash when generating a shared library with DWARF debugging information. */ - || (input_section->flags & SEC_DEBUGGING) != 0) + || ((input_section->flags & SEC_DEBUGGING) != 0 + && (h->elf_link_hash_flags + & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) && (r_type == R_PPC_ADDR32 || r_type == R_PPC_ADDR24 || r_type == R_PPC_ADDR16