include/coff/
authorRichard Sandiford <rdsandiford@googlemail.com>
Sat, 14 Mar 2009 09:33:39 +0000 (09:33 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Sat, 14 Mar 2009 09:33:39 +0000 (09:33 +0000)
commit5b49f6dc399d611d8d8a10e2e2c922f38e6bb038
treef096af83ad80c8bac6b59c53333d58be80bf0843
parentc4037431e0ee0a46a4b8717ee6de97546143995b
include/coff/
* xcoff.h (XCOFF_ALLOCATED): New flag.

bfd/
* xcofflink.c (xcoff_mark): When walking the relocations,
only mark the target symbol or the target section, not both.
(xcoff_final_definition_p): New function.
(xcoff_keep_symbol_p): Use it to check whether an external XCOFF
symbol is a valid definition of the associated output symbol.
Use XCOFF_ALLOCATED to stop the same hash table entry having
two output symbols.
(bfd_xcoff_size_dynamic_sections): Set XCOFF_ALLOCATED when
keeping a symbol.
(xcoff_link_input_bfd): Use xcoff_final_definition_p.

ld/testsuite/
* ld-powerpc/aix-no-dup-syms-1a.s, ld-powerpc/aix-no-dup-syms-1b.s,
ld-powerpc/aix-no-dup-syms-1.ex, ld-powerpc/aix-no-dup-syms-1.im,
ld-powerpc/aix-no-dup-syms-1-dso.dnd,
ld-powerpc/aix-no-dup-syms-1-dso.drd,
ld-powerpc/aix-no-dup-syms-1-dso.nd,
ld-powerpc/aix-no-dup-syms-1-dso.rd,
ld-powerpc/aix-no-dup-syms-1-rel.nd,
ld-powerpc/aix-no-dup-syms-1-rel.rd: New tests.
* ld-powerpc/aix52.exp: Run them.
16 files changed:
bfd/ChangeLog
bfd/xcofflink.c
include/coff/ChangeLog
include/coff/xcoff.h
ld/testsuite/ChangeLog
ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.dnd [new file with mode: 0644]
ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.drd [new file with mode: 0644]
ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.nd [new file with mode: 0644]
ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.rd [new file with mode: 0644]
ld/testsuite/ld-powerpc/aix-no-dup-syms-1-rel.nd [new file with mode: 0644]
ld/testsuite/ld-powerpc/aix-no-dup-syms-1-rel.rd [new file with mode: 0644]
ld/testsuite/ld-powerpc/aix-no-dup-syms-1.ex [new file with mode: 0644]
ld/testsuite/ld-powerpc/aix-no-dup-syms-1.im [new file with mode: 0644]
ld/testsuite/ld-powerpc/aix-no-dup-syms-1a.s [new file with mode: 0644]
ld/testsuite/ld-powerpc/aix-no-dup-syms-1b.s [new file with mode: 0644]
ld/testsuite/ld-powerpc/aix52.exp