diff options
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils/0182-PR-ld-13991.patch')
-rw-r--r-- | meta/recipes-devtools/binutils/binutils/0182-PR-ld-13991.patch | 1617 |
1 files changed, 1617 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils/0182-PR-ld-13991.patch b/meta/recipes-devtools/binutils/binutils/0182-PR-ld-13991.patch new file mode 100644 index 0000000000..f4c94388c8 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0182-PR-ld-13991.patch @@ -0,0 +1,1617 @@ +Upstream-Status: Backport + +From e827844b6119ff7e0c2de167f2b261c6c06226c8 Mon Sep 17 00:00:00 2001 +From: Nick Clifton <nickc@redhat.com> +Date: Fri, 11 May 2012 12:24:12 +0000 +Subject: [PATCH 182/262] 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 | 38 +++++++++++++++++++++++++++++++++ + bfd/bfd-in.h | 6 +++--- + bfd/bfd-in2.h | 16 +++++++------- + bfd/elf-bfd.h | 3 +-- + bfd/elf-eh-frame.c | 10 ++++----- + bfd/elf-m10200.c | 2 +- + bfd/elf-m10300.c | 4 ++-- + bfd/elf.c | 10 ++++----- + bfd/elf32-arm.c | 6 +++--- + bfd/elf32-avr.c | 2 +- + bfd/elf32-bfin.c | 6 +++--- + bfd/elf32-cr16.c | 2 +- + bfd/elf32-cr16c.c | 2 +- + bfd/elf32-cris.c | 2 +- + bfd/elf32-crx.c | 2 +- + bfd/elf32-d10v.c | 2 +- + bfd/elf32-fr30.c | 2 +- + bfd/elf32-frv.c | 4 ++-- + bfd/elf32-h8300.c | 2 +- + bfd/elf32-hppa.c | 2 +- + bfd/elf32-i370.c | 2 +- + bfd/elf32-i386.c | 4 ++-- + bfd/elf32-i860.c | 2 +- + bfd/elf32-ip2k.c | 2 +- + bfd/elf32-iq2000.c | 2 +- + bfd/elf32-lm32.c | 6 +++--- + bfd/elf32-m32c.c | 2 +- + bfd/elf32-m32r.c | 2 +- + bfd/elf32-m68hc1x.c | 2 +- + bfd/elf32-m68k.c | 2 +- + bfd/elf32-mcore.c | 2 +- + bfd/elf32-mep.c | 2 +- + bfd/elf32-moxie.c | 2 +- + bfd/elf32-msp430.c | 2 +- + bfd/elf32-mt.c | 2 +- + bfd/elf32-openrisc.c | 2 +- + bfd/elf32-ppc.c | 6 +++--- + bfd/elf32-rx.c | 4 ++-- + bfd/elf32-s390.c | 2 +- + bfd/elf32-score.c | 2 +- + bfd/elf32-score7.c | 2 +- + bfd/elf32-sh.c | 4 ++-- + bfd/elf32-spu.c | 2 +- + bfd/elf32-tic6x.c | 2 +- + bfd/elf32-tilepro.c | 2 +- + bfd/elf32-v850.c | 2 +- + bfd/elf32-vax.c | 2 +- + bfd/elf32-xc16x.c | 2 +- + bfd/elf32-xstormy16.c | 2 +- + bfd/elf32-xtensa.c | 8 +++---- + bfd/elf64-alpha.c | 8 +++---- + bfd/elf64-hppa.c | 2 +- + bfd/elf64-mmix.c | 2 +- + bfd/elf64-ppc.c | 20 +++++++++--------- + bfd/elf64-s390.c | 2 +- + bfd/elf64-sh64.c | 4 ++-- + bfd/elf64-x86-64.c | 4 ++-- + bfd/elflink.c | 51 ++++++++++++++++++--------------------------- + bfd/elfnn-ia64.c | 6 +++--- + bfd/elfxx-mips.c | 2 +- + bfd/elfxx-sparc.c | 2 +- + bfd/elfxx-tilegx.c | 2 +- + bfd/linker.c | 3 ++- + bfd/reloc.c | 2 +- + bfd/section.c | 10 ++++----- + ld/ChangeLog | 15 +++++++++++++ + ld/emultempl/armelf.em | 4 ++-- + ld/emultempl/hppaelf.em | 2 +- + ld/emultempl/ppc64elf.em | 4 ++-- + ld/emultempl/tic6xdsbt.em | 2 +- + ld/ldlang.c | 2 +- + ld/ldwrite.c | 4 ++-- + 72 files changed, 199 insertions(+), 157 deletions(-) + +diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h +index a477b49..7c5298a 100644 +--- a/bfd/bfd-in.h ++++ b/bfd/bfd-in.h +@@ -295,11 +295,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) + + /* Forward define. */ + struct stat; +diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h +index cd90740..34f9628 100644 +--- a/bfd/bfd-in2.h ++++ b/bfd/bfd-in2.h +@@ -302,11 +302,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) + + /* Forward define. */ + struct stat; +@@ -1384,11 +1384,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 d6e2ab2..2cfe2ba 100644 +--- a/bfd/elf-bfd.h ++++ b/bfd/elf-bfd.h +@@ -1807,8 +1807,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..7b5cf7a 100644 +--- a/bfd/elf-eh-frame.c ++++ b/bfd/elf-eh-frame.c +@@ -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..d58c75c 100644 +--- a/bfd/elf-m10200.c ++++ b/bfd/elf-m10200.c +@@ -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 8276a2f..876ff4a 100644 +--- a/bfd/elf-m10300.c ++++ b/bfd/elf-m10300.c +@@ -1509,7 +1509,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); + +@@ -2763,7 +2763,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 aa40c33..9e23bee 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) +@@ -9390,7 +9390,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, +@@ -9421,7 +9421,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, +@@ -9437,10 +9437,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 1f6c1a0..9355f66 100644 +--- a/bfd/elf32-arm.c ++++ b/bfd/elf32-arm.c +@@ -4485,7 +4485,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; + +@@ -6556,7 +6556,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; +@@ -10305,7 +10305,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 a7f9217..97dc268 100644 +--- a/bfd/elf32-avr.c ++++ b/bfd/elf32-avr.c +@@ -1189,7 +1189,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 b112dfc..4941f40 100644 +--- a/bfd/elf32-bfin.c ++++ b/bfd/elf32-bfin.c +@@ -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); + +@@ -2663,7 +2663,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); + +@@ -4429,7 +4429,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 0118131..38af05f 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..109936b 100644 +--- a/bfd/elf32-cr16c.c ++++ b/bfd/elf32-cr16c.c +@@ -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 310f6d1..ec23f03 100644 +--- a/bfd/elf32-cris.c ++++ b/bfd/elf32-cris.c +@@ -1180,7 +1180,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..fd13447 100644 +--- a/bfd/elf32-crx.c ++++ b/bfd/elf32-crx.c +@@ -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..e39a9b5 100644 +--- a/bfd/elf32-d10v.c ++++ b/bfd/elf32-d10v.c +@@ -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-fr30.c b/bfd/elf32-fr30.c +index 97b0d29..57be6ae 100644 +--- a/bfd/elf32-fr30.c ++++ b/bfd/elf32-fr30.c +@@ -577,7 +577,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 7f3c4dd..513f811 100644 +--- a/bfd/elf32-frv.c ++++ b/bfd/elf32-frv.c +@@ -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); + +@@ -5678,7 +5678,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..ff1ee70 100644 +--- a/bfd/elf32-h8300.c ++++ b/bfd/elf32-h8300.c +@@ -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 dcf6df0..044b6fa 100644 +--- a/bfd/elf32-hppa.c ++++ b/bfd/elf32-hppa.c +@@ -3741,7 +3741,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 8082927..516511f 100644 +--- a/bfd/elf32-i370.c ++++ b/bfd/elf32-i370.c +@@ -1138,7 +1138,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 d518d01..b925ca6 100644 +--- a/bfd/elf32-i386.c ++++ b/bfd/elf32-i386.c +@@ -3178,7 +3178,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); + +@@ -4846,7 +4846,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..88f4265 100644 +--- a/bfd/elf32-i860.c ++++ b/bfd/elf32-i860.c +@@ -1128,7 +1128,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..43c7b1c 100644 +--- a/bfd/elf32-ip2k.c ++++ b/bfd/elf32-ip2k.c +@@ -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..3954616 100644 +--- a/bfd/elf32-iq2000.c ++++ b/bfd/elf32-iq2000.c +@@ -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 07add20..a2b1003 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); + +@@ -2372,7 +2372,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)) + { +@@ -2394,7 +2394,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..bcdb55d 100644 +--- a/bfd/elf32-m32c.c ++++ b/bfd/elf32-m32c.c +@@ -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 51ef61e..b151a8a 100644 +--- a/bfd/elf32-m32r.c ++++ b/bfd/elf32-m32r.c +@@ -2616,7 +2616,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 961dce4..4b9a1c0 100644 +--- a/bfd/elf32-m68hc1x.c ++++ b/bfd/elf32-m68hc1x.c +@@ -970,7 +970,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 3e9ada9..518a41a 100644 +--- a/bfd/elf32-m68k.c ++++ b/bfd/elf32-m68k.c +@@ -3717,7 +3717,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..02aef53 100644 +--- a/bfd/elf32-mcore.c ++++ b/bfd/elf32-mcore.c +@@ -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..e5104b3 100644 +--- a/bfd/elf32-mep.c ++++ b/bfd/elf32-mep.c +@@ -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..c340826 100644 +--- a/bfd/elf32-moxie.c ++++ b/bfd/elf32-moxie.c +@@ -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..2fa70d9 100644 +--- a/bfd/elf32-msp430.c ++++ b/bfd/elf32-msp430.c +@@ -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..b87995e 100644 +--- a/bfd/elf32-mt.c ++++ b/bfd/elf32-mt.c +@@ -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..e441f4d 100644 +--- a/bfd/elf32-openrisc.c ++++ b/bfd/elf32-openrisc.c +@@ -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 574cd98..d3925af 100644 +--- a/bfd/elf32-ppc.c ++++ b/bfd/elf32-ppc.c +@@ -6231,7 +6231,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 +@@ -6886,7 +6886,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 +@@ -9054,7 +9054,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-rx.c b/bfd/elf32-rx.c +index f049f6e..32820b4 100644 +--- a/bfd/elf32-rx.c ++++ b/bfd/elf32-rx.c +@@ -510,7 +510,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); + +@@ -1588,7 +1588,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 98437d0..11fb072 100644 +--- a/bfd/elf32-s390.c ++++ b/bfd/elf32-s390.c +@@ -2282,7 +2282,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..ef849aa 100644 +--- a/bfd/elf32-score.c ++++ b/bfd/elf32-score.c +@@ -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..3d228f3 100644 +--- a/bfd/elf32-score7.c ++++ b/bfd/elf32-score7.c +@@ -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 ca2c4af..e56c3b5 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) +@@ -4236,7 +4236,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 ae3ed10..40a9da2 100644 +--- a/bfd/elf32-spu.c ++++ b/bfd/elf32-spu.c +@@ -4895,7 +4895,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 44042eb..a879d3c 100644 +--- a/bfd/elf32-tic6x.c ++++ b/bfd/elf32-tic6x.c +@@ -2334,7 +2334,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 f2aed9c..a4e565d 100644 +--- a/bfd/elf32-tilepro.c ++++ b/bfd/elf32-tilepro.c +@@ -2594,7 +2594,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..0fbe080 100644 +--- a/bfd/elf32-v850.c ++++ b/bfd/elf32-v850.c +@@ -2093,7 +2093,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 643381c..fc3cb7c 100644 +--- a/bfd/elf32-vax.c ++++ b/bfd/elf32-vax.c +@@ -1450,7 +1450,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..00c7841 100644 +--- a/bfd/elf32-xc16x.c ++++ b/bfd/elf32-xc16x.c +@@ -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..86e1d5b 100644 +--- a/bfd/elf32-xstormy16.c ++++ b/bfd/elf32-xstormy16.c +@@ -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 c6e4fb4..5a51eae 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -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); + +@@ -8960,9 +8960,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 6076709..ddb1cd7 100644 +--- a/bfd/elf64-alpha.c ++++ b/bfd/elf64-alpha.c +@@ -4106,7 +4106,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, +@@ -4263,7 +4263,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) + { +@@ -4315,7 +4315,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); + +@@ -4717,7 +4717,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..9d2dfcf 100644 +--- a/bfd/elf64-hppa.c ++++ b/bfd/elf64-hppa.c +@@ -3919,7 +3919,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-mmix.c b/bfd/elf64-mmix.c +index ecc9ad0..9cc407f 100644 +--- a/bfd/elf64-mmix.c ++++ b/bfd/elf64-mmix.c +@@ -1475,7 +1475,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 32a3430..52e9ce9 100644 +--- a/bfd/elf64-ppc.c ++++ b/bfd/elf64-ppc.c +@@ -6852,7 +6852,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; +@@ -7033,7 +7033,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) +@@ -8077,8 +8077,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; +@@ -8091,7 +8091,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) +@@ -8201,7 +8201,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)) +@@ -8281,7 +8281,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) +@@ -8503,7 +8503,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, +@@ -12036,7 +12036,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], +@@ -13865,7 +13865,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 9884da0..e9138a6 100644 +--- a/bfd/elf64-s390.c ++++ b/bfd/elf64-s390.c +@@ -2270,7 +2270,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 bbef2a2..d8f2120 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) +@@ -1657,7 +1657,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 bdb3ae6..9d826e7 100644 +--- a/bfd/elf64-x86-64.c ++++ b/bfd/elf64-x86-64.c +@@ -3062,7 +3062,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); + +@@ -4625,7 +4625,7 @@ elf_x86_64_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/elflink.c b/bfd/elflink.c +index 8556cec..da6be48 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; +@@ -2708,7 +2708,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; + +@@ -3499,7 +3499,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 +@@ -3896,7 +3896,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. */ +@@ -4861,7 +4861,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; + } + } + } +@@ -6644,25 +6644,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. */ +@@ -6690,7 +6679,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) +@@ -8708,7 +8697,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; +@@ -9007,8 +8996,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; +@@ -9193,7 +9182,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, +@@ -9537,7 +9526,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) +@@ -9874,19 +9863,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)) +@@ -12415,7 +12404,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; +@@ -12431,7 +12420,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; +@@ -12482,7 +12471,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 3e2ee0b..0f6b720 100644 +--- a/bfd/elfnn-ia64.c ++++ b/bfd/elfnn-ia64.c +@@ -530,7 +530,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 +@@ -3861,7 +3861,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; + +@@ -3919,7 +3919,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 fa906cd..7911050 100644 +--- a/bfd/elfxx-mips.c ++++ b/bfd/elfxx-mips.c +@@ -9385,7 +9385,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 9a15124..f3c631e 100644 +--- a/bfd/elfxx-sparc.c ++++ b/bfd/elfxx-sparc.c +@@ -2970,7 +2970,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 c484562..e1c8946 100644 +--- a/bfd/elfxx-tilegx.c ++++ b/bfd/elfxx-tilegx.c +@@ -2908,7 +2908,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 7a01e11..e5d20b2 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 ef55cc3..e3f0343 100644 +--- a/bfd/reloc.c ++++ b/bfd/reloc.c +@@ -6235,7 +6235,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..e60f247 100644 +--- a/bfd/section.c ++++ b/bfd/section.c +@@ -382,11 +382,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/emultempl/armelf.em b/ld/emultempl/armelf.em +index d29da59..7631474 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)->just_syms_flag ++ 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 1137ba2..6258bf4 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)->just_syms_flag ++ 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 92a468f..52b9f05 100644 +--- a/ld/emultempl/ppc64elf.em ++++ b/ld/emultempl/ppc64elf.em +@@ -428,7 +428,7 @@ build_toc_list (lang_statement_union_type *statement) + { + asection *i = statement->input_section.section; + +- if (!((lang_input_statement_type *) i->owner->usrdata)->just_syms_flag ++ if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS + && (i->flags & SEC_EXCLUDE) == 0 + && i->output_section == toc_section) + { +@@ -446,7 +446,7 @@ build_section_lists (lang_statement_union_type *statement) + { + asection *i = statement->input_section.section; + +- if (!((lang_input_statement_type *) i->owner->usrdata)->just_syms_flag ++ 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/tic6xdsbt.em b/ld/emultempl/tic6xdsbt.em +index e287005..fd7a12b 100644 +--- a/ld/emultempl/tic6xdsbt.em ++++ b/ld/emultempl/tic6xdsbt.em +@@ -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 2c56b56..7ecbae2 100644 +--- a/ld/ldlang.c ++++ b/ld/ldlang.c +@@ -4648,7 +4648,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)->just_syms_flag ++ if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS + && (i->flags & SEC_EXCLUDE) == 0) + { + unsigned int alignment_needed; +diff --git a/ld/ldwrite.c b/ld/ldwrite.c +index b7a1469..2503d1f 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 + +@@ -240,7 +240,7 @@ build_link_order (lang_statement_union_type *statement) + attached */ + asection *i = statement->input_section.section; + +- if (!((lang_input_statement_type *) i->owner->usrdata)->just_syms_flag ++ if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS + && (i->flags & SEC_EXCLUDE) == 0) + { + asection *output_section = i->output_section; +-- +1.7.9.5 + |