diff options
author | H.J. Lu <hjl@lucon.org> | 2001-06-24 00:36:47 +0000 |
---|---|---|
committer | H.J. Lu <hjl@lucon.org> | 2001-06-24 00:36:47 +0000 |
commit | 977c89c0eeda1e22dcf57a73a0b78e46117af94c (patch) | |
tree | 996cbfbae07fd8fcb35ec99c90fe132a7106bbf8 /bfd/elf32-i386.c | |
parent | 80e24190aa3842db2492293bf99c856eeca4cf52 (diff) | |
download | gdb-977c89c0eeda1e22dcf57a73a0b78e46117af94c.tar.gz |
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.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index a628e0c7149..a0ed38ae4fb 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; |