diff options
author | Alan Modra <amodra@gmail.com> | 2011-08-17 00:39:41 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2011-08-17 00:39:41 +0000 |
commit | c77ec7261473e7a12a1af46c585caca4bb597b4f (patch) | |
tree | fe75ecc5e02d7b2bcd737b8ce8bccd8b14259809 /bfd/libbfd.h | |
parent | 142a8c5dcf3f3949d5d2228b894e169ffec28df4 (diff) | |
download | gdb-c77ec7261473e7a12a1af46c585caca4bb597b4f.zip gdb-c77ec7261473e7a12a1af46c585caca4bb597b4f.tar.gz gdb-c77ec7261473e7a12a1af46c585caca4bb597b4f.tar.bz2 |
PR ld/12762
bfd/
* bfd-in.h (struct bfd_section_already_linked): Forward declare.
(_bfd_handle_already_linked): Declare.
* coff-alpha.c (_bfd_ecoff_section_already_linked): Define as
_bfd_coff_section_already_linked.
* coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
* coffcode.h (coff_section_already_linked): Likewise.
* cofflink.c (coff_link_add_symbols): Revert 2011-07-09 changes.
* elf-bfd.h: Likewise.
* libbfd-in.h: Likewise.
* targets.c: Likewise.
* linker.c (bfd_section_already_linked): Likewise.
(bfd_section_already_linked_table_lookup): Likewise.
(bfd_section_already_linked_table_insert): Likewise.
(_bfd_generic_section_already_linked): Likewise. Call
_bfd_handle_already_linked.
(_bfd_handle_already_linked): New function, split out from..
* elflink.c (_bfd_elf_section_already_linked): ..here. Revert
2011-07-09 changes. Avoid unnecessary strcmp when matching
already_linked_list entries. Match plugin linkonce section.
(section_signature): Delete.
* coffgen.c (_bfd_coff_section_already_linked): New function.
* libcoff-in.h (_bfd_coff_section_already_linked): Declare.
* libbfd.h: Regenerate.
* libcoff.h: Regenerate.
* bfd-in2.h: Regenerate.
ld/
* ldlang.c (section_already_linked): Revert 2011-07-09 changes.
* plugin.c: Likewise.
(asymbol_from_plugin_symbol): Create linkonce section for syms
with comdat_key.
Diffstat (limited to 'bfd/libbfd.h')
-rw-r--r-- | bfd/libbfd.h | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 71188dc..200a6fa 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -8,7 +8,7 @@ Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, - 2010 + 2010, 2011 Free Software Foundation, Inc. Written by Cygnus Support. @@ -486,7 +486,7 @@ extern bfd_boolean _bfd_generic_set_section_contents #define _bfd_nolink_bfd_link_split_section \ ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false) #define _bfd_nolink_section_already_linked \ - ((bfd_boolean (*) (bfd *, struct already_linked*, \ + ((bfd_boolean (*) (bfd *, asection *, \ struct bfd_link_info *)) bfd_false) #define _bfd_nolink_bfd_define_common_symbol \ ((bfd_boolean (*) (bfd *, struct bfd_link_info *, \ @@ -608,7 +608,7 @@ extern bfd_boolean _bfd_generic_link_split_section (bfd *, struct bfd_section *); extern bfd_boolean _bfd_generic_section_already_linked - (bfd *, struct already_linked *, struct bfd_link_info *); + (bfd *, asection *, struct bfd_link_info *); /* Generic reloc_link_order processing routine. */ extern bfd_boolean _bfd_generic_reloc_link_order @@ -800,26 +800,16 @@ struct bfd_section_already_linked_hash_entry struct bfd_section_already_linked *entry; }; -struct already_linked -{ - const char *comdat_key; - union - { - asection *sec; - bfd *abfd; - } u; -}; - struct bfd_section_already_linked { struct bfd_section_already_linked *next; - struct already_linked linked; + asection *sec; }; extern struct bfd_section_already_linked_hash_entry * bfd_section_already_linked_table_lookup (const char *); extern bfd_boolean bfd_section_already_linked_table_insert - (struct bfd_section_already_linked_hash_entry *, struct already_linked *); + (struct bfd_section_already_linked_hash_entry *, asection *); extern void bfd_section_already_linked_table_traverse (bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *, void *), void *); |