summaryrefslogtreecommitdiff
path: root/include/coff
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2009-03-14 09:33:39 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2009-03-14 09:33:39 +0000
commit5b49f6dc399d611d8d8a10e2e2c922f38e6bb038 (patch)
treef096af83ad80c8bac6b59c53333d58be80bf0843 /include/coff
parentc4037431e0ee0a46a4b8717ee6de97546143995b (diff)
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.
Diffstat (limited to 'include/coff')
-rw-r--r--include/coff/ChangeLog4
-rw-r--r--include/coff/xcoff.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog
index 91118a1a75..d96ae1ca14 100644
--- a/include/coff/ChangeLog
+++ b/include/coff/ChangeLog
@@ -1,5 +1,9 @@
2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
+ * xcoff.h (XCOFF_ALLOCATED): New flag.
+
+2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
+
* xcoff.h (XCOFF_CALLED, XCOFF_IMPORT): Update comments.
(XCOFF_WAS_UNDEFINED): New flag.
(xcoff_link_hash_table): Add an "rtld" field.
diff --git a/include/coff/xcoff.h b/include/coff/xcoff.h
index 7e32d7a780..3c3c8e9ead 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. */