diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2009-03-14 09:33:39 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2009-03-14 09:33:39 +0000 |
commit | 5b49f6dc399d611d8d8a10e2e2c922f38e6bb038 (patch) | |
tree | f096af83ad80c8bac6b59c53333d58be80bf0843 /include | |
parent | c4037431e0ee0a46a4b8717ee6de97546143995b (diff) | |
download | gdb-5b49f6dc399d611d8d8a10e2e2c922f38e6bb038.zip gdb-5b49f6dc399d611d8d8a10e2e2c922f38e6bb038.tar.gz gdb-5b49f6dc399d611d8d8a10e2e2c922f38e6bb038.tar.bz2 |
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')
-rw-r--r-- | include/coff/ChangeLog | 4 | ||||
-rw-r--r-- | include/coff/xcoff.h | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog index 91118a1..d96ae1c 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 7e32d7a..3c3c8e9 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. */ |