aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-i386.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2001-06-24 00:36:47 +0000
committerH.J. Lu <hjl.tools@gmail.com>2001-06-24 00:36:47 +0000
commit62b7d3f1f1b805c22545bc5cafcd014655daf476 (patch)
treeac98b8fabe4029e305d7de712d826b5730cc77ba /bfd/elf32-i386.c
parent78586f06cb16f4eabed0e74a4d841c0386b4ab76 (diff)
downloadgdb-62b7d3f1f1b805c22545bc5cafcd014655daf476.zip
gdb-62b7d3f1f1b805c22545bc5cafcd014655daf476.tar.gz
gdb-62b7d3f1f1b805c22545bc5cafcd014655daf476.tar.bz2
2001-06-23 H.J. Lu <hjl@gnu.org>
* elf32-i386.c (elf_i386_relocate_section): Check the ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the regular object file and treat the weak definition as the normal one.
Diffstat (limited to 'bfd/elf32-i386.c')
-rw-r--r--bfd/elf32-i386.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index a628e0c..a0ed38a 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -1693,9 +1693,10 @@ elf_i386_relocate_section (output_bfd, info, input_bfd, input_section,
&& h != NULL
&& h->dynindx != -1
&& (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0
- && (h->root.type == bfd_link_hash_defweak
- || (h->elf_link_hash_flags
- & ELF_LINK_HASH_DEF_REGULAR) == 0)))
+ && ((h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak)
+ && (h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_DYNAMIC) != 0)))
{
Elf_Internal_Rel outrel;
boolean skip, relocate;