mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-04 15:54:25 +08:00
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:
parent
d8fb5a1e65
commit
dbaa201145
@ -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.
|
||||||
|
@ -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
|
||||||
{
|
{
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
10
bfd/elf.c
10
bfd/elf.c
@ -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)
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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,
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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,
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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))
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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. */
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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))
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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,
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
11
ld/ChangeLog
11
ld/ChangeLog
@ -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.
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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)
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user