Pass ignored unresolved relocations to ld backend
bfd/ PR ld/4409 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add an argument for error ignored. * elf-m10200.c (mn10200_elf_relocate_section): Updated. * elf-m10300.c (mn10300_elf_relocate_section): Likewise. * elf32-arm.c (elf32_arm_relocate_section): Likewise. * elf32-avr.c (elf32_avr_relocate_section): Likewise. * elf32-bfin.c (bfinfdpic_relocate_section): Likewise. (bfin_relocate_section): Likewise. * elf32-cr16.c (elf32_cr16_relocate_section): Likewise. * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise. * elf32-cris.c (cris_elf_relocate_section): Likewise. * elf32-crx.c (elf32_crx_relocate_section): Likewise. * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. * elf32-epiphany.c (epiphany_elf_relocate_section): Likewise. * elf32-fr30.c (fr30_elf_relocate_section): Likewise. * elf32-frv.c (elf32_frv_relocate_section): Likewise. * elf32-h8300.c (elf32_h8_relocate_section): Likewise. * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. * elf32-i386.c (elf_i386_relocate_section): Likewise. * elf32-i860.c (elf32_i860_relocate_section): Likewise. * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise. * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise. * elf32-lm32.c (lm32_elf_relocate_section): Likewise. * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise. * elf32-m68k.c (elf_m68k_relocate_section): Likewise. * elf32-metag.c (elf_metag_relocate_section): Likewise. * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise. * elf32-mcore.c (mcore_elf_relocate_section): Likewise. * elf32-mep.c (mep_elf_relocate_section): Likewise. * elf32-moxie.c (moxie_elf_relocate_section): Likewise. * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. * elf32-mt.c (mt_elf_relocate_section): Likewise. * elf32-nios2.c (nios2_elf32_relocate_section): Likewise. * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. * elf32-ppc.c (ppc_elf_relocate_section): Likewise. * elf32-rl78.c (rl78_elf_relocate_section): Likewise. * elf32-rx.c (rx_elf_relocate_section): Likewise. * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise. * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise. * elf32-s390.c (elf_s390_relocate_section): Likewise. * elf32-v850.c (v850_elf_relocate_section): Likewise. * elf32-vax.c (elf_vax_relocate_section): Likewise. * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise. * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise. * elf64-mmix.c (mmix_elf_relocate_section): Likewise. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. * elf64-s390.c (elf_s390_relocate_section): Likewise. * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise. * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Likewise. * elfnn-ia64.c (elfNN_ia64_relocate_section): Skip if error from RELOC_FOR_GLOBAL_SYMBOL in executable is ignored. ld/testsuite/ PR ld/4409 * ld-ia64/error1.d: New file. * ld-ia64/error1.s: Likewise. * ld-ia64/error2.d: Likewise. * ld-ia64/error3.d: Likewise.
This commit is contained in:
parent
8db49cc2de
commit
62d887d406
59 changed files with 240 additions and 100 deletions
|
@ -1,3 +1,65 @@
|
|||
2013-11-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||
Bernhard Rosenkränzer <bernhard.rosenkranzer@linaro.org>
|
||||
|
||||
PR ld/4409
|
||||
* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add an argument for
|
||||
error ignored.
|
||||
* elf-m10200.c (mn10200_elf_relocate_section): Updated.
|
||||
* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
|
||||
* elf32-arm.c (elf32_arm_relocate_section): Likewise.
|
||||
* elf32-avr.c (elf32_avr_relocate_section): Likewise.
|
||||
* elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
|
||||
(bfin_relocate_section): Likewise.
|
||||
* elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
|
||||
* elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
|
||||
* elf32-cris.c (cris_elf_relocate_section): Likewise.
|
||||
* elf32-crx.c (elf32_crx_relocate_section): Likewise.
|
||||
* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
|
||||
* elf32-epiphany.c (epiphany_elf_relocate_section): Likewise.
|
||||
* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
|
||||
* elf32-frv.c (elf32_frv_relocate_section): Likewise.
|
||||
* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
|
||||
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
|
||||
* elf32-i386.c (elf_i386_relocate_section): Likewise.
|
||||
* elf32-i860.c (elf32_i860_relocate_section): Likewise.
|
||||
* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
|
||||
* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
|
||||
* elf32-lm32.c (lm32_elf_relocate_section): Likewise.
|
||||
* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
|
||||
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
|
||||
* elf32-metag.c (elf_metag_relocate_section): Likewise.
|
||||
* elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
|
||||
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
|
||||
* elf32-mep.c (mep_elf_relocate_section): Likewise.
|
||||
* elf32-moxie.c (moxie_elf_relocate_section): Likewise.
|
||||
* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
|
||||
* elf32-mt.c (mt_elf_relocate_section): Likewise.
|
||||
* elf32-nios2.c (nios2_elf32_relocate_section): Likewise.
|
||||
* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
|
||||
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
|
||||
* elf32-rl78.c (rl78_elf_relocate_section): Likewise.
|
||||
* elf32-rx.c (rx_elf_relocate_section): Likewise.
|
||||
* elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
|
||||
* elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
|
||||
* elf32-s390.c (elf_s390_relocate_section): Likewise.
|
||||
* elf32-v850.c (v850_elf_relocate_section): Likewise.
|
||||
* elf32-vax.c (elf_vax_relocate_section): Likewise.
|
||||
* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
|
||||
* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
|
||||
* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
|
||||
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
|
||||
* elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
|
||||
* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
|
||||
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
|
||||
* elf64-s390.c (elf_s390_relocate_section): Likewise.
|
||||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||||
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
|
||||
* elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
|
||||
* elfnn-aarch64.c (elfNN_aarch64_relocate_section): Likewise.
|
||||
|
||||
* elfnn-ia64.c (elfNN_ia64_relocate_section): Skip if error
|
||||
from RELOC_FOR_GLOBAL_SYMBOL in executable is ignored.
|
||||
|
||||
2013-11-05 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* elf64-ppc.c (ppc64_elf_func_desc_adjust): Make .TOC. defined and
|
||||
|
|
|
@ -2414,7 +2414,7 @@ extern asection _bfd_elf_large_com_section;
|
|||
#define RELOC_FOR_GLOBAL_SYMBOL(info, input_bfd, input_section, rel, \
|
||||
r_symndx, symtab_hdr, sym_hashes, \
|
||||
h, sec, relocation, \
|
||||
unresolved_reloc, warned) \
|
||||
unresolved_reloc, warned, ignored) \
|
||||
do \
|
||||
{ \
|
||||
/* It seems this can happen with erroneous or unsupported \
|
||||
|
@ -2429,6 +2429,7 @@ extern asection _bfd_elf_large_com_section;
|
|||
h = (struct elf_link_hash_entry *) h->root.u.i.link; \
|
||||
\
|
||||
warned = FALSE; \
|
||||
ignored = FALSE; \
|
||||
unresolved_reloc = FALSE; \
|
||||
relocation = 0; \
|
||||
if (h->root.type == bfd_link_hash_defined \
|
||||
|
@ -2451,7 +2452,7 @@ extern asection _bfd_elf_large_com_section;
|
|||
; \
|
||||
else if (info->unresolved_syms_in_objects == RM_IGNORE \
|
||||
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) \
|
||||
; \
|
||||
ignored = TRUE; \
|
||||
else if (!info->relocatable) \
|
||||
{ \
|
||||
bfd_boolean err; \
|
||||
|
@ -2467,6 +2468,7 @@ extern asection _bfd_elf_large_com_section;
|
|||
} \
|
||||
(void) unresolved_reloc; \
|
||||
(void) warned; \
|
||||
(void) ignored; \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
|
|
|
@ -373,12 +373,12 @@ mn10200_elf_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -2011,7 +2011,7 @@ mn10300_elf_relocate_section (bfd *output_bfd,
|
|||
bfd_reloc_status_type r;
|
||||
int tls_r_type;
|
||||
bfd_boolean unresolved_reloc = FALSE;
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
struct elf_link_hash_entry * hh;
|
||||
|
||||
relocation = 0;
|
||||
|
@ -2034,7 +2034,7 @@ mn10300_elf_relocate_section (bfd *output_bfd,
|
|||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
hh, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
h = elf_mn10300_hash_entry (hh);
|
||||
|
||||
|
|
|
@ -10510,12 +10510,12 @@ elf32_arm_relocate_section (bfd * output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
sym_type = h->type;
|
||||
}
|
||||
|
|
|
@ -1214,12 +1214,12 @@ elf32_avr_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
|
|
@ -1444,12 +1444,12 @@ bfin_relocate_section (bfd * output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
@ -2662,13 +2662,13 @@ bfinfdpic_relocate_section (bfd * output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
bfd_boolean unresolved_reloc;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
osec = sec;
|
||||
}
|
||||
|
||||
|
|
|
@ -1425,12 +1425,12 @@ elf32_cr16_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -715,12 +715,12 @@ elf32_cr16c_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -1040,13 +1040,13 @@ cris_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
bfd_boolean unresolved_reloc;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
symname = h->root.root.string;
|
||||
|
||||
|
|
|
@ -865,12 +865,12 @@ elf32_crx_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -459,12 +459,12 @@ elf32_d10v_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -515,11 +515,12 @@ epiphany_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
|
|||
{
|
||||
bfd_boolean warned ATTRIBUTE_UNUSED;
|
||||
bfd_boolean unresolved_reloc ATTRIBUTE_UNUSED;
|
||||
bfd_boolean ignored ATTRIBUTE_UNUSED;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
|
|
@ -547,12 +547,12 @@ fr30_elf_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
|
|
@ -2735,13 +2735,13 @@ elf32_frv_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
bfd_boolean unresolved_reloc;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
osec = sec;
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
|
|
@ -468,12 +468,12 @@ elf32_h8_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -3690,13 +3690,14 @@ elf32_hppa_relocate_section (bfd *output_bfd,
|
|||
else
|
||||
{
|
||||
struct elf_link_hash_entry *eh;
|
||||
bfd_boolean unresolved_reloc;
|
||||
bfd_boolean unresolved_reloc, ignored;
|
||||
struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rela,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
eh, sym_sec, relocation,
|
||||
unresolved_reloc, warned_undef);
|
||||
unresolved_reloc, warned_undef,
|
||||
ignored);
|
||||
|
||||
if (!info->relocatable
|
||||
&& relocation == 0
|
||||
|
|
|
@ -3311,11 +3311,12 @@ elf_i386_relocate_section (bfd *output_bfd,
|
|||
else
|
||||
{
|
||||
bfd_boolean warned ATTRIBUTE_UNUSED;
|
||||
bfd_boolean ignored ATTRIBUTE_UNUSED;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
st_size = h->size;
|
||||
}
|
||||
|
||||
|
|
|
@ -1121,12 +1121,12 @@ elf32_i860_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -1425,13 +1425,13 @@ ip2k_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
bfd_boolean unresolved_reloc;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
|
|
@ -627,12 +627,12 @@ iq2000_elf_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED,
|
|||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc;
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
|
|
@ -875,12 +875,12 @@ lm32_elf_relocate_section (bfd *output_bfd,
|
|||
{
|
||||
/* It's a global symbol. */
|
||||
bfd_boolean unresolved_reloc;
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
||||
|
|
|
@ -979,12 +979,12 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation, unresolved_reloc,
|
||||
warned);
|
||||
warned, ignored);
|
||||
|
||||
is_far = (h && (h->other & STO_M68HC12_FAR));
|
||||
is_xgate_symbol = (h && (h->target_internal));
|
||||
|
|
|
@ -3669,12 +3669,12 @@ elf_m68k_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -458,12 +458,12 @@ mcore_elf_relocate_section (bfd * output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -490,12 +490,12 @@ mep_elf_relocate_section
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned, unresolved_reloc;
|
||||
bfd_boolean warned, unresolved_reloc, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL(info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
|
|
@ -1536,12 +1536,12 @@ elf_metag_relocate_section (bfd *output_bfd,
|
|||
else
|
||||
{
|
||||
struct elf_link_hash_entry *eh;
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, eh_syms,
|
||||
eh, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
name = eh->root.root.string;
|
||||
hh = (struct elf_metag_link_hash_entry *) eh;
|
||||
|
|
|
@ -1023,11 +1023,12 @@ microblaze_elf_relocate_section (bfd *output_bfd,
|
|||
{
|
||||
/* External symbol. */
|
||||
bfd_boolean warned ATTRIBUTE_UNUSED;
|
||||
bfd_boolean ignored ATTRIBUTE_UNUSED;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
sym_name = h->root.root.string;
|
||||
}
|
||||
|
||||
|
|
|
@ -240,12 +240,12 @@ moxie_elf_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
|
|
@ -1276,12 +1276,12 @@ elf32_msp430_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
||||
|
|
|
@ -344,12 +344,12 @@ mt_elf_relocate_section
|
|||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc;
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
|
|
@ -1717,12 +1717,12 @@ nios2_elf32_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec && discarded_section (sec))
|
||||
|
|
|
@ -365,12 +365,12 @@ openrisc_elf_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -7493,10 +7493,12 @@ ppc_elf_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
sym_name = h->root.root.string;
|
||||
}
|
||||
|
|
|
@ -460,12 +460,13 @@ rl78_elf_relocate_section
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned ATTRIBUTE_UNUSED;
|
||||
bfd_boolean ignored ATTRIBUTE_UNUSED;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes, h,
|
||||
sec, relocation, unresolved_reloc,
|
||||
warned);
|
||||
warned, ignored);
|
||||
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
|
|
@ -510,12 +510,12 @@ rx_elf_relocate_section
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes, h,
|
||||
sec, relocation, unresolved_reloc,
|
||||
warned);
|
||||
warned, ignored);
|
||||
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
|
|
@ -2415,11 +2415,12 @@ elf_s390_relocate_section (bfd *output_bfd,
|
|||
else
|
||||
{
|
||||
bfd_boolean warned ATTRIBUTE_UNUSED;
|
||||
bfd_boolean ignored ATTRIBUTE_UNUSED;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -2309,12 +2309,12 @@ elf32_tic6x_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -2892,12 +2892,13 @@ tilepro_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned ATTRIBUTE_UNUSED;
|
||||
bfd_boolean ignored ATTRIBUTE_UNUSED;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
if (warned)
|
||||
{
|
||||
/* To avoid generating warning messages about truncated
|
||||
|
|
|
@ -2211,7 +2211,7 @@ v850_elf_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
/* Note - this check is delayed until now as it is possible and
|
||||
valid to have a file without any symbols but with relocs that
|
||||
|
@ -2228,7 +2228,7 @@ v850_elf_relocate_section (bfd *output_bfd,
|
|||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -1408,12 +1408,12 @@ elf_vax_relocate_section (bfd *output_bfd,
|
|||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc;
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
if ((h->root.type == bfd_link_hash_defined
|
||||
|| h->root.type == bfd_link_hash_defweak)
|
||||
|
|
|
@ -373,12 +373,12 @@ elf32_xc16x_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -818,12 +818,12 @@ xstormy16_elf_relocate_section (bfd * output_bfd ATTRIBUTE_UNU
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc, warned;
|
||||
bfd_boolean unresolved_reloc, warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -2638,10 +2638,12 @@ elf_xtensa_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
if (relocation == 0
|
||||
&& !unresolved_reloc
|
||||
|
|
|
@ -4303,14 +4303,14 @@ elf64_alpha_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
struct elf_link_hash_entry *hh;
|
||||
struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
hh, sec, value,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
if (warned)
|
||||
continue;
|
||||
|
|
|
@ -3495,13 +3495,13 @@ elf64_ia64_relocate_section (bfd *output_bfd,
|
|||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc;
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sym_sec, value,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
if (h->root.type == bfd_link_hash_undefweak)
|
||||
undef_weak_ref = TRUE;
|
||||
|
|
|
@ -1413,12 +1413,13 @@ mmix_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc;
|
||||
bfd_boolean unresolved_reloc, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, undefined_signalled);
|
||||
unresolved_reloc, undefined_signalled,
|
||||
ignored);
|
||||
name = h->root.root.string;
|
||||
}
|
||||
|
||||
|
|
|
@ -12973,10 +12973,12 @@ ppc64_elf_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h_elf, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
sym_name = h_elf->root.root.string;
|
||||
sym_type = h_elf->type;
|
||||
if (sec != NULL
|
||||
|
|
|
@ -2374,11 +2374,12 @@ elf_s390_relocate_section (bfd *output_bfd,
|
|||
else
|
||||
{
|
||||
bfd_boolean warned ATTRIBUTE_UNUSED;
|
||||
bfd_boolean ignored ATTRIBUTE_UNUSED;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
}
|
||||
|
||||
if (sec != NULL && discarded_section (sec))
|
||||
|
|
|
@ -3298,11 +3298,12 @@ elf_x86_64_relocate_section (bfd *output_bfd,
|
|||
else
|
||||
{
|
||||
bfd_boolean warned ATTRIBUTE_UNUSED;
|
||||
bfd_boolean ignored ATTRIBUTE_UNUSED;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
st_size = h->size;
|
||||
}
|
||||
|
||||
|
|
|
@ -4132,12 +4132,12 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
sym_type = h->type;
|
||||
}
|
||||
|
|
|
@ -3902,17 +3902,17 @@ elfNN_ia64_relocate_section (bfd *output_bfd,
|
|||
else
|
||||
{
|
||||
bfd_boolean unresolved_reloc;
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sym_sec, value,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
|
||||
if (h->root.type == bfd_link_hash_undefweak)
|
||||
undef_weak_ref = TRUE;
|
||||
else if (warned)
|
||||
else if (warned || (ignored && info->executable))
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
@ -3019,12 +3019,12 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned, ignored;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
if (warned)
|
||||
{
|
||||
/* To avoid generating warning messages about truncated
|
||||
|
|
|
@ -3191,12 +3191,13 @@ tilegx_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
|
|||
}
|
||||
else
|
||||
{
|
||||
bfd_boolean warned;
|
||||
bfd_boolean warned ATTRIBUTE_UNUSED;
|
||||
bfd_boolean ignored ATTRIBUTE_UNUSED;
|
||||
|
||||
RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
|
||||
r_symndx, symtab_hdr, sym_hashes,
|
||||
h, sec, relocation,
|
||||
unresolved_reloc, warned);
|
||||
unresolved_reloc, warned, ignored);
|
||||
if (warned)
|
||||
{
|
||||
/* To avoid generating warning messages about truncated
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2013-11-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/4409
|
||||
* ld-ia64/error1.d: New file.
|
||||
* ld-ia64/error1.s: Likewise.
|
||||
* ld-ia64/error2.d: Likewise.
|
||||
* ld-ia64/error3.d: Likewise.
|
||||
|
||||
2013-11-04 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* ld-powerpc/elfv2exe.d: Adjust for non-PIC global entry.
|
||||
|
|
7
ld/testsuite/ld-ia64/error1.d
Normal file
7
ld/testsuite/ld-ia64/error1.d
Normal file
|
@ -0,0 +1,7 @@
|
|||
#source: error1.s
|
||||
#ld: -unresolved-symbols=ignore-all
|
||||
#readelf: -s
|
||||
|
||||
#...
|
||||
[ ]+[0-9]+:[ ]+[0]+[ ]+0[ ]+NOTYPE[ ]+GLOBAL DEFAULT[ ]+UND[ ]+foo
|
||||
#pass
|
30
ld/testsuite/ld-ia64/error1.s
Normal file
30
ld/testsuite/ld-ia64/error1.s
Normal file
|
@ -0,0 +1,30 @@
|
|||
.explicit
|
||||
.pred.safe_across_calls p1-p5,p16-p63
|
||||
.text
|
||||
.align 16
|
||||
.global _start#
|
||||
.proc _start#
|
||||
_start:
|
||||
.prologue 12, 32
|
||||
.mii
|
||||
.save ar.pfs, r33
|
||||
alloc r33 = ar.pfs, 0, 3, 0, 0
|
||||
.save rp, r32
|
||||
mov r32 = b0
|
||||
mov r34 = r1
|
||||
.body
|
||||
;;
|
||||
.bbb
|
||||
nop 0
|
||||
nop 0
|
||||
br.call.sptk.many b0 = foo#
|
||||
;;
|
||||
.mmi
|
||||
nop 0
|
||||
mov r1 = r34
|
||||
mov b0 = r32
|
||||
.mib
|
||||
nop 0
|
||||
mov ar.pfs = r33
|
||||
br.ret.sptk.many b0
|
||||
.endp _start#
|
7
ld/testsuite/ld-ia64/error2.d
Normal file
7
ld/testsuite/ld-ia64/error2.d
Normal file
|
@ -0,0 +1,7 @@
|
|||
#source: error1.s
|
||||
#ld: -pie -unresolved-symbols=ignore-all
|
||||
#readelf: -s
|
||||
|
||||
#...
|
||||
[ ]+[0-9]+:[ ]+[0]+[ ]+0[ ]+NOTYPE[ ]+GLOBAL DEFAULT[ ]+UND[ ]+foo
|
||||
#pass
|
7
ld/testsuite/ld-ia64/error3.d
Normal file
7
ld/testsuite/ld-ia64/error3.d
Normal file
|
@ -0,0 +1,7 @@
|
|||
#source: error1.s
|
||||
#ld: -pie -shared
|
||||
#readelf: -s
|
||||
|
||||
#...
|
||||
[ ]+[0-9]+:[ ]+[0]+[ ]+0[ ]+NOTYPE[ ]+GLOBAL DEFAULT[ ]+UND[ ]+foo
|
||||
#pass
|
Loading…
Add table
Reference in a new issue