From dbaa2011452c7ce7ca612c6298964452dce179eb Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 24 Apr 2012 05:12:40 +0000 Subject: PR ld/13991 bfd/ * bfd/elf-bfd.h (_bfd_elf_link_just_syms): Define as _bfd_generic_link_just_syms. * bfd/elflink.c (_bfd_elf_link_just_syms): Delete. * bfd/linker.c (_bfd_generic_link_just_syms): Set sec_info_type. * bfd/bfd-in.h (discarded_section): Renamed from elf_discarded_section. * bfd/section.c (SEC_INFO_TYPE_NONE, SEC_INFO_TYPE_STABS, SEC_INFO_TYPE_MERGE, SEC_INFO_TYPE_EH_FRAME, SEC_INFO_TYPE_JUST_SYMS): Renamed from corresponding ELF_INFO_TYPE. * bfd/elf-eh-frame.c, * bfd/elf-m10200.c, * bfd/elf-m10300.c, * bfd/elf.c, * bfd/elf32-arm.c, * bfd/elf32-avr.c, * bfd/elf32-bfin.c, * bfd/elf32-cr16.c, * bfd/elf32-cr16c.c, * bfd/elf32-cris.c, * bfd/elf32-crx.c, * bfd/elf32-d10v.c, * bfd/elf32-epiphany.c, * bfd/elf32-fr30.c, * bfd/elf32-frv.c, * bfd/elf32-h8300.c, * bfd/elf32-hppa.c, * bfd/elf32-i370.c, * bfd/elf32-i386.c, * bfd/elf32-i860.c, * bfd/elf32-ip2k.c, * bfd/elf32-iq2000.c, * bfd/elf32-lm32.c, * bfd/elf32-m32c.c, * bfd/elf32-m32r.c, * bfd/elf32-m68hc1x.c, * bfd/elf32-m68k.c, * bfd/elf32-mcore.c, * bfd/elf32-mep.c, * bfd/elf32-moxie.c, * bfd/elf32-msp430.c, * bfd/elf32-mt.c, * bfd/elf32-openrisc.c, * bfd/elf32-ppc.c, * bfd/elf32-rl78.c, * bfd/elf32-rx.c, * bfd/elf32-s390.c, * bfd/elf32-score.c, * bfd/elf32-score7.c, * bfd/elf32-sh.c, * bfd/elf32-spu.c, * bfd/elf32-tic6x.c, * bfd/elf32-tilepro.c, * bfd/elf32-v850.c, * bfd/elf32-vax.c, * bfd/elf32-xc16x.c, * bfd/elf32-xstormy16.c, * bfd/elf32-xtensa.c, * bfd/elf64-alpha.c, * bfd/elf64-hppa.c, * bfd/elf64-ia64-vms.c, * bfd/elf64-mmix.c, * bfd/elf64-ppc.c, * bfd/elf64-s390.c, * bfd/elf64-sh64.c, * bfd/elf64-x86-64.c, * bfd/elflink.c, * bfd/elfnn-ia64.c, * bfd/elfxx-mips.c, * bfd/elfxx-sparc.c, * bfd/elfxx-tilegx.c, * bfd/reloc.c: Update all references. * bfd/bfd-in2.h: Regenerate. ld/ * ld/ldlang.c (size_input_section): Use sec_info_type rather than usrdata->flags.just_syms. * ld/ldwrite.c (build_link_order): Likewise. * ld/emultempl/hppaelf.em (build_section_lists): Likewise. * ld/emultempl/ppc64elf.em (build_toc_list): Likewise. * ld/emultempl/armelf.em (build_section_lists): Likewise. (after_allocation): Update for renamed sec_info_type value. * ld/emultempl/tic6xdsbt.em: Likewise. --- bfd/ChangeLog | 35 ++++++++++++++++++++++++++++++++ bfd/bfd-in.h | 6 +++--- bfd/bfd-in2.h | 16 +++++++-------- bfd/elf-bfd.h | 3 +-- bfd/elf-eh-frame.c | 14 ++++++------- bfd/elf-m10200.c | 4 ++-- bfd/elf-m10300.c | 4 ++-- bfd/elf.c | 10 +++++----- bfd/elf32-arm.c | 6 +++--- bfd/elf32-avr.c | 5 +++-- bfd/elf32-bfin.c | 8 ++++---- bfd/elf32-cr16.c | 2 +- bfd/elf32-cr16c.c | 4 ++-- bfd/elf32-cris.c | 2 +- bfd/elf32-crx.c | 4 ++-- bfd/elf32-d10v.c | 4 ++-- bfd/elf32-epiphany.c | 4 ++-- bfd/elf32-fr30.c | 5 +++-- bfd/elf32-frv.c | 6 +++--- bfd/elf32-h8300.c | 4 ++-- bfd/elf32-hppa.c | 2 +- bfd/elf32-i370.c | 2 +- bfd/elf32-i386.c | 4 ++-- bfd/elf32-i860.c | 5 +++-- bfd/elf32-ip2k.c | 4 ++-- bfd/elf32-iq2000.c | 4 ++-- bfd/elf32-lm32.c | 6 +++--- bfd/elf32-m32c.c | 4 ++-- bfd/elf32-m32r.c | 2 +- bfd/elf32-m68hc1x.c | 2 +- bfd/elf32-m68k.c | 2 +- bfd/elf32-mcore.c | 4 ++-- bfd/elf32-mep.c | 4 ++-- bfd/elf32-moxie.c | 4 ++-- bfd/elf32-msp430.c | 4 ++-- bfd/elf32-mt.c | 4 ++-- bfd/elf32-openrisc.c | 4 ++-- bfd/elf32-ppc.c | 6 +++--- bfd/elf32-rl78.c | 6 +++--- bfd/elf32-rx.c | 6 +++--- bfd/elf32-s390.c | 2 +- bfd/elf32-score.c | 4 ++-- bfd/elf32-score7.c | 4 ++-- bfd/elf32-sh.c | 4 ++-- bfd/elf32-spu.c | 2 +- bfd/elf32-tic6x.c | 2 +- bfd/elf32-tilepro.c | 2 +- bfd/elf32-v850.c | 5 +++-- bfd/elf32-vax.c | 2 +- bfd/elf32-xc16x.c | 4 ++-- bfd/elf32-xstormy16.c | 4 ++-- bfd/elf32-xtensa.c | 10 +++++----- bfd/elf64-alpha.c | 11 +++++----- bfd/elf64-hppa.c | 5 +++-- bfd/elf64-ia64-vms.c | 6 +++--- bfd/elf64-mmix.c | 5 +++-- bfd/elf64-ppc.c | 20 +++++++++---------- bfd/elf64-s390.c | 2 +- bfd/elf64-sh64.c | 4 ++-- bfd/elf64-x86-64.c | 5 ++--- bfd/elflink.c | 51 +++++++++++++++++++---------------------------- bfd/elfnn-ia64.c | 6 +++--- bfd/elfxx-mips.c | 4 ++-- bfd/elfxx-sparc.c | 2 +- bfd/elfxx-tilegx.c | 2 +- bfd/linker.c | 3 ++- bfd/reloc.c | 5 +++-- bfd/section.c | 13 ++++++------ ld/ChangeLog | 11 ++++++++++ ld/emultempl/armelf.em | 4 ++-- ld/emultempl/hppaelf.em | 2 +- ld/emultempl/ppc64elf.em | 2 +- ld/emultempl/tic6xdsbt.em | 4 ++-- ld/ldlang.c | 2 +- ld/ldwrite.c | 4 ++-- 75 files changed, 243 insertions(+), 200 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 2f71a98..26c7a6c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,38 @@ +2012-04-24 Alan Modra + + PR ld/13991 + * bfd/elf-bfd.h (_bfd_elf_link_just_syms): Define as + _bfd_generic_link_just_syms. + * bfd/elflink.c (_bfd_elf_link_just_syms): Delete. + * bfd/linker.c (_bfd_generic_link_just_syms): Set sec_info_type. + + * bfd/bfd-in.h (discarded_section): Renamed from elf_discarded_section. + * bfd/section.c (SEC_INFO_TYPE_NONE, SEC_INFO_TYPE_STABS, + SEC_INFO_TYPE_MERGE, SEC_INFO_TYPE_EH_FRAME, + SEC_INFO_TYPE_JUST_SYMS): Renamed from corresponding ELF_INFO_TYPE. + * bfd/elf-eh-frame.c, * bfd/elf-m10200.c, * bfd/elf-m10300.c, + * bfd/elf.c, * bfd/elf32-arm.c, * bfd/elf32-avr.c, * bfd/elf32-bfin.c, + * bfd/elf32-cr16.c, * bfd/elf32-cr16c.c, * bfd/elf32-cris.c, + * bfd/elf32-crx.c, * bfd/elf32-d10v.c, * bfd/elf32-epiphany.c, + * bfd/elf32-fr30.c, * bfd/elf32-frv.c, * bfd/elf32-h8300.c, + * bfd/elf32-hppa.c, * bfd/elf32-i370.c, * bfd/elf32-i386.c, + * bfd/elf32-i860.c, * bfd/elf32-ip2k.c, * bfd/elf32-iq2000.c, + * bfd/elf32-lm32.c, * bfd/elf32-m32c.c, * bfd/elf32-m32r.c, + * bfd/elf32-m68hc1x.c, * bfd/elf32-m68k.c, * bfd/elf32-mcore.c, + * bfd/elf32-mep.c, * bfd/elf32-moxie.c, * bfd/elf32-msp430.c, + * bfd/elf32-mt.c, * bfd/elf32-openrisc.c, * bfd/elf32-ppc.c, + * bfd/elf32-rl78.c, * bfd/elf32-rx.c, * bfd/elf32-s390.c, + * bfd/elf32-score.c, * bfd/elf32-score7.c, * bfd/elf32-sh.c, + * bfd/elf32-spu.c, * bfd/elf32-tic6x.c, * bfd/elf32-tilepro.c, + * bfd/elf32-v850.c, * bfd/elf32-vax.c, * bfd/elf32-xc16x.c, + * bfd/elf32-xstormy16.c, * bfd/elf32-xtensa.c, * bfd/elf64-alpha.c, + * bfd/elf64-hppa.c, * bfd/elf64-ia64-vms.c, * bfd/elf64-mmix.c, + * bfd/elf64-ppc.c, * bfd/elf64-s390.c, * bfd/elf64-sh64.c, + * bfd/elf64-x86-64.c, * bfd/elflink.c, * bfd/elfnn-ia64.c, + * bfd/elfxx-mips.c, * bfd/elfxx-sparc.c, * bfd/elfxx-tilegx.c, + * bfd/reloc.c: Update all references. + * bfd/bfd-in2.h: Regenerate. + 2012-04-20 Andreas Krebbel * elf32-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default. diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h index d50f7e9..bff5f34 100644 --- a/bfd/bfd-in.h +++ b/bfd/bfd-in.h @@ -297,11 +297,11 @@ typedef struct bfd_section *sec_ptr; ? (sec)->rawsize : (sec)->size) / bfd_octets_per_byte (bfd)) /* Return TRUE if input section SEC has been discarded. */ -#define elf_discarded_section(sec) \ +#define discarded_section(sec) \ (!bfd_is_abs_section (sec) \ && bfd_is_abs_section ((sec)->output_section) \ - && (sec)->sec_info_type != ELF_INFO_TYPE_MERGE \ - && (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS) + && (sec)->sec_info_type != SEC_INFO_TYPE_MERGE \ + && (sec)->sec_info_type != SEC_INFO_TYPE_JUST_SYMS) typedef enum bfd_print_symbol { diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 859f825..c5d19dc 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -304,11 +304,11 @@ typedef struct bfd_section *sec_ptr; ? (sec)->rawsize : (sec)->size) / bfd_octets_per_byte (bfd)) /* Return TRUE if input section SEC has been discarded. */ -#define elf_discarded_section(sec) \ +#define discarded_section(sec) \ (!bfd_is_abs_section (sec) \ && bfd_is_abs_section ((sec)->output_section) \ - && (sec)->sec_info_type != ELF_INFO_TYPE_MERGE \ - && (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS) + && (sec)->sec_info_type != SEC_INFO_TYPE_MERGE \ + && (sec)->sec_info_type != SEC_INFO_TYPE_JUST_SYMS) typedef enum bfd_print_symbol { @@ -1378,11 +1378,11 @@ typedef struct bfd_section /* Type of sec_info information. */ unsigned int sec_info_type:3; -#define ELF_INFO_TYPE_NONE 0 -#define ELF_INFO_TYPE_STABS 1 -#define ELF_INFO_TYPE_MERGE 2 -#define ELF_INFO_TYPE_EH_FRAME 3 -#define ELF_INFO_TYPE_JUST_SYMS 4 +#define SEC_INFO_TYPE_NONE 0 +#define SEC_INFO_TYPE_STABS 1 +#define SEC_INFO_TYPE_MERGE 2 +#define SEC_INFO_TYPE_EH_FRAME 3 +#define SEC_INFO_TYPE_JUST_SYMS 4 /* Nonzero if this section uses RELA relocations, rather than REL. */ unsigned int use_rela_p:1; diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index db414e9..4821eaf 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1812,8 +1812,7 @@ extern void bfd_elf_set_group_contents (bfd *, asection *, void *); extern asection *_bfd_elf_check_kept_section (asection *, struct bfd_link_info *); -extern void _bfd_elf_link_just_syms - (asection *, struct bfd_link_info *); +#define _bfd_elf_link_just_syms _bfd_generic_link_just_syms extern void _bfd_elf_copy_link_hash_symbol_type (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *); extern bfd_boolean _bfd_elf_size_group_sections diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c index 54142b2..8ec34ab 100644 --- a/bfd/elf-eh-frame.c +++ b/bfd/elf-eh-frame.c @@ -1,6 +1,6 @@ /* .eh_frame section optimization. - Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 - Free Software Foundation, Inc. + Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, + 2012 Free Software Foundation, Inc. Written by Jakub Jelinek . This file is part of BFD, the Binary File Descriptor library. @@ -491,7 +491,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info, return; if (sec->size == 0 - || sec->sec_info_type != ELF_INFO_TYPE_NONE) + || sec->sec_info_type != SEC_INFO_TYPE_NONE) { /* This file does not contain .eh_frame information. */ return; @@ -904,7 +904,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info, BFD_ASSERT (cie_count == num_cies); elf_section_data (sec)->sec_info = sec_info; - sec->sec_info_type = ELF_INFO_TYPE_EH_FRAME; + sec->sec_info_type = SEC_INFO_TYPE_EH_FRAME; if (hdr_info->merge_cies) { sec_info->cies = local_cies; @@ -1137,7 +1137,7 @@ _bfd_elf_discard_section_eh_frame struct eh_frame_hdr_info *hdr_info; unsigned int ptr_size, offset; - if (sec->sec_info_type != ELF_INFO_TYPE_EH_FRAME) + if (sec->sec_info_type != SEC_INFO_TYPE_EH_FRAME) return FALSE; sec_info = (struct eh_frame_sec_info *) elf_section_data (sec)->sec_info; @@ -1307,7 +1307,7 @@ _bfd_elf_eh_frame_section_offset (bfd *output_bfd ATTRIBUTE_UNUSED, struct eh_frame_sec_info *sec_info; unsigned int lo, hi, mid; - if (sec->sec_info_type != ELF_INFO_TYPE_EH_FRAME) + if (sec->sec_info_type != SEC_INFO_TYPE_EH_FRAME) return offset; sec_info = (struct eh_frame_sec_info *) elf_section_data (sec)->sec_info; @@ -1395,7 +1395,7 @@ _bfd_elf_write_section_eh_frame (bfd *abfd, unsigned int ptr_size; struct eh_cie_fde *ent; - if (sec->sec_info_type != ELF_INFO_TYPE_EH_FRAME) + if (sec->sec_info_type != SEC_INFO_TYPE_EH_FRAME) /* FIXME: octets_per_byte. */ return bfd_set_section_contents (abfd, sec->output_section, contents, sec->output_offset, sec->size); diff --git a/bfd/elf-m10200.c b/bfd/elf-m10200.c index a38f4db..4c6564b 100644 --- a/bfd/elf-m10200.c +++ b/bfd/elf-m10200.c @@ -1,6 +1,6 @@ /* Matsushita 10200 specific support for 32-bit ELF Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, - 2007, 2010 + 2007, 2010, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -401,7 +401,7 @@ mn10200_elf_relocate_section (output_bfd, info, input_bfd, input_section, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c index 428de4c..adbb009 100644 --- a/bfd/elf-m10300.c +++ b/bfd/elf-m10300.c @@ -2115,7 +2115,7 @@ mn10300_elf_relocate_section (bfd *output_bfd, h->root.root.root.string); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); @@ -3390,7 +3390,7 @@ mn10300_elf_relax_section (bfd *abfd, isym->st_name); if ((sym_sec->flags & SEC_MERGE) - && sym_sec->sec_info_type == ELF_INFO_TYPE_MERGE) + && sym_sec->sec_info_type == SEC_INFO_TYPE_MERGE) { symval = isym->st_value; diff --git a/bfd/elf.c b/bfd/elf.c index 7faa8f6..d040d14 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -3071,7 +3071,7 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info) if (link_info != NULL) { /* Check discarded linkonce section. */ - if (elf_discarded_section (s)) + if (discarded_section (s)) { asection *kept; (*_bfd_error_handler) @@ -9451,7 +9451,7 @@ _bfd_elf_rela_local_sym (bfd *abfd, + sym->st_value); if ((sec->flags & SEC_MERGE) && ELF_ST_TYPE (sym->st_info) == STT_SECTION - && sec->sec_info_type == ELF_INFO_TYPE_MERGE) + && sec->sec_info_type == SEC_INFO_TYPE_MERGE) { rel->r_addend = _bfd_merged_section_offset (abfd, psec, @@ -9482,7 +9482,7 @@ _bfd_elf_rel_local_sym (bfd *abfd, { asection *sec = *psec; - if (sec->sec_info_type != ELF_INFO_TYPE_MERGE) + if (sec->sec_info_type != SEC_INFO_TYPE_MERGE) return sym->st_value + addend; return _bfd_merged_section_offset (abfd, psec, @@ -9498,10 +9498,10 @@ _bfd_elf_section_offset (bfd *abfd, { switch (sec->sec_info_type) { - case ELF_INFO_TYPE_STABS: + case SEC_INFO_TYPE_STABS: return _bfd_stab_section_offset (sec, elf_section_data (sec)->sec_info, offset); - case ELF_INFO_TYPE_EH_FRAME: + case SEC_INFO_TYPE_EH_FRAME: return _bfd_elf_eh_frame_section_offset (abfd, info, sec, offset); default: if ((sec->flags & SEC_ELF_REVERSE_COPY) != 0) diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index f5b5c4d..629e1f2 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -4611,7 +4611,7 @@ cortex_a8_erratum_scan (bfd *input_bfd, if (elf_section_type (section) != SHT_PROGBITS || (elf_section_flags (section) & SHF_EXECINSTR) == 0 || (section->flags & SEC_EXCLUDE) != 0 - || (section->sec_info_type == ELF_INFO_TYPE_JUST_SYMS) + || (section->sec_info_type == SEC_INFO_TYPE_JUST_SYMS) || (section->output_section == bfd_abs_section_ptr)) continue; @@ -6682,7 +6682,7 @@ bfd_elf32_arm_vfp11_erratum_scan (bfd *abfd, struct bfd_link_info *link_info) if (elf_section_type (sec) != SHT_PROGBITS || (elf_section_flags (sec) & SHF_EXECINSTR) == 0 || (sec->flags & SEC_EXCLUDE) != 0 - || sec->sec_info_type == ELF_INFO_TYPE_JUST_SYMS + || sec->sec_info_type == SEC_INFO_TYPE_JUST_SYMS || sec->output_section == bfd_abs_section_ptr || strcmp (sec->name, VFP11_ERRATUM_VENEER_SECTION_NAME) == 0) continue; @@ -10481,7 +10481,7 @@ elf32_arm_relocate_section (bfd * output_bfd, sym_type = h->type; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c index 2a10162..41ab3f6 100644 --- a/bfd/elf32-avr.c +++ b/bfd/elf32-avr.c @@ -1,6 +1,7 @@ /* AVR-specific support for 32-bit ELF Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, - 2010, 2011 Free Software Foundation, Inc. + 2010, 2011, 2012 + Free Software Foundation, Inc. Contributed by Denis Chertykov This file is part of BFD, the Binary File Descriptor library. @@ -1189,7 +1190,7 @@ elf32_avr_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c index f88e5d4..e5d9401 100644 --- a/bfd/elf32-bfin.c +++ b/bfd/elf32-bfin.c @@ -1,5 +1,5 @@ /* ADI Blackfin BFD support for 32-bit ELF. - Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011 + Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -1444,7 +1444,7 @@ bfin_relocate_section (bfd * output_bfd, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); @@ -2665,7 +2665,7 @@ bfinfdpic_relocate_section (bfd * output_bfd, osec = sec; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); @@ -4433,7 +4433,7 @@ bfinfdpic_elf_discard_info (bfd *ibfd, /* Account for relaxation of .eh_frame section. */ for (s = ibfd->sections; s; s = s->next) - if (s->sec_info_type == ELF_INFO_TYPE_EH_FRAME) + if (s->sec_info_type == SEC_INFO_TYPE_EH_FRAME) { if (!_bfinfdpic_check_discarded_relocs (ibfd, s, info, &changed)) return FALSE; diff --git a/bfd/elf32-cr16.c b/bfd/elf32-cr16.c index 1f2fb49..a162191 100644 --- a/bfd/elf32-cr16.c +++ b/bfd/elf32-cr16.c @@ -1431,7 +1431,7 @@ elf32_cr16_relocate_section (bfd *output_bfd, struct bfd_link_info *info, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-cr16c.c b/bfd/elf32-cr16c.c index ca2d7cb..9dcbdde 100644 --- a/bfd/elf32-cr16c.c +++ b/bfd/elf32-cr16c.c @@ -1,5 +1,5 @@ /* BFD back-end for National Semiconductor's CR16C ELF - Copyright 2004, 2005, 2006, 2007, 2009, 2010 + Copyright 2004, 2005, 2006, 2007, 2009, 2010, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -723,7 +723,7 @@ elf32_cr16c_relocate_section (bfd *output_bfd, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index c0da359..370bf1a 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -1184,7 +1184,7 @@ cris_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, } } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-crx.c b/bfd/elf32-crx.c index d48932d..d36c0ea 100644 --- a/bfd/elf32-crx.c +++ b/bfd/elf32-crx.c @@ -1,5 +1,5 @@ /* BFD back-end for National Semiconductor's CRX ELF - Copyright 2004, 2005, 2006, 2007, 2009, 2010 + Copyright 2004, 2005, 2006, 2007, 2009, 2010, 2012 Free Software Foundation, Inc. Written by Tomer Levi, NSC, Israel. @@ -873,7 +873,7 @@ elf32_crx_relocate_section (bfd *output_bfd, struct bfd_link_info *info, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-d10v.c b/bfd/elf32-d10v.c index 7d65395..e0e93c8 100644 --- a/bfd/elf32-d10v.c +++ b/bfd/elf32-d10v.c @@ -1,6 +1,6 @@ /* D10V-specific support for 32-bit ELF Copyright 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. + 2007, 2010, 2012 Free Software Foundation, Inc. Contributed by Martin Hunt (hunt@cygnus.com). This file is part of BFD, the Binary File Descriptor library. @@ -463,7 +463,7 @@ elf32_d10v_relocate_section (bfd *output_bfd, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-epiphany.c b/bfd/elf32-epiphany.c index d5e61a2..7330204 100644 --- a/bfd/elf32-epiphany.c +++ b/bfd/elf32-epiphany.c @@ -1,5 +1,5 @@ /* Adapteva epiphany specific support for 32-bit ELF - Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2011 + Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2011, 2012 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. @@ -524,7 +524,7 @@ epiphany_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-fr30.c b/bfd/elf32-fr30.c index 97b0d29..462e51b 100644 --- a/bfd/elf32-fr30.c +++ b/bfd/elf32-fr30.c @@ -1,5 +1,6 @@ /* FR30-specific support for 32-bit ELF. - Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, + 2010, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -577,7 +578,7 @@ fr30_elf_relocate_section (output_bfd, info, input_bfd, input_section, name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c index e4e7f24..57de3c0 100644 --- a/bfd/elf32-frv.c +++ b/bfd/elf32-frv.c @@ -1,5 +1,5 @@ /* FRV-specific support for 32-bit ELF. - Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -2812,7 +2812,7 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section, name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); @@ -5681,7 +5681,7 @@ frvfdpic_elf_discard_info (bfd *ibfd, /* Account for relaxation of .eh_frame section. */ for (s = ibfd->sections; s; s = s->next) - if (s->sec_info_type == ELF_INFO_TYPE_EH_FRAME) + if (s->sec_info_type == SEC_INFO_TYPE_EH_FRAME) { if (!_frvfdpic_check_discarded_relocs (ibfd, s, info, &changed)) return FALSE; diff --git a/bfd/elf32-h8300.c b/bfd/elf32-h8300.c index 95d3983..28fab32 100644 --- a/bfd/elf32-h8300.c +++ b/bfd/elf32-h8300.c @@ -1,6 +1,6 @@ /* BFD back-end for Renesas H8/300 ELF binaries. Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2009, 2010 Free Software Foundation, Inc. + 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -460,7 +460,7 @@ elf32_h8_relocate_section (bfd *output_bfd, struct bfd_link_info *info, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 10ec4f5..82a0db6 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -3734,7 +3734,7 @@ elf32_hppa_relocate_section (bfd *output_bfd, hh = hppa_elf_hash_entry (eh); } - if (sym_sec != NULL && elf_discarded_section (sym_sec)) + if (sym_sec != NULL && discarded_section (sym_sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rela, relend, elf_hppa_howto_table + r_type, diff --git a/bfd/elf32-i370.c b/bfd/elf32-i370.c index 5f713c7..2022aaf 100644 --- a/bfd/elf32-i370.c +++ b/bfd/elf32-i370.c @@ -1131,7 +1131,7 @@ i370_elf_relocate_section (bfd *output_bfd, } } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index d5a2614..832ad89 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -3190,7 +3190,7 @@ elf_i386_relocate_section (bfd *output_bfd, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); @@ -4866,7 +4866,7 @@ elf_i386_finish_dynamic_sections (bfd *output_bfd, + PLT_FDE_START_OFFSET); } if (htab->plt_eh_frame->sec_info_type - == ELF_INFO_TYPE_EH_FRAME) + == SEC_INFO_TYPE_EH_FRAME) { if (! _bfd_elf_write_section_eh_frame (output_bfd, info, htab->plt_eh_frame, diff --git a/bfd/elf32-i860.c b/bfd/elf32-i860.c index 00c8ca7..b890384 100644 --- a/bfd/elf32-i860.c +++ b/bfd/elf32-i860.c @@ -1,5 +1,6 @@ /* Intel i860 specific support for 32-bit ELF. - Copyright 1993, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007 + Copyright 1993, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, + 2010, 2011, 2012 Free Software Foundation, Inc. Full i860 support contributed by Jason Eckhardt . @@ -1128,7 +1129,7 @@ elf32_i860_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-ip2k.c b/bfd/elf32-ip2k.c index 0a251b8..fe94615 100644 --- a/bfd/elf32-ip2k.c +++ b/bfd/elf32-ip2k.c @@ -1,5 +1,5 @@ /* Ubicom IP2xxx specific support for 32-bit ELF - Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 + Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -1436,7 +1436,7 @@ ip2k_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-iq2000.c b/bfd/elf32-iq2000.c index 63ef3dc..fd3b263 100644 --- a/bfd/elf32-iq2000.c +++ b/bfd/elf32-iq2000.c @@ -1,5 +1,5 @@ /* IQ2000-specific support for 32-bit ELF. - Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 + Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -633,7 +633,7 @@ iq2000_elf_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED, name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-lm32.c b/bfd/elf32-lm32.c index 667b01c..bd560e1 100644 --- a/bfd/elf32-lm32.c +++ b/bfd/elf32-lm32.c @@ -893,7 +893,7 @@ lm32_elf_relocate_section (bfd *output_bfd, name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); @@ -2365,7 +2365,7 @@ lm32_elf_size_dynamic_sections (bfd *output_bfd, /* Don't generate entries for weak symbols. */ if (!h || (h && h->root.type != bfd_link_hash_undefweak)) { - if (!elf_discarded_section (s) && !((bfd_get_section_flags (ibfd, s) & SEC_ALLOC) == 0)) + if (!discarded_section (s) && !((bfd_get_section_flags (ibfd, s) & SEC_ALLOC) == 0)) { switch (ELF32_R_TYPE (internal_relocs->r_info)) { @@ -2387,7 +2387,7 @@ lm32_elf_size_dynamic_sections (bfd *output_bfd, if (!strcmp (current->name, h->root.root.string)) break; } - if (!current && !elf_discarded_section (s) && (bfd_get_section_flags (ibfd, s) & SEC_ALLOC)) + if (!current && !discarded_section (s) && (bfd_get_section_flags (ibfd, s) & SEC_ALLOC)) { /* Will this have an entry in the GOT. */ if (ELF32_R_TYPE (internal_relocs->r_info) == R_LM32_16_GOT) diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c index cf7ad99..84cd6d3 100644 --- a/bfd/elf32-m32c.c +++ b/bfd/elf32-m32c.c @@ -1,5 +1,5 @@ /* M16C/M32C specific support for 32-bit ELF. - Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 + Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -434,7 +434,7 @@ m32c_elf_relocate_section } } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c index 044e328..7ab7b60 100644 --- a/bfd/elf32-m32r.c +++ b/bfd/elf32-m32r.c @@ -2613,7 +2613,7 @@ m32r_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, } } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-m68hc1x.c b/bfd/elf32-m68hc1x.c index e1da8b2..f1d4586 100644 --- a/bfd/elf32-m68hc1x.c +++ b/bfd/elf32-m68hc1x.c @@ -984,7 +984,7 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, is_far = (h && (h->other & STO_M68HC12_FAR)); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index 91ae2df..47dece2 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -3710,7 +3710,7 @@ elf_m68k_relocate_section (output_bfd, info, input_bfd, input_section, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-mcore.c b/bfd/elf32-mcore.c index 31cc095..c0769a8 100644 --- a/bfd/elf32-mcore.c +++ b/bfd/elf32-mcore.c @@ -1,6 +1,6 @@ /* Motorola MCore specific support for 32-bit ELF Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2011 Free Software Foundation, Inc. + 2007, 2011, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -466,7 +466,7 @@ mcore_elf_relocate_section (bfd * output_bfd, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-mep.c b/bfd/elf32-mep.c index 6fecb25..9c53f3d 100644 --- a/bfd/elf32-mep.c +++ b/bfd/elf32-mep.c @@ -1,6 +1,6 @@ /* MeP-specific support for 32-bit ELF. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, - 2010, 2011 Free Software Foundation, Inc. + 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -500,7 +500,7 @@ mep_elf_relocate_section name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-moxie.c b/bfd/elf32-moxie.c index 8463599..bc1d4c7 100644 --- a/bfd/elf32-moxie.c +++ b/bfd/elf32-moxie.c @@ -1,5 +1,5 @@ /* moxie-specific support for 32-bit ELF. - Copyright 2009, 2010 Free Software Foundation, Inc. + Copyright 2009, 2010, 2012 Free Software Foundation, Inc. Copied from elf32-fr30.c which is.. Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 @@ -250,7 +250,7 @@ moxie_elf_relocate_section (bfd *output_bfd, name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c index 9a5fb2a..c79c474 100644 --- a/bfd/elf32-msp430.c +++ b/bfd/elf32-msp430.c @@ -1,5 +1,5 @@ /* MSP430-specific support for 32-bit ELF - Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2010 + Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2012 Free Software Foundation, Inc. Contributed by Dmitry Diky @@ -454,7 +454,7 @@ elf32_msp430_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-mt.c b/bfd/elf32-mt.c index 1be5d00..7d18774 100644 --- a/bfd/elf32-mt.c +++ b/bfd/elf32-mt.c @@ -1,5 +1,5 @@ /* Morpho Technologies MT specific support for 32-bit ELF - Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2011 + Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2011, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -354,7 +354,7 @@ mt_elf_relocate_section name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-openrisc.c b/bfd/elf32-openrisc.c index ada738e..1c9e14a 100644 --- a/bfd/elf32-openrisc.c +++ b/bfd/elf32-openrisc.c @@ -1,5 +1,5 @@ /* OpenRISC-specific support for 32-bit ELF. - Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2012 Free Software Foundation, Inc. Contributed by Johan Rydberg, jrydberg@opencores.org @@ -373,7 +373,7 @@ openrisc_elf_relocate_section (bfd *output_bfd, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 3125c09..ca6df26 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -6224,7 +6224,7 @@ ppc_elf_relax_section (bfd *abfd, attribute for a code section, and we are only looking at branches. However, implement it correctly here as a reference for other target relax_section functions. */ - if (0 && tsec->sec_info_type == ELF_INFO_TYPE_MERGE) + if (0 && tsec->sec_info_type == SEC_INFO_TYPE_MERGE) { /* At this stage in linking, no SEC_MERGE symbol has been adjusted, so all references to such symbols need to be @@ -6879,7 +6879,7 @@ ppc_elf_relocate_section (bfd *output_bfd, sym_name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) { /* For relocs against symbols from removed linkonce sections, or sections discarded by a linker script, we just want the @@ -9049,7 +9049,7 @@ ppc_elf_finish_dynamic_sections (bfd *output_bfd, BFD_ASSERT ((bfd_vma) ((p + 3 - htab->glink_eh_frame->contents) & -4) == htab->glink_eh_frame->size); - if (htab->glink_eh_frame->sec_info_type == ELF_INFO_TYPE_EH_FRAME + if (htab->glink_eh_frame->sec_info_type == SEC_INFO_TYPE_EH_FRAME && !_bfd_elf_write_section_eh_frame (output_bfd, info, htab->glink_eh_frame, htab->glink_eh_frame->contents)) diff --git a/bfd/elf32-rl78.c b/bfd/elf32-rl78.c index 9cc3697..2806cd3 100644 --- a/bfd/elf32-rl78.c +++ b/bfd/elf32-rl78.c @@ -1,5 +1,5 @@ /* Renesas RL78 specific support for 32-bit ELF. - Copyright (C) 2011 + Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -471,7 +471,7 @@ rl78_elf_relocate_section name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); @@ -1732,7 +1732,7 @@ rl78_offset_for_reloc (bfd * abfd, if (ssec) { if ((ssec->flags & SEC_MERGE) - && ssec->sec_info_type == ELF_INFO_TYPE_MERGE) + && ssec->sec_info_type == SEC_INFO_TYPE_MERGE) symval = _bfd_merged_section_offset (abfd, & ssec, elf_section_data (ssec)->sec_info, symval); diff --git a/bfd/elf32-rx.c b/bfd/elf32-rx.c index 23e9a74..942d4e0 100644 --- a/bfd/elf32-rx.c +++ b/bfd/elf32-rx.c @@ -1,5 +1,5 @@ /* Renesas RX specific support for 32-bit ELF. - Copyright (C) 2008, 2009, 2010, 2011 + Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -521,7 +521,7 @@ rx_elf_relocate_section name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); @@ -1653,7 +1653,7 @@ rx_offset_for_reloc (bfd * abfd, if (ssec) { if ((ssec->flags & SEC_MERGE) - && ssec->sec_info_type == ELF_INFO_TYPE_MERGE) + && ssec->sec_info_type == SEC_INFO_TYPE_MERGE) symval = _bfd_merged_section_offset (abfd, & ssec, elf_section_data (ssec)->sec_info, symval); diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index 0d64f0d..4b2b380 100644 --- a/bfd/elf32-s390.c +++ b/bfd/elf32-s390.c @@ -2300,7 +2300,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-score.c b/bfd/elf32-score.c index b437624..bb94541 100644 --- a/bfd/elf32-score.c +++ b/bfd/elf32-score.c @@ -1,5 +1,5 @@ /* 32-bit ELF support for S+core. - Copyright 2006, 2007, 2008, 2009, 2010, 2011 + Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. Contributed by Brain.lin (brain.lin@sunplusct.com) @@ -2672,7 +2672,7 @@ s3_bfd_score_elf_relocate_section (bfd *output_bfd, } } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-score7.c b/bfd/elf32-score7.c index 3e98bfc..b0eb56c 100644 --- a/bfd/elf32-score7.c +++ b/bfd/elf32-score7.c @@ -1,5 +1,5 @@ /* 32-bit ELF support for S+core. - Copyright 2009, 2010, 2011 Free Software Foundation, Inc. + Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc. Contributed by Brain.lin (brain.lin@sunplusct.com) Mei Ligang (ligang@sunnorth.com.cn) @@ -2443,7 +2443,7 @@ s7_bfd_score_elf_relocate_section (bfd *output_bfd, } } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index abe837d..2ce0875 100644 --- a/bfd/elf32-sh.c +++ b/bfd/elf32-sh.c @@ -4048,7 +4048,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, _("Unexpected STO_SH5_ISA32 on local symbol is not handled"), input_bfd, input_section, rel->r_offset)); - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) /* Handled below. */ ; else if (info->relocatable) @@ -4240,7 +4240,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, } } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c index ab13b7b..f5bc3ec 100644 --- a/bfd/elf32-spu.c +++ b/bfd/elf32-spu.c @@ -4896,7 +4896,7 @@ spu_elf_relocate_section (bfd *output_bfd, sym_name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c index 8abfdd0..4d7f923 100644 --- a/bfd/elf32-tic6x.c +++ b/bfd/elf32-tic6x.c @@ -2327,7 +2327,7 @@ elf32_tic6x_relocate_section (bfd *output_bfd, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-tilepro.c b/bfd/elf32-tilepro.c index a907342..23073c1 100644 --- a/bfd/elf32-tilepro.c +++ b/bfd/elf32-tilepro.c @@ -2874,7 +2874,7 @@ tilepro_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, } } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c index 9e6f77d..236a0b2 100644 --- a/bfd/elf32-v850.c +++ b/bfd/elf32-v850.c @@ -1,6 +1,7 @@ /* V850-specific support for 32-bit ELF Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, - 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. + 2006, 2007, 2008, 2009, 2010, 2011, 2012 + Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -2093,7 +2094,7 @@ v850_elf_relocate_section (bfd *output_bfd, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c index 2908df4..f1b5d76 100644 --- a/bfd/elf32-vax.c +++ b/bfd/elf32-vax.c @@ -1443,7 +1443,7 @@ elf_vax_relocate_section (bfd *output_bfd, relocation = 0; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-xc16x.c b/bfd/elf32-xc16x.c index 11d9840..dc8cab5 100644 --- a/bfd/elf32-xc16x.c +++ b/bfd/elf32-xc16x.c @@ -1,5 +1,5 @@ /* Infineon XC16X-specific support for 16-bit ELF. - Copyright 2006, 2007, 2009, 2010 Free Software Foundation, Inc. + Copyright 2006, 2007, 2009, 2010, 2012 Free Software Foundation, Inc. Contributed by KPIT Cummins Infosystems This file is part of BFD, the Binary File Descriptor library. @@ -381,7 +381,7 @@ elf32_xc16x_relocate_section (bfd *output_bfd, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) { /* For relocs against symbols from removed linkonce sections, or sections discarded by a linker script, we just want the diff --git a/bfd/elf32-xstormy16.c b/bfd/elf32-xstormy16.c index 6141783..57445ba 100644 --- a/bfd/elf32-xstormy16.c +++ b/bfd/elf32-xstormy16.c @@ -1,5 +1,5 @@ /* Xstormy16-specific support for 32-bit ELF. - Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2011 + Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -825,7 +825,7 @@ xstormy16_elf_relocate_section (bfd * output_bfd ATTRIBUTE_UNU unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c index 877ab6f..cfbdff0 100644 --- a/bfd/elf32-xtensa.c +++ b/bfd/elf32-xtensa.c @@ -1,5 +1,5 @@ /* Xtensa-specific support for 32-bit ELF. - Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -1712,7 +1712,7 @@ elf_xtensa_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, continue; for (s = abfd->sections; s != NULL; s = s->next) { - if (! elf_discarded_section (s) + if (! discarded_section (s) && xtensa_is_littable_section (s) && s != spltlittbl) sgotloc->size += s->size; @@ -2656,7 +2656,7 @@ elf_xtensa_relocate_section (bfd *output_bfd, sym_type = h->type; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); @@ -8962,9 +8962,9 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) that here and adjust things accordingly. */ if (! elf_xtensa_ignore_discarded_relocs (sec) && elf_xtensa_action_discarded (sec) == PRETEND - && sec->sec_info_type != ELF_INFO_TYPE_STABS + && sec->sec_info_type != SEC_INFO_TYPE_STABS && target_sec != NULL - && elf_discarded_section (target_sec)) + && discarded_section (target_sec)) { /* It would be natural to call _bfd_elf_check_kept_section here, but it's not exported from elflink.c. It's also a diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index 94ea685..495b601 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -1,6 +1,7 @@ /* Alpha specific support for 64-bit ELF Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, - 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. + 2006, 2007, 2008, 2009, 2010, 2011, 2012 + Free Software Foundation, Inc. Contributed by Richard Henderson . This file is part of BFD, the Binary File Descriptor library. @@ -4107,7 +4108,7 @@ elf64_alpha_relocate_section_r (bfd *output_bfd ATTRIBUTE_UNUSED, sec = h->root.u.def.section; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, elf64_alpha_howto_table + r_type, @@ -4265,7 +4266,7 @@ elf64_alpha_relocate_section (bfd *output_bfd, struct bfd_link_info *info, unless it has been done already. */ if ((sec->flags & SEC_MERGE) && ELF_ST_TYPE (sym->st_info) == STT_SECTION - && sec->sec_info_type == ELF_INFO_TYPE_MERGE + && sec->sec_info_type == SEC_INFO_TYPE_MERGE && gotent && !gotent->reloc_xlated) { @@ -4316,7 +4317,7 @@ elf64_alpha_relocate_section (bfd *output_bfd, struct bfd_link_info *info, gotent = h->got_entries; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); @@ -4727,7 +4728,7 @@ elf64_alpha_relocate_section (bfd *output_bfd, struct bfd_link_info *info, if (r_symndx < symtab_hdr->sh_info && sec != NULL && howto->pc_relative - && elf_discarded_section (sec)) + && discarded_section (sec)) break; if (h != NULL) diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c index 057a92d..b3a5e24 100644 --- a/bfd/elf64-hppa.c +++ b/bfd/elf64-hppa.c @@ -1,6 +1,7 @@ /* Support for HPPA 64-bit ELF 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, - 2010, 2011 Free Software Foundation, Inc. + 2010, 2011, 2012 + Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -3919,7 +3920,7 @@ elf64_hppa_relocate_section (bfd *output_bfd, } } - if (sym_sec != NULL && elf_discarded_section (sym_sec)) + if (sym_sec != NULL && discarded_section (sym_sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf64-ia64-vms.c b/bfd/elf64-ia64-vms.c index 1ab8e38..9c2cb4c 100644 --- a/bfd/elf64-ia64-vms.c +++ b/bfd/elf64-ia64-vms.c @@ -3445,7 +3445,7 @@ elf64_ia64_relocate_section (bfd *output_bfd, if (!info->relocatable && (sym_sec->flags & SEC_MERGE) != 0 && ELF_ST_TYPE (sym->st_info) == STT_SECTION - && sym_sec->sec_info_type == ELF_INFO_TYPE_MERGE) + && sym_sec->sec_info_type == SEC_INFO_TYPE_MERGE) { struct elf64_ia64_local_hash_entry *loc_h; @@ -3506,7 +3506,7 @@ elf64_ia64_relocate_section (bfd *output_bfd, /* For relocs against symbols from removed linkonce sections, or sections discarded by a linker script, we just want the section contents zeroed. Avoid any special processing. */ - if (sym_sec != NULL && elf_discarded_section (sym_sec)) + if (sym_sec != NULL && discarded_section (sym_sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); @@ -4771,7 +4771,7 @@ elf64_vms_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) /* ld --just-symbols and dynamic objects don't mix very well. ld shouldn't allow it. */ if ((s = abfd->sections) != NULL - && s->sec_info_type == ELF_INFO_TYPE_JUST_SYMS) + && s->sec_info_type == SEC_INFO_TYPE_JUST_SYMS) abort (); /* Be sure there are dynamic sections. */ diff --git a/bfd/elf64-mmix.c b/bfd/elf64-mmix.c index ecc9ad0..fd5921a 100644 --- a/bfd/elf64-mmix.c +++ b/bfd/elf64-mmix.c @@ -1,5 +1,6 @@ /* MMIX-specific support for 64-bit ELF. - Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 + Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011, + 2012 Free Software Foundation, Inc. Contributed by Hans-Peter Nilsson @@ -1475,7 +1476,7 @@ mmix_elf_relocate_section (output_bfd, info, input_bfd, input_section, name = h->root.root.string; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 3b03db4..0d6dd99 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -6898,7 +6898,7 @@ adjust_opd_syms (struct elf_link_hash_entry *h, void *inf ATTRIBUTE_UNUSED) if (dsec == NULL) { for (dsec = sym_sec->owner->sections; dsec; dsec = dsec->next) - if (elf_discarded_section (dsec)) + if (discarded_section (dsec)) { ppc64_elf_tdata (sym_sec->owner)->deleted_section = dsec; break; @@ -7079,7 +7079,7 @@ ppc64_elf_edit_opd (struct bfd_link_info *info, bfd_boolean non_overlapping) if (sec == NULL || sec->size == 0) continue; - if (sec->sec_info_type == ELF_INFO_TYPE_JUST_SYMS) + if (sec->sec_info_type == SEC_INFO_TYPE_JUST_SYMS) continue; if (sec->output_section == bfd_abs_section_ptr) @@ -8123,8 +8123,8 @@ ppc64_elf_edit_toc (struct bfd_link_info *info) toc = bfd_get_section_by_name (ibfd, ".toc"); if (toc == NULL || toc->size == 0 - || toc->sec_info_type == ELF_INFO_TYPE_JUST_SYMS - || elf_discarded_section (toc)) + || toc->sec_info_type == SEC_INFO_TYPE_JUST_SYMS + || discarded_section (toc)) continue; toc_relocs = NULL; @@ -8137,7 +8137,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info) for (sec = ibfd->sections; sec != NULL; sec = sec->next) { if (sec->reloc_count == 0 - || !elf_discarded_section (sec) + || !discarded_section (sec) || get_opd_info (sec) || (sec->flags & SEC_ALLOC) == 0 || (sec->flags & SEC_DEBUGGING) != 0) @@ -8247,7 +8247,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info) goto error_ret; if (sym_sec == NULL - || elf_discarded_section (sym_sec)) + || discarded_section (sym_sec)) continue; if (!SYMBOL_CALLS_LOCAL (info, h)) @@ -8327,7 +8327,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info) int repeat; if (sec->reloc_count == 0 - || elf_discarded_section (sec) + || discarded_section (sec) || get_opd_info (sec) || (sec->flags & SEC_ALLOC) == 0 || (sec->flags & SEC_DEBUGGING) != 0) @@ -8549,7 +8549,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info) for (sec = ibfd->sections; sec != NULL; sec = sec->next) { if (sec->reloc_count == 0 - || elf_discarded_section (sec)) + || discarded_section (sec)) continue; relstart = _bfd_elf_link_read_relocs (ibfd, sec, NULL, NULL, @@ -12273,7 +12273,7 @@ ppc64_elf_relocate_section (bfd *output_bfd, } h = (struct ppc_link_hash_entry *) h_elf; - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, ppc64_elf_howto_table[r_type], @@ -14110,7 +14110,7 @@ ppc64_elf_finish_dynamic_sections (bfd *output_bfd, if (htab->glink_eh_frame != NULL - && htab->glink_eh_frame->sec_info_type == ELF_INFO_TYPE_EH_FRAME + && htab->glink_eh_frame->sec_info_type == SEC_INFO_TYPE_EH_FRAME && !_bfd_elf_write_section_eh_frame (output_bfd, info, htab->glink_eh_frame, htab->glink_eh_frame->contents)) diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index 1fb7ccc..c3ec24c 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -2244,7 +2244,7 @@ elf_s390_relocate_section (bfd *output_bfd, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf64-sh64.c b/bfd/elf64-sh64.c index d19bb07..60f13cd 100644 --- a/bfd/elf64-sh64.c +++ b/bfd/elf64-sh64.c @@ -1514,7 +1514,7 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, _("Unexpected STO_SH5_ISA32 on local symbol is not handled"), input_bfd, input_section, rel->r_offset)); - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) /* Handled below. */ ; else if (info->relocatable) @@ -1661,7 +1661,7 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, } } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 3b1c0cc..e913246 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -3143,7 +3143,7 @@ elf_x86_64_relocate_section (bfd *output_bfd, unresolved_reloc, warned); } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); @@ -4715,8 +4715,7 @@ elf_x86_64_finish_dynamic_sections (bfd *output_bfd, htab->plt_eh_frame->contents + PLT_FDE_START_OFFSET); } - if (htab->plt_eh_frame->sec_info_type - == ELF_INFO_TYPE_EH_FRAME) + if (htab->plt_eh_frame->sec_info_type == SEC_INFO_TYPE_EH_FRAME) { if (! _bfd_elf_write_section_eh_frame (output_bfd, info, htab->plt_eh_frame, diff --git a/bfd/elflink.c b/bfd/elflink.c index aa02e25..3357c00 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -1,6 +1,6 @@ /* ELF linking support for BFD. Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007, 2008, 2009, 2010, 2011 + 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -937,7 +937,7 @@ _bfd_elf_merge_symbol (bfd *abfd, /* Silently discard TLS symbols from --just-syms. There's no way to combine a static TLS block with a new TLS block for this executable. */ if (ELF_ST_TYPE (sym->st_info) == STT_TLS - && sec->sec_info_type == ELF_INFO_TYPE_JUST_SYMS) + && sec->sec_info_type == SEC_INFO_TYPE_JUST_SYMS) { *skip = TRUE; return TRUE; @@ -2706,7 +2706,7 @@ _bfd_elf_link_sec_merge_syms (struct elf_link_hash_entry *h, void *data) if ((h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) && ((sec = h->root.u.def.section)->flags & SEC_MERGE) - && sec->sec_info_type == ELF_INFO_TYPE_MERGE) + && sec->sec_info_type == SEC_INFO_TYPE_MERGE) { bfd *output_bfd = (bfd *) data; @@ -3497,7 +3497,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) /* ld --just-symbols and dynamic objects don't mix very well. ld shouldn't allow it. */ if ((s = abfd->sections) != NULL - && s->sec_info_type == ELF_INFO_TYPE_JUST_SYMS) + && s->sec_info_type == SEC_INFO_TYPE_JUST_SYMS) abort (); /* If this dynamic lib was specified on the command line with @@ -3894,7 +3894,7 @@ error_free_dyn: sec = bfd_section_from_elf_index (abfd, isym->st_shndx); if (sec == NULL) sec = bfd_abs_section_ptr; - else if (elf_discarded_section (sec)) + else if (discarded_section (sec)) { /* Symbols from discarded section are undefined. We keep its visibility. */ @@ -4859,7 +4859,7 @@ error_free_dyn: &string_offset)) goto error_return; if (secdata->sec_info) - stab->sec_info_type = ELF_INFO_TYPE_STABS; + stab->sec_info_type = SEC_INFO_TYPE_STABS; } } } @@ -6642,25 +6642,14 @@ bfd_elf_size_dynsym_hash_dynstr (bfd *output_bfd, struct bfd_link_info *info) return TRUE; } -/* Indicate that we are only retrieving symbol values from this - section. */ - -void -_bfd_elf_link_just_syms (asection *sec, struct bfd_link_info *info) -{ - if (is_elf_hash_table (info->hash)) - sec->sec_info_type = ELF_INFO_TYPE_JUST_SYMS; - _bfd_generic_link_just_syms (sec, info); -} - /* Make sure sec_info_type is cleared if sec_info is cleared too. */ static void merge_sections_remove_hook (bfd *abfd ATTRIBUTE_UNUSED, asection *sec) { - BFD_ASSERT (sec->sec_info_type == ELF_INFO_TYPE_MERGE); - sec->sec_info_type = ELF_INFO_TYPE_NONE; + BFD_ASSERT (sec->sec_info_type == SEC_INFO_TYPE_MERGE); + sec->sec_info_type = SEC_INFO_TYPE_NONE; } /* Finish SHF_MERGE section merging. */ @@ -6688,7 +6677,7 @@ _bfd_elf_merge_sections (bfd *abfd, struct bfd_link_info *info) sec, &secdata->sec_info)) return FALSE; else if (secdata->sec_info) - sec->sec_info_type = ELF_INFO_TYPE_MERGE; + sec->sec_info_type = SEC_INFO_TYPE_MERGE; } if (elf_hash_table (info)->merge_info != NULL) @@ -8706,7 +8695,7 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data) else if ((h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) && ((finfo->info->strip_discarded - && elf_discarded_section (h->root.u.def.section)) + && discarded_section (h->root.u.def.section)) || (h->root.u.def.section->owner != NULL && (h->root.u.def.section->owner->flags & BFD_PLUGIN) != 0))) strip = TRUE; @@ -9006,8 +8995,8 @@ elf_section_ignore_discarded_relocs (asection *sec) switch (sec->sec_info_type) { - case ELF_INFO_TYPE_STABS: - case ELF_INFO_TYPE_EH_FRAME: + case SEC_INFO_TYPE_STABS: + case SEC_INFO_TYPE_EH_FRAME: return TRUE; default: break; @@ -9192,7 +9181,7 @@ elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd) *ppsection = NULL; continue; } - else if (isec->sec_info_type == ELF_INFO_TYPE_MERGE + else if (isec->sec_info_type == SEC_INFO_TYPE_MERGE && ELF_ST_TYPE (isym->st_info) != STT_SECTION) isym->st_value = _bfd_merged_section_offset (output_bfd, &isec, @@ -9536,7 +9525,7 @@ elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd) { /* Complain if the definition comes from a discarded section. */ - if ((sec = *ps) != NULL && elf_discarded_section (sec)) + if ((sec = *ps) != NULL && discarded_section (sec)) { BFD_ASSERT (r_symndx != STN_UNDEF); if (action_discarded & COMPLAIN) @@ -9862,19 +9851,19 @@ elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd) } else switch (o->sec_info_type) { - case ELF_INFO_TYPE_STABS: + case SEC_INFO_TYPE_STABS: if (! (_bfd_write_section_stabs (output_bfd, &elf_hash_table (finfo->info)->stab_info, o, &elf_section_data (o)->sec_info, contents))) return FALSE; break; - case ELF_INFO_TYPE_MERGE: + case SEC_INFO_TYPE_MERGE: if (! _bfd_write_merged_section (output_bfd, o, elf_section_data (o)->sec_info)) return FALSE; break; - case ELF_INFO_TYPE_EH_FRAME: + case SEC_INFO_TYPE_EH_FRAME: { if (! _bfd_elf_write_section_eh_frame (output_bfd, finfo->info, o, contents)) @@ -12425,7 +12414,7 @@ bfd_elf_reloc_symbol_deleted_p (bfd_vma offset, void *cookie) if ((h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) - && elf_discarded_section (h->root.u.def.section)) + && discarded_section (h->root.u.def.section)) return TRUE; else return FALSE; @@ -12441,7 +12430,7 @@ bfd_elf_reloc_symbol_deleted_p (bfd_vma offset, void *cookie) /* Need to: get the symbol; get the section. */ isym = &rcookie->locsyms[r_symndx]; isec = bfd_section_from_elf_index (rcookie->abfd, isym->st_shndx); - if (isec != NULL && elf_discarded_section (isec)) + if (isec != NULL && discarded_section (isec)) return TRUE; } return FALSE; @@ -12492,7 +12481,7 @@ bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info) if (stab != NULL && (stab->size == 0 || bfd_is_abs_section (stab->output_section) - || stab->sec_info_type != ELF_INFO_TYPE_STABS)) + || stab->sec_info_type != SEC_INFO_TYPE_STABS)) stab = NULL; if (stab == NULL diff --git a/bfd/elfnn-ia64.c b/bfd/elfnn-ia64.c index 7ea2981..a1294ff 100644 --- a/bfd/elfnn-ia64.c +++ b/bfd/elfnn-ia64.c @@ -522,7 +522,7 @@ elfNN_ia64_relax_section (bfd *abfd, asection *sec, symtype = h->type; } - if (tsec->sec_info_type == ELF_INFO_TYPE_MERGE) + if (tsec->sec_info_type == SEC_INFO_TYPE_MERGE) { /* At this stage in linking, no SEC_MERGE symbol has been adjusted, so all references to such symbols need to be @@ -3853,7 +3853,7 @@ elfNN_ia64_relocate_section (bfd *output_bfd, if (!info->relocatable && (sym_sec->flags & SEC_MERGE) != 0 && ELF_ST_TYPE (sym->st_info) == STT_SECTION - && sym_sec->sec_info_type == ELF_INFO_TYPE_MERGE) + && sym_sec->sec_info_type == SEC_INFO_TYPE_MERGE) { struct elfNN_ia64_local_hash_entry *loc_h; @@ -3911,7 +3911,7 @@ elfNN_ia64_relocate_section (bfd *output_bfd, continue; } - if (sym_sec != NULL && elf_discarded_section (sym_sec)) + if (sym_sec != NULL && discarded_section (sym_sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 17c007a..3510938 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -1,6 +1,6 @@ /* MIPS-specific support for ELF Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. Most of the information added by Ian Lance Taylor, Cygnus Support, @@ -9389,7 +9389,7 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, sec = h->root.u.def.section; } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c index 9609d37..9a0a1a4 100644 --- a/bfd/elfxx-sparc.c +++ b/bfd/elfxx-sparc.c @@ -3011,7 +3011,7 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd, } } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/elfxx-tilegx.c b/bfd/elfxx-tilegx.c index 359b869..d87edf5 100644 --- a/bfd/elfxx-tilegx.c +++ b/bfd/elfxx-tilegx.c @@ -3140,7 +3140,7 @@ tilegx_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, } } - if (sec != NULL && elf_discarded_section (sec)) + if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, rel, relend, howto, contents); diff --git a/bfd/linker.c b/bfd/linker.c index 2f8ecbb..fccca0d 100644 --- a/bfd/linker.c +++ b/bfd/linker.c @@ -1,6 +1,6 @@ /* linker.c -- BFD linker routines Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support @@ -810,6 +810,7 @@ void _bfd_generic_link_just_syms (asection *sec, struct bfd_link_info *info ATTRIBUTE_UNUSED) { + sec->sec_info_type = SEC_INFO_TYPE_JUST_SYMS; sec->output_section = bfd_abs_section_ptr; sec->output_offset = sec->vma; } diff --git a/bfd/reloc.c b/bfd/reloc.c index aed3612..7aa9f96 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -1,6 +1,7 @@ /* BFD support for handling relocation entries. Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, + 2012 Free Software Foundation, Inc. Written by Cygnus Support. @@ -6375,7 +6376,7 @@ bfd_generic_get_relocated_section_contents (bfd *abfd, bfd_reloc_status_type r; symbol = *(*parent)->sym_ptr_ptr; - if (symbol->section && elf_discarded_section (symbol->section)) + if (symbol->section && discarded_section (symbol->section)) { bfd_byte *p; static reloc_howto_type none_howto diff --git a/bfd/section.c b/bfd/section.c index 7c1f750..9eb7f69 100644 --- a/bfd/section.c +++ b/bfd/section.c @@ -1,6 +1,7 @@ /* Object file "section" support for the BFD library. Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, + 2012 Free Software Foundation, Inc. Written by Cygnus Support. @@ -382,11 +383,11 @@ CODE_FRAGMENT . . {* Type of sec_info information. *} . unsigned int sec_info_type:3; -.#define ELF_INFO_TYPE_NONE 0 -.#define ELF_INFO_TYPE_STABS 1 -.#define ELF_INFO_TYPE_MERGE 2 -.#define ELF_INFO_TYPE_EH_FRAME 3 -.#define ELF_INFO_TYPE_JUST_SYMS 4 +.#define SEC_INFO_TYPE_NONE 0 +.#define SEC_INFO_TYPE_STABS 1 +.#define SEC_INFO_TYPE_MERGE 2 +.#define SEC_INFO_TYPE_EH_FRAME 3 +.#define SEC_INFO_TYPE_JUST_SYMS 4 . . {* Nonzero if this section uses RELA relocations, rather than REL. *} . unsigned int use_rela_p:1; diff --git a/ld/ChangeLog b/ld/ChangeLog index 1a1b729..d1b7e7a 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,14 @@ +2012-04-24 Alan Modra + + * ld/ldlang.c (size_input_section): Use sec_info_type rather than + usrdata->flags.just_syms. + * ld/ldwrite.c (build_link_order): Likewise. + * ld/emultempl/hppaelf.em (build_section_lists): Likewise. + * ld/emultempl/ppc64elf.em (build_toc_list): Likewise. + * ld/emultempl/armelf.em (build_section_lists): Likewise. + (after_allocation): Update for renamed sec_info_type value. + * ld/emultempl/tic6xdsbt.em: Likewise. + 2012-04-12 Roland McGrath * configure.tgt (arm*-*-nacl*, arm*b-*-nacl*): Handle them. diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em index 03ee98b..78224f4 100644 --- a/ld/emultempl/armelf.em +++ b/ld/emultempl/armelf.em @@ -240,7 +240,7 @@ build_section_lists (lang_statement_union_type *statement) { asection *i = statement->input_section.section; - if (!((lang_input_statement_type *) i->owner->usrdata)->flags.just_syms + if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS && (i->flags & SEC_EXCLUDE) == 0 && i->output_section != NULL && i->output_section->owner == link_info.output_bfd) @@ -299,7 +299,7 @@ gld${EMULATION_NAME}_after_allocation (void) && elf_section_type (sec) == SHT_PROGBITS && (elf_section_flags (sec) & SHF_EXECINSTR) != 0 && (sec->flags & SEC_EXCLUDE) == 0 - && sec->sec_info_type != ELF_INFO_TYPE_JUST_SYMS + && sec->sec_info_type != SEC_INFO_TYPE_JUST_SYMS && out_sec != bfd_abs_section_ptr) { if (sec_count == list_size) diff --git a/ld/emultempl/hppaelf.em b/ld/emultempl/hppaelf.em index ec81624..41df8a2 100644 --- a/ld/emultempl/hppaelf.em +++ b/ld/emultempl/hppaelf.em @@ -229,7 +229,7 @@ build_section_lists (lang_statement_union_type *statement) { asection *i = statement->input_section.section; - if (!((lang_input_statement_type *) i->owner->usrdata)->flags.just_syms + if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS && (i->flags & SEC_EXCLUDE) == 0 && i->output_section != NULL && i->output_section->owner == link_info.output_bfd) diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em index 668b468..0923d21 100644 --- a/ld/emultempl/ppc64elf.em +++ b/ld/emultempl/ppc64elf.em @@ -435,7 +435,7 @@ build_toc_list (lang_statement_union_type *statement) { asection *i = statement->input_section.section; - if (!((lang_input_statement_type *) i->owner->usrdata)->flags.just_syms + if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS && (i->flags & SEC_EXCLUDE) == 0 && i->output_section == toc_section) { diff --git a/ld/emultempl/tic6xdsbt.em b/ld/emultempl/tic6xdsbt.em index e287005..87d3b35 100644 --- a/ld/emultempl/tic6xdsbt.em +++ b/ld/emultempl/tic6xdsbt.em @@ -1,5 +1,5 @@ # This shell script emits a C file. -*- C -*- -# Copyright 2011 Free Software Foundation, Inc. +# Copyright 2011, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -122,7 +122,7 @@ gld${EMULATION_NAME}_after_allocation (void) && elf_section_type (sec) == SHT_PROGBITS && (elf_section_flags (sec) & SHF_EXECINSTR) != 0 && (sec->flags & SEC_EXCLUDE) == 0 - && sec->sec_info_type != ELF_INFO_TYPE_JUST_SYMS + && sec->sec_info_type != SEC_INFO_TYPE_JUST_SYMS && out_sec != bfd_abs_section_ptr) { if (sec_count == list_size) diff --git a/ld/ldlang.c b/ld/ldlang.c index b0c23cb..beb84d3 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -4619,7 +4619,7 @@ size_input_section lang_input_section_type *is = &((*this_ptr)->input_section); asection *i = is->section; - if (!((lang_input_statement_type *) i->owner->usrdata)->flags.just_syms + if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS && (i->flags & SEC_EXCLUDE) == 0) { bfd_size_type alignment_needed; diff --git a/ld/ldwrite.c b/ld/ldwrite.c index 911149e..c6f6e9c 100644 --- a/ld/ldwrite.c +++ b/ld/ldwrite.c @@ -1,6 +1,6 @@ /* ldwrite.c -- write out the linked file Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2010 + 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2012 Free Software Foundation, Inc. Written by Steve Chamberlain sac@cygnus.com @@ -241,7 +241,7 @@ build_link_order (lang_statement_union_type *statement) attached */ asection *i = statement->input_section.section; - if (!((lang_input_statement_type *) i->owner->usrdata)->flags.just_syms + if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS && (i->flags & SEC_EXCLUDE) == 0) { asection *output_section = i->output_section; -- cgit v1.1