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.
This commit is contained in:
Alan Modra 2012-04-24 05:12:40 +00:00
parent d8fb5a1e65
commit dbaa201145
75 changed files with 243 additions and 200 deletions

View File

@ -1,3 +1,38 @@
2012-04-24 Alan Modra <amodra@gmail.com>
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 <Andreas.Krebbel@de.ibm.com> 2012-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* elf32-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default. * elf32-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default.

View File

@ -297,11 +297,11 @@ typedef struct bfd_section *sec_ptr;
? (sec)->rawsize : (sec)->size) / bfd_octets_per_byte (bfd)) ? (sec)->rawsize : (sec)->size) / bfd_octets_per_byte (bfd))
/* Return TRUE if input section SEC has been discarded. */ /* 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) \
&& bfd_is_abs_section ((sec)->output_section) \ && bfd_is_abs_section ((sec)->output_section) \
&& (sec)->sec_info_type != ELF_INFO_TYPE_MERGE \ && (sec)->sec_info_type != SEC_INFO_TYPE_MERGE \
&& (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS) && (sec)->sec_info_type != SEC_INFO_TYPE_JUST_SYMS)
typedef enum bfd_print_symbol typedef enum bfd_print_symbol
{ {

View File

@ -304,11 +304,11 @@ typedef struct bfd_section *sec_ptr;
? (sec)->rawsize : (sec)->size) / bfd_octets_per_byte (bfd)) ? (sec)->rawsize : (sec)->size) / bfd_octets_per_byte (bfd))
/* Return TRUE if input section SEC has been discarded. */ /* 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) \
&& bfd_is_abs_section ((sec)->output_section) \ && bfd_is_abs_section ((sec)->output_section) \
&& (sec)->sec_info_type != ELF_INFO_TYPE_MERGE \ && (sec)->sec_info_type != SEC_INFO_TYPE_MERGE \
&& (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS) && (sec)->sec_info_type != SEC_INFO_TYPE_JUST_SYMS)
typedef enum bfd_print_symbol typedef enum bfd_print_symbol
{ {
@ -1378,11 +1378,11 @@ typedef struct bfd_section
/* Type of sec_info information. */ /* Type of sec_info information. */
unsigned int sec_info_type:3; unsigned int sec_info_type:3;
#define ELF_INFO_TYPE_NONE 0 #define SEC_INFO_TYPE_NONE 0
#define ELF_INFO_TYPE_STABS 1 #define SEC_INFO_TYPE_STABS 1
#define ELF_INFO_TYPE_MERGE 2 #define SEC_INFO_TYPE_MERGE 2
#define ELF_INFO_TYPE_EH_FRAME 3 #define SEC_INFO_TYPE_EH_FRAME 3
#define ELF_INFO_TYPE_JUST_SYMS 4 #define SEC_INFO_TYPE_JUST_SYMS 4
/* Nonzero if this section uses RELA relocations, rather than REL. */ /* Nonzero if this section uses RELA relocations, rather than REL. */
unsigned int use_rela_p:1; unsigned int use_rela_p:1;

View File

@ -1812,8 +1812,7 @@ extern void bfd_elf_set_group_contents
(bfd *, asection *, void *); (bfd *, asection *, void *);
extern asection *_bfd_elf_check_kept_section extern asection *_bfd_elf_check_kept_section
(asection *, struct bfd_link_info *); (asection *, struct bfd_link_info *);
extern void _bfd_elf_link_just_syms #define _bfd_elf_link_just_syms _bfd_generic_link_just_syms
(asection *, struct bfd_link_info *);
extern void _bfd_elf_copy_link_hash_symbol_type extern void _bfd_elf_copy_link_hash_symbol_type
(bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *); (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *);
extern bfd_boolean _bfd_elf_size_group_sections extern bfd_boolean _bfd_elf_size_group_sections

View File

@ -1,6 +1,6 @@
/* .eh_frame section optimization. /* .eh_frame section optimization.
Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
Free Software Foundation, Inc. 2012 Free Software Foundation, Inc.
Written by Jakub Jelinek <jakub@redhat.com>. Written by Jakub Jelinek <jakub@redhat.com>.
This file is part of BFD, the Binary File Descriptor library. 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; return;
if (sec->size == 0 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. */ /* This file does not contain .eh_frame information. */
return; return;
@ -904,7 +904,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
BFD_ASSERT (cie_count == num_cies); BFD_ASSERT (cie_count == num_cies);
elf_section_data (sec)->sec_info = sec_info; 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) if (hdr_info->merge_cies)
{ {
sec_info->cies = local_cies; sec_info->cies = local_cies;
@ -1137,7 +1137,7 @@ _bfd_elf_discard_section_eh_frame
struct eh_frame_hdr_info *hdr_info; struct eh_frame_hdr_info *hdr_info;
unsigned int ptr_size, offset; 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; return FALSE;
sec_info = (struct eh_frame_sec_info *) elf_section_data (sec)->sec_info; 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; struct eh_frame_sec_info *sec_info;
unsigned int lo, hi, mid; 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; return offset;
sec_info = (struct eh_frame_sec_info *) elf_section_data (sec)->sec_info; 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; unsigned int ptr_size;
struct eh_cie_fde *ent; 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. */ /* FIXME: octets_per_byte. */
return bfd_set_section_contents (abfd, sec->output_section, contents, return bfd_set_section_contents (abfd, sec->output_section, contents,
sec->output_offset, sec->size); sec->output_offset, sec->size);

View File

@ -1,6 +1,6 @@
/* Matsushita 10200 specific support for 32-bit ELF /* Matsushita 10200 specific support for 32-bit ELF
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2007, 2010 2007, 2010, 2012
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -2115,7 +2115,7 @@ mn10300_elf_relocate_section (bfd *output_bfd,
h->root.root.root.string); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);
@ -3390,7 +3390,7 @@ mn10300_elf_relax_section (bfd *abfd,
isym->st_name); isym->st_name);
if ((sym_sec->flags & SEC_MERGE) 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; symval = isym->st_value;

View File

@ -3071,7 +3071,7 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
if (link_info != NULL) if (link_info != NULL)
{ {
/* Check discarded linkonce section. */ /* Check discarded linkonce section. */
if (elf_discarded_section (s)) if (discarded_section (s))
{ {
asection *kept; asection *kept;
(*_bfd_error_handler) (*_bfd_error_handler)
@ -9451,7 +9451,7 @@ _bfd_elf_rela_local_sym (bfd *abfd,
+ sym->st_value); + sym->st_value);
if ((sec->flags & SEC_MERGE) if ((sec->flags & SEC_MERGE)
&& ELF_ST_TYPE (sym->st_info) == STT_SECTION && 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 = rel->r_addend =
_bfd_merged_section_offset (abfd, psec, _bfd_merged_section_offset (abfd, psec,
@ -9482,7 +9482,7 @@ _bfd_elf_rel_local_sym (bfd *abfd,
{ {
asection *sec = *psec; 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 sym->st_value + addend;
return _bfd_merged_section_offset (abfd, psec, return _bfd_merged_section_offset (abfd, psec,
@ -9498,10 +9498,10 @@ _bfd_elf_section_offset (bfd *abfd,
{ {
switch (sec->sec_info_type) 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, return _bfd_stab_section_offset (sec, elf_section_data (sec)->sec_info,
offset); offset);
case ELF_INFO_TYPE_EH_FRAME: case SEC_INFO_TYPE_EH_FRAME:
return _bfd_elf_eh_frame_section_offset (abfd, info, sec, offset); return _bfd_elf_eh_frame_section_offset (abfd, info, sec, offset);
default: default:
if ((sec->flags & SEC_ELF_REVERSE_COPY) != 0) if ((sec->flags & SEC_ELF_REVERSE_COPY) != 0)

View File

@ -4611,7 +4611,7 @@ cortex_a8_erratum_scan (bfd *input_bfd,
if (elf_section_type (section) != SHT_PROGBITS if (elf_section_type (section) != SHT_PROGBITS
|| (elf_section_flags (section) & SHF_EXECINSTR) == 0 || (elf_section_flags (section) & SHF_EXECINSTR) == 0
|| (section->flags & SEC_EXCLUDE) != 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)) || (section->output_section == bfd_abs_section_ptr))
continue; 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 if (elf_section_type (sec) != SHT_PROGBITS
|| (elf_section_flags (sec) & SHF_EXECINSTR) == 0 || (elf_section_flags (sec) & SHF_EXECINSTR) == 0
|| (sec->flags & SEC_EXCLUDE) != 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 || sec->output_section == bfd_abs_section_ptr
|| strcmp (sec->name, VFP11_ERRATUM_VENEER_SECTION_NAME) == 0) || strcmp (sec->name, VFP11_ERRATUM_VENEER_SECTION_NAME) == 0)
continue; continue;
@ -10481,7 +10481,7 @@ elf32_arm_relocate_section (bfd * output_bfd,
sym_type = h->type; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,6 +1,7 @@
/* AVR-specific support for 32-bit ELF /* AVR-specific support for 32-bit ELF
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 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 <denisc@overta.ru> Contributed by Denis Chertykov <denisc@overta.ru>
This file is part of BFD, the Binary File Descriptor library. 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; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* ADI Blackfin BFD support for 32-bit ELF. /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. This file is part of BFD, the Binary File Descriptor library.
@ -1444,7 +1444,7 @@ bfin_relocate_section (bfd * output_bfd,
unresolved_reloc, warned); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);
@ -2665,7 +2665,7 @@ bfinfdpic_relocate_section (bfd * output_bfd,
osec = sec; osec = sec;
} }
if (sec != NULL && elf_discarded_section (sec)) if (sec != NULL && discarded_section (sec))
RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);
@ -4433,7 +4433,7 @@ bfinfdpic_elf_discard_info (bfd *ibfd,
/* Account for relaxation of .eh_frame section. */ /* Account for relaxation of .eh_frame section. */
for (s = ibfd->sections; s; s = s->next) 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)) if (!_bfinfdpic_check_discarded_relocs (ibfd, s, info, &changed))
return FALSE; return FALSE;

View File

@ -1431,7 +1431,7 @@ elf32_cr16_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
unresolved_reloc, warned); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* BFD back-end for National Semiconductor's CR16C ELF /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* BFD back-end for National Semiconductor's CRX ELF /* 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. Free Software Foundation, Inc.
Written by Tomer Levi, NSC, Israel. 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); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,6 +1,6 @@
/* D10V-specific support for 32-bit ELF /* D10V-specific support for 32-bit ELF
Copyright 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 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). Contributed by Martin Hunt (hunt@cygnus.com).
This file is part of BFD, the Binary File Descriptor library. 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); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* Adapteva epiphany specific support for 32-bit ELF /* 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. Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, 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; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,6 @@
/* FR30-specific support for 32-bit ELF. /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* FRV-specific support for 32-bit ELF. /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);
@ -5681,7 +5681,7 @@ frvfdpic_elf_discard_info (bfd *ibfd,
/* Account for relaxation of .eh_frame section. */ /* Account for relaxation of .eh_frame section. */
for (s = ibfd->sections; s; s = s->next) 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)) if (!_frvfdpic_check_discarded_relocs (ibfd, s, info, &changed))
return FALSE; return FALSE;

View File

@ -1,6 +1,6 @@
/* BFD back-end for Renesas H8/300 ELF binaries. /* BFD back-end for Renesas H8/300 ELF binaries.
Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 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. 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); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -3734,7 +3734,7 @@ elf32_hppa_relocate_section (bfd *output_bfd,
hh = hppa_elf_hash_entry (eh); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rela, relend, rela, relend,
elf_hppa_howto_table + r_type, elf_hppa_howto_table + r_type,

View File

@ -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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -3190,7 +3190,7 @@ elf_i386_relocate_section (bfd *output_bfd,
unresolved_reloc, warned); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);
@ -4866,7 +4866,7 @@ elf_i386_finish_dynamic_sections (bfd *output_bfd,
+ PLT_FDE_START_OFFSET); + PLT_FDE_START_OFFSET);
} }
if (htab->plt_eh_frame->sec_info_type 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, if (! _bfd_elf_write_section_eh_frame (output_bfd, info,
htab->plt_eh_frame, htab->plt_eh_frame,

View File

@ -1,5 +1,6 @@
/* Intel i860 specific support for 32-bit ELF. /* 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. Free Software Foundation, Inc.
Full i860 support contributed by Jason Eckhardt <jle@cygnus.com>. Full i860 support contributed by Jason Eckhardt <jle@cygnus.com>.
@ -1128,7 +1129,7 @@ elf32_i860_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
unresolved_reloc, warned); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* Ubicom IP2xxx specific support for 32-bit ELF /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* IQ2000-specific support for 32-bit ELF. /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -893,7 +893,7 @@ lm32_elf_relocate_section (bfd *output_bfd,
name = h->root.root.string; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);
@ -2365,7 +2365,7 @@ lm32_elf_size_dynamic_sections (bfd *output_bfd,
/* Don't generate entries for weak symbols. */ /* Don't generate entries for weak symbols. */
if (!h || (h && h->root.type != bfd_link_hash_undefweak)) 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)) 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)) if (!strcmp (current->name, h->root.root.string))
break; 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. */ /* Will this have an entry in the GOT. */
if (ELF32_R_TYPE (internal_relocs->r_info) == R_LM32_16_GOT) if (ELF32_R_TYPE (internal_relocs->r_info) == R_LM32_16_GOT)

View File

@ -1,5 +1,5 @@
/* M16C/M32C specific support for 32-bit ELF. /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -984,7 +984,7 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
is_far = (h && (h->other & STO_M68HC12_FAR)); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -3710,7 +3710,7 @@ elf_m68k_relocate_section (output_bfd, info, input_bfd, input_section,
unresolved_reloc, warned); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,6 +1,6 @@
/* Motorola MCore specific support for 32-bit ELF /* Motorola MCore specific support for 32-bit ELF
Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 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. 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); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,6 +1,6 @@
/* MeP-specific support for 32-bit ELF. /* MeP-specific support for 32-bit ELF.
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 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. This file is part of BFD, the Binary File Descriptor library.
@ -500,7 +500,7 @@ mep_elf_relocate_section
name = h->root.root.string; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* moxie-specific support for 32-bit ELF. /* 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.. Copied from elf32-fr30.c which is..
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 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; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* MSP430-specific support for 32-bit ELF /* 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. Free Software Foundation, Inc.
Contributed by Dmitry Diky <diwil@mail.ru> Contributed by Dmitry Diky <diwil@mail.ru>
@ -454,7 +454,7 @@ elf32_msp430_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED,
unresolved_reloc, warned); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* Morpho Technologies MT specific support for 32-bit ELF /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. This file is part of BFD, the Binary File Descriptor library.
@ -354,7 +354,7 @@ mt_elf_relocate_section
name = h->root.root.string; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* OpenRISC-specific support for 32-bit ELF. /* 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. Free Software Foundation, Inc.
Contributed by Johan Rydberg, jrydberg@opencores.org Contributed by Johan Rydberg, jrydberg@opencores.org
@ -373,7 +373,7 @@ openrisc_elf_relocate_section (bfd *output_bfd,
unresolved_reloc, warned); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -6224,7 +6224,7 @@ ppc_elf_relax_section (bfd *abfd,
attribute for a code section, and we are only looking at attribute for a code section, and we are only looking at
branches. However, implement it correctly here as a branches. However, implement it correctly here as a
reference for other target relax_section functions. */ 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 /* At this stage in linking, no SEC_MERGE symbol has been
adjusted, so all references to such symbols need to be 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; 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, /* For relocs against symbols from removed linkonce sections,
or sections discarded by a linker script, we just want the 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) BFD_ASSERT ((bfd_vma) ((p + 3 - htab->glink_eh_frame->contents) & -4)
== htab->glink_eh_frame->size); == 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, && !_bfd_elf_write_section_eh_frame (output_bfd, info,
htab->glink_eh_frame, htab->glink_eh_frame,
htab->glink_eh_frame->contents)) htab->glink_eh_frame->contents))

View File

@ -1,5 +1,5 @@
/* Renesas RL78 specific support for 32-bit ELF. /* Renesas RL78 specific support for 32-bit ELF.
Copyright (C) 2011 Copyright (C) 2011, 2012
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. This file is part of BFD, the Binary File Descriptor library.
@ -471,7 +471,7 @@ rl78_elf_relocate_section
name = h->root.root.string; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);
@ -1732,7 +1732,7 @@ rl78_offset_for_reloc (bfd * abfd,
if (ssec) if (ssec)
{ {
if ((ssec->flags & SEC_MERGE) 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, symval = _bfd_merged_section_offset (abfd, & ssec,
elf_section_data (ssec)->sec_info, elf_section_data (ssec)->sec_info,
symval); symval);

View File

@ -1,5 +1,5 @@
/* Renesas RX specific support for 32-bit ELF. /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. This file is part of BFD, the Binary File Descriptor library.
@ -521,7 +521,7 @@ rx_elf_relocate_section
name = h->root.root.string; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);
@ -1653,7 +1653,7 @@ rx_offset_for_reloc (bfd * abfd,
if (ssec) if (ssec)
{ {
if ((ssec->flags & SEC_MERGE) 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, symval = _bfd_merged_section_offset (abfd, & ssec,
elf_section_data (ssec)->sec_info, elf_section_data (ssec)->sec_info,
symval); symval);

View File

@ -2300,7 +2300,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
unresolved_reloc, warned); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* 32-bit ELF support for S+core. /* 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. Free Software Foundation, Inc.
Contributed by Contributed by
Brain.lin (brain.lin@sunplusct.com) 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* 32-bit ELF support for S+core. /* 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 Contributed by
Brain.lin (brain.lin@sunplusct.com) Brain.lin (brain.lin@sunplusct.com)
Mei Ligang (ligang@sunnorth.com.cn) 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -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"), _("Unexpected STO_SH5_ISA32 on local symbol is not handled"),
input_bfd, input_section, rel->r_offset)); input_bfd, input_section, rel->r_offset));
if (sec != NULL && elf_discarded_section (sec)) if (sec != NULL && discarded_section (sec))
/* Handled below. */ /* Handled below. */
; ;
else if (info->relocatable) 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -4896,7 +4896,7 @@ spu_elf_relocate_section (bfd *output_bfd,
sym_name = h->root.root.string; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -2327,7 +2327,7 @@ elf32_tic6x_relocate_section (bfd *output_bfd,
unresolved_reloc, warned); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,6 +1,7 @@
/* V850-specific support for 32-bit ELF /* V850-specific support for 32-bit ELF
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 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. 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); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1443,7 +1443,7 @@ elf_vax_relocate_section (bfd *output_bfd,
relocation = 0; relocation = 0;
} }
if (sec != NULL && elf_discarded_section (sec)) if (sec != NULL && discarded_section (sec))
RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* Infineon XC16X-specific support for 16-bit ELF. /* 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 Contributed by KPIT Cummins Infosystems
This file is part of BFD, the Binary File Descriptor library. 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); unresolved_reloc, warned);
} }
if (sec != NULL && elf_discarded_section (sec)) if (sec != NULL && discarded_section (sec))
{ {
/* For relocs against symbols from removed linkonce sections, /* For relocs against symbols from removed linkonce sections,
or sections discarded by a linker script, we just want the or sections discarded by a linker script, we just want the

View File

@ -1,5 +1,5 @@
/* Xstormy16-specific support for 32-bit ELF. /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,5 +1,5 @@
/* Xtensa-specific support for 32-bit ELF. /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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; continue;
for (s = abfd->sections; s != NULL; s = s->next) for (s = abfd->sections; s != NULL; s = s->next)
{ {
if (! elf_discarded_section (s) if (! discarded_section (s)
&& xtensa_is_littable_section (s) && xtensa_is_littable_section (s)
&& s != spltlittbl) && s != spltlittbl)
sgotloc->size += s->size; sgotloc->size += s->size;
@ -2656,7 +2656,7 @@ elf_xtensa_relocate_section (bfd *output_bfd,
sym_type = h->type; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); 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. */ that here and adjust things accordingly. */
if (! elf_xtensa_ignore_discarded_relocs (sec) if (! elf_xtensa_ignore_discarded_relocs (sec)
&& elf_xtensa_action_discarded (sec) == PRETEND && 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 && target_sec != NULL
&& elf_discarded_section (target_sec)) && discarded_section (target_sec))
{ {
/* It would be natural to call _bfd_elf_check_kept_section /* It would be natural to call _bfd_elf_check_kept_section
here, but it's not exported from elflink.c. It's also a here, but it's not exported from elflink.c. It's also a

View File

@ -1,6 +1,7 @@
/* Alpha specific support for 64-bit ELF /* Alpha specific support for 64-bit ELF
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 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 <rth@tamu.edu>. Contributed by Richard Henderson <rth@tamu.edu>.
This file is part of BFD, the Binary File Descriptor library. 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; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, rel, relend,
elf64_alpha_howto_table + r_type, 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. */ unless it has been done already. */
if ((sec->flags & SEC_MERGE) if ((sec->flags & SEC_MERGE)
&& ELF_ST_TYPE (sym->st_info) == STT_SECTION && 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
&& !gotent->reloc_xlated) && !gotent->reloc_xlated)
{ {
@ -4316,7 +4317,7 @@ elf64_alpha_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
gotent = h->got_entries; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); 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 if (r_symndx < symtab_hdr->sh_info
&& sec != NULL && howto->pc_relative && sec != NULL && howto->pc_relative
&& elf_discarded_section (sec)) && discarded_section (sec))
break; break;
if (h != NULL) if (h != NULL)

View File

@ -1,6 +1,7 @@
/* Support for HPPA 64-bit ELF /* Support for HPPA 64-bit ELF
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 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. 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -3445,7 +3445,7 @@ elf64_ia64_relocate_section (bfd *output_bfd,
if (!info->relocatable if (!info->relocatable
&& (sym_sec->flags & SEC_MERGE) != 0 && (sym_sec->flags & SEC_MERGE) != 0
&& ELF_ST_TYPE (sym->st_info) == STT_SECTION && 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; 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, /* For relocs against symbols from removed linkonce sections,
or sections discarded by a linker script, we just want the or sections discarded by a linker script, we just want the
section contents zeroed. Avoid any special processing. */ 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); 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 --just-symbols and dynamic objects don't mix very well.
ld shouldn't allow it. */ ld shouldn't allow it. */
if ((s = abfd->sections) != NULL if ((s = abfd->sections) != NULL
&& s->sec_info_type == ELF_INFO_TYPE_JUST_SYMS) && s->sec_info_type == SEC_INFO_TYPE_JUST_SYMS)
abort (); abort ();
/* Be sure there are dynamic sections. */ /* Be sure there are dynamic sections. */

View File

@ -1,5 +1,6 @@
/* MMIX-specific support for 64-bit ELF. /* 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. Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson <hp@bitrange.com> Contributed by Hans-Peter Nilsson <hp@bitrange.com>
@ -1475,7 +1476,7 @@ mmix_elf_relocate_section (output_bfd, info, input_bfd, input_section,
name = h->root.root.string; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -6898,7 +6898,7 @@ adjust_opd_syms (struct elf_link_hash_entry *h, void *inf ATTRIBUTE_UNUSED)
if (dsec == NULL) if (dsec == NULL)
{ {
for (dsec = sym_sec->owner->sections; dsec; dsec = dsec->next) 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; ppc64_elf_tdata (sym_sec->owner)->deleted_section = dsec;
break; break;
@ -7079,7 +7079,7 @@ ppc64_elf_edit_opd (struct bfd_link_info *info, bfd_boolean non_overlapping)
if (sec == NULL || sec->size == 0) if (sec == NULL || sec->size == 0)
continue; continue;
if (sec->sec_info_type == ELF_INFO_TYPE_JUST_SYMS) if (sec->sec_info_type == SEC_INFO_TYPE_JUST_SYMS)
continue; continue;
if (sec->output_section == bfd_abs_section_ptr) 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"); toc = bfd_get_section_by_name (ibfd, ".toc");
if (toc == NULL if (toc == NULL
|| toc->size == 0 || toc->size == 0
|| toc->sec_info_type == ELF_INFO_TYPE_JUST_SYMS || toc->sec_info_type == SEC_INFO_TYPE_JUST_SYMS
|| elf_discarded_section (toc)) || discarded_section (toc))
continue; continue;
toc_relocs = NULL; 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) for (sec = ibfd->sections; sec != NULL; sec = sec->next)
{ {
if (sec->reloc_count == 0 if (sec->reloc_count == 0
|| !elf_discarded_section (sec) || !discarded_section (sec)
|| get_opd_info (sec) || get_opd_info (sec)
|| (sec->flags & SEC_ALLOC) == 0 || (sec->flags & SEC_ALLOC) == 0
|| (sec->flags & SEC_DEBUGGING) != 0) || (sec->flags & SEC_DEBUGGING) != 0)
@ -8247,7 +8247,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
goto error_ret; goto error_ret;
if (sym_sec == NULL if (sym_sec == NULL
|| elf_discarded_section (sym_sec)) || discarded_section (sym_sec))
continue; continue;
if (!SYMBOL_CALLS_LOCAL (info, h)) if (!SYMBOL_CALLS_LOCAL (info, h))
@ -8327,7 +8327,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
int repeat; int repeat;
if (sec->reloc_count == 0 if (sec->reloc_count == 0
|| elf_discarded_section (sec) || discarded_section (sec)
|| get_opd_info (sec) || get_opd_info (sec)
|| (sec->flags & SEC_ALLOC) == 0 || (sec->flags & SEC_ALLOC) == 0
|| (sec->flags & SEC_DEBUGGING) != 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) for (sec = ibfd->sections; sec != NULL; sec = sec->next)
{ {
if (sec->reloc_count == 0 if (sec->reloc_count == 0
|| elf_discarded_section (sec)) || discarded_section (sec))
continue; continue;
relstart = _bfd_elf_link_read_relocs (ibfd, sec, NULL, NULL, 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; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, rel, relend,
ppc64_elf_howto_table[r_type], ppc64_elf_howto_table[r_type],
@ -14110,7 +14110,7 @@ ppc64_elf_finish_dynamic_sections (bfd *output_bfd,
if (htab->glink_eh_frame != NULL 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, && !_bfd_elf_write_section_eh_frame (output_bfd, info,
htab->glink_eh_frame, htab->glink_eh_frame,
htab->glink_eh_frame->contents)) htab->glink_eh_frame->contents))

View File

@ -2244,7 +2244,7 @@ elf_s390_relocate_section (bfd *output_bfd,
unresolved_reloc, warned); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1514,7 +1514,7 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
_("Unexpected STO_SH5_ISA32 on local symbol is not handled"), _("Unexpected STO_SH5_ISA32 on local symbol is not handled"),
input_bfd, input_section, rel->r_offset)); input_bfd, input_section, rel->r_offset));
if (sec != NULL && elf_discarded_section (sec)) if (sec != NULL && discarded_section (sec))
/* Handled below. */ /* Handled below. */
; ;
else if (info->relocatable) 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -3143,7 +3143,7 @@ elf_x86_64_relocate_section (bfd *output_bfd,
unresolved_reloc, warned); 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);
@ -4715,8 +4715,7 @@ elf_x86_64_finish_dynamic_sections (bfd *output_bfd,
htab->plt_eh_frame->contents htab->plt_eh_frame->contents
+ PLT_FDE_START_OFFSET); + PLT_FDE_START_OFFSET);
} }
if (htab->plt_eh_frame->sec_info_type if (htab->plt_eh_frame->sec_info_type == SEC_INFO_TYPE_EH_FRAME)
== ELF_INFO_TYPE_EH_FRAME)
{ {
if (! _bfd_elf_write_section_eh_frame (output_bfd, info, if (! _bfd_elf_write_section_eh_frame (output_bfd, info,
htab->plt_eh_frame, htab->plt_eh_frame,

View File

@ -1,6 +1,6 @@
/* ELF linking support for BFD. /* ELF linking support for BFD.
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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 /* 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. */ combine a static TLS block with a new TLS block for this executable. */
if (ELF_ST_TYPE (sym->st_info) == STT_TLS 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; *skip = TRUE;
return 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 if ((h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak) || h->root.type == bfd_link_hash_defweak)
&& ((sec = h->root.u.def.section)->flags & SEC_MERGE) && ((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; 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 --just-symbols and dynamic objects don't mix very well.
ld shouldn't allow it. */ ld shouldn't allow it. */
if ((s = abfd->sections) != NULL if ((s = abfd->sections) != NULL
&& s->sec_info_type == ELF_INFO_TYPE_JUST_SYMS) && s->sec_info_type == SEC_INFO_TYPE_JUST_SYMS)
abort (); abort ();
/* If this dynamic lib was specified on the command line with /* 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); sec = bfd_section_from_elf_index (abfd, isym->st_shndx);
if (sec == NULL) if (sec == NULL)
sec = bfd_abs_section_ptr; sec = bfd_abs_section_ptr;
else if (elf_discarded_section (sec)) else if (discarded_section (sec))
{ {
/* Symbols from discarded section are undefined. We keep /* Symbols from discarded section are undefined. We keep
its visibility. */ its visibility. */
@ -4859,7 +4859,7 @@ error_free_dyn:
&string_offset)) &string_offset))
goto error_return; goto error_return;
if (secdata->sec_info) 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; 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. */ /* Make sure sec_info_type is cleared if sec_info is cleared too. */
static void static void
merge_sections_remove_hook (bfd *abfd ATTRIBUTE_UNUSED, merge_sections_remove_hook (bfd *abfd ATTRIBUTE_UNUSED,
asection *sec) asection *sec)
{ {
BFD_ASSERT (sec->sec_info_type == ELF_INFO_TYPE_MERGE); BFD_ASSERT (sec->sec_info_type == SEC_INFO_TYPE_MERGE);
sec->sec_info_type = ELF_INFO_TYPE_NONE; sec->sec_info_type = SEC_INFO_TYPE_NONE;
} }
/* Finish SHF_MERGE section merging. */ /* Finish SHF_MERGE section merging. */
@ -6688,7 +6677,7 @@ _bfd_elf_merge_sections (bfd *abfd, struct bfd_link_info *info)
sec, &secdata->sec_info)) sec, &secdata->sec_info))
return FALSE; return FALSE;
else if (secdata->sec_info) 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) 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 else if ((h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak) || h->root.type == bfd_link_hash_defweak)
&& ((finfo->info->strip_discarded && ((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 != NULL
&& (h->root.u.def.section->owner->flags & BFD_PLUGIN) != 0))) && (h->root.u.def.section->owner->flags & BFD_PLUGIN) != 0)))
strip = TRUE; strip = TRUE;
@ -9006,8 +8995,8 @@ elf_section_ignore_discarded_relocs (asection *sec)
switch (sec->sec_info_type) switch (sec->sec_info_type)
{ {
case ELF_INFO_TYPE_STABS: case SEC_INFO_TYPE_STABS:
case ELF_INFO_TYPE_EH_FRAME: case SEC_INFO_TYPE_EH_FRAME:
return TRUE; return TRUE;
default: default:
break; break;
@ -9192,7 +9181,7 @@ elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd)
*ppsection = NULL; *ppsection = NULL;
continue; 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) && ELF_ST_TYPE (isym->st_info) != STT_SECTION)
isym->st_value = isym->st_value =
_bfd_merged_section_offset (output_bfd, &isec, _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 /* Complain if the definition comes from a
discarded section. */ discarded section. */
if ((sec = *ps) != NULL && elf_discarded_section (sec)) if ((sec = *ps) != NULL && discarded_section (sec))
{ {
BFD_ASSERT (r_symndx != STN_UNDEF); BFD_ASSERT (r_symndx != STN_UNDEF);
if (action_discarded & COMPLAIN) 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) else switch (o->sec_info_type)
{ {
case ELF_INFO_TYPE_STABS: case SEC_INFO_TYPE_STABS:
if (! (_bfd_write_section_stabs if (! (_bfd_write_section_stabs
(output_bfd, (output_bfd,
&elf_hash_table (finfo->info)->stab_info, &elf_hash_table (finfo->info)->stab_info,
o, &elf_section_data (o)->sec_info, contents))) o, &elf_section_data (o)->sec_info, contents)))
return FALSE; return FALSE;
break; break;
case ELF_INFO_TYPE_MERGE: case SEC_INFO_TYPE_MERGE:
if (! _bfd_write_merged_section (output_bfd, o, if (! _bfd_write_merged_section (output_bfd, o,
elf_section_data (o)->sec_info)) elf_section_data (o)->sec_info))
return FALSE; return FALSE;
break; break;
case ELF_INFO_TYPE_EH_FRAME: case SEC_INFO_TYPE_EH_FRAME:
{ {
if (! _bfd_elf_write_section_eh_frame (output_bfd, finfo->info, if (! _bfd_elf_write_section_eh_frame (output_bfd, finfo->info,
o, contents)) 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 if ((h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak) || h->root.type == bfd_link_hash_defweak)
&& elf_discarded_section (h->root.u.def.section)) && discarded_section (h->root.u.def.section))
return TRUE; return TRUE;
else else
return FALSE; 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. */ /* Need to: get the symbol; get the section. */
isym = &rcookie->locsyms[r_symndx]; isym = &rcookie->locsyms[r_symndx];
isec = bfd_section_from_elf_index (rcookie->abfd, isym->st_shndx); 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 TRUE;
} }
return FALSE; return FALSE;
@ -12492,7 +12481,7 @@ bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info)
if (stab != NULL if (stab != NULL
&& (stab->size == 0 && (stab->size == 0
|| bfd_is_abs_section (stab->output_section) || 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; stab = NULL;
if (stab == NULL if (stab == NULL

View File

@ -522,7 +522,7 @@ elfNN_ia64_relax_section (bfd *abfd, asection *sec,
symtype = h->type; 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 /* At this stage in linking, no SEC_MERGE symbol has been
adjusted, so all references to such symbols need to be adjusted, so all references to such symbols need to be
@ -3853,7 +3853,7 @@ elfNN_ia64_relocate_section (bfd *output_bfd,
if (!info->relocatable if (!info->relocatable
&& (sym_sec->flags & SEC_MERGE) != 0 && (sym_sec->flags & SEC_MERGE) != 0
&& ELF_ST_TYPE (sym->st_info) == STT_SECTION && 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; struct elfNN_ia64_local_hash_entry *loc_h;
@ -3911,7 +3911,7 @@ elfNN_ia64_relocate_section (bfd *output_bfd,
continue; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,6 +1,6 @@
/* MIPS-specific support for ELF /* MIPS-specific support for ELF
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 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. Free Software Foundation, Inc.
Most of the information added by Ian Lance Taylor, Cygnus Support, 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; 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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -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, RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
rel, relend, howto, contents); rel, relend, howto, contents);

View File

@ -1,6 +1,6 @@
/* linker.c -- BFD linker routines /* linker.c -- BFD linker routines
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 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. Free Software Foundation, Inc.
Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support
@ -810,6 +810,7 @@ void
_bfd_generic_link_just_syms (asection *sec, _bfd_generic_link_just_syms (asection *sec,
struct bfd_link_info *info ATTRIBUTE_UNUSED) 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_section = bfd_abs_section_ptr;
sec->output_offset = sec->vma; sec->output_offset = sec->vma;
} }

View File

@ -1,6 +1,7 @@
/* BFD support for handling relocation entries. /* BFD support for handling relocation entries.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 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. Free Software Foundation, Inc.
Written by Cygnus Support. Written by Cygnus Support.
@ -6375,7 +6376,7 @@ bfd_generic_get_relocated_section_contents (bfd *abfd,
bfd_reloc_status_type r; bfd_reloc_status_type r;
symbol = *(*parent)->sym_ptr_ptr; symbol = *(*parent)->sym_ptr_ptr;
if (symbol->section && elf_discarded_section (symbol->section)) if (symbol->section && discarded_section (symbol->section))
{ {
bfd_byte *p; bfd_byte *p;
static reloc_howto_type none_howto static reloc_howto_type none_howto

View File

@ -1,6 +1,7 @@
/* Object file "section" support for the BFD library. /* Object file "section" support for the BFD library.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 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. Free Software Foundation, Inc.
Written by Cygnus Support. Written by Cygnus Support.
@ -382,11 +383,11 @@ CODE_FRAGMENT
. .
. {* Type of sec_info information. *} . {* Type of sec_info information. *}
. unsigned int sec_info_type:3; . unsigned int sec_info_type:3;
.#define ELF_INFO_TYPE_NONE 0 .#define SEC_INFO_TYPE_NONE 0
.#define ELF_INFO_TYPE_STABS 1 .#define SEC_INFO_TYPE_STABS 1
.#define ELF_INFO_TYPE_MERGE 2 .#define SEC_INFO_TYPE_MERGE 2
.#define ELF_INFO_TYPE_EH_FRAME 3 .#define SEC_INFO_TYPE_EH_FRAME 3
.#define ELF_INFO_TYPE_JUST_SYMS 4 .#define SEC_INFO_TYPE_JUST_SYMS 4
. .
. {* Nonzero if this section uses RELA relocations, rather than REL. *} . {* Nonzero if this section uses RELA relocations, rather than REL. *}
. unsigned int use_rela_p:1; . unsigned int use_rela_p:1;

View File

@ -1,3 +1,14 @@
2012-04-24 Alan Modra <amodra@gmail.com>
* 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 <mcgrathr@google.com> 2012-04-12 Roland McGrath <mcgrathr@google.com>
* configure.tgt (arm*-*-nacl*, arm*b-*-nacl*): Handle them. * configure.tgt (arm*-*-nacl*, arm*b-*-nacl*): Handle them.

View File

@ -240,7 +240,7 @@ build_section_lists (lang_statement_union_type *statement)
{ {
asection *i = statement->input_section.section; 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->flags & SEC_EXCLUDE) == 0
&& i->output_section != NULL && i->output_section != NULL
&& i->output_section->owner == link_info.output_bfd) && 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_type (sec) == SHT_PROGBITS
&& (elf_section_flags (sec) & SHF_EXECINSTR) != 0 && (elf_section_flags (sec) & SHF_EXECINSTR) != 0
&& (sec->flags & SEC_EXCLUDE) == 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) && out_sec != bfd_abs_section_ptr)
{ {
if (sec_count == list_size) if (sec_count == list_size)

View File

@ -229,7 +229,7 @@ build_section_lists (lang_statement_union_type *statement)
{ {
asection *i = statement->input_section.section; 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->flags & SEC_EXCLUDE) == 0
&& i->output_section != NULL && i->output_section != NULL
&& i->output_section->owner == link_info.output_bfd) && i->output_section->owner == link_info.output_bfd)

View File

@ -435,7 +435,7 @@ build_toc_list (lang_statement_union_type *statement)
{ {
asection *i = statement->input_section.section; 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->flags & SEC_EXCLUDE) == 0
&& i->output_section == toc_section) && i->output_section == toc_section)
{ {

View File

@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*- # 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. # 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_type (sec) == SHT_PROGBITS
&& (elf_section_flags (sec) & SHF_EXECINSTR) != 0 && (elf_section_flags (sec) & SHF_EXECINSTR) != 0
&& (sec->flags & SEC_EXCLUDE) == 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) && out_sec != bfd_abs_section_ptr)
{ {
if (sec_count == list_size) if (sec_count == list_size)

View File

@ -4619,7 +4619,7 @@ size_input_section
lang_input_section_type *is = &((*this_ptr)->input_section); lang_input_section_type *is = &((*this_ptr)->input_section);
asection *i = is->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) && (i->flags & SEC_EXCLUDE) == 0)
{ {
bfd_size_type alignment_needed; bfd_size_type alignment_needed;

View File

@ -1,6 +1,6 @@
/* ldwrite.c -- write out the linked file /* ldwrite.c -- write out the linked file
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2002, 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. Free Software Foundation, Inc.
Written by Steve Chamberlain sac@cygnus.com Written by Steve Chamberlain sac@cygnus.com
@ -241,7 +241,7 @@ build_link_order (lang_statement_union_type *statement)
attached */ attached */
asection *i = statement->input_section.section; 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->flags & SEC_EXCLUDE) == 0)
{ {
asection *output_section = i->output_section; asection *output_section = i->output_section;