From 07aa5b7d9e446f70a7c18af7c6f39c88311319d3 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sat, 14 Mar 2009 09:33:38 +0000 Subject: 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. --- include/coff/ChangeLog | 4 ++++ include/coff/xcoff.h | 2 ++ 2 files changed, 6 insertions(+) (limited to 'include/coff') diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog index 91118a1a7..d96ae1ca1 100644 --- a/include/coff/ChangeLog +++ b/include/coff/ChangeLog @@ -1,3 +1,7 @@ +2009-03-14 Richard Sandiford + + * xcoff.h (XCOFF_ALLOCATED): New flag. + 2009-03-14 Richard Sandiford * xcoff.h (XCOFF_CALLED, XCOFF_IMPORT): Update comments. diff --git a/include/coff/xcoff.h b/include/coff/xcoff.h index 7e32d7a78..3c3c8e9ea 100644 --- a/include/coff/xcoff.h +++ b/include/coff/xcoff.h @@ -318,6 +318,8 @@ struct xcoff_link_hash_entry #define XCOFF_SYSCALL64 0x00010000 /* Symbol was not explicitly defined by the time it was marked. */ #define XCOFF_WAS_UNDEFINED 0x00020000 +/* We have assigned an output XCOFF entry to this symbol. */ +#define XCOFF_ALLOCATED 0x00040000 /* The XCOFF linker hash table. */ -- cgit v1.2.3