Return void from linker callbacks

The ldmain.c implementation of these linker callback functions always
return true, so any code handling a false return is dead.  What's
more, some of the bfd backends abort if ever a false return is seen,
and there seems to be some confusion in gdb's compile-object-load.c.
The return value was never meant to be "oh yes, a multiple_definition
error occurred", but rather "out of memory or other catastrophic
failure".

This patch removes the status return on the callbacks that always
return true.  I kept the return status for "notice" because that one
does happen to need to return "out of memory".

include/
	* bfdlink.h (struct bfd_link_callbacks): Update comments.
	Return void from multiple_definition, multiple_common,
	add_to_set, constructor, warning, undefined_symbol,
	reloc_overflow, reloc_dangerous and unattached_reloc.
bfd/
	* aoutx.h: Adjust linker callback calls throughout file,
	removing dead code.
	* bout.c: Likewise.
	* coff-alpha.c: Likewise.
	* coff-arm.c: Likewise.
	* coff-h8300.c: Likewise.
	* coff-h8500.c: Likewise.
	* coff-i960.c: Likewise.
	* coff-mcore.c: Likewise.
	* coff-mips.c: Likewise.
	* coff-ppc.c: Likewise.
	* coff-rs6000.c: Likewise.
	* coff-sh.c: Likewise.
	* coff-tic80.c: Likewise.
	* coff-w65.c: Likewise.
	* coff-z80.c: Likewise.
	* coff-z8k.c: Likewise.
	* coff64-rs6000.c: Likewise.
	* cofflink.c: Likewise.
	* ecoff.c: Likewise.
	* elf-bfd.h: Likewise.
	* elf-m10200.c: Likewise.
	* elf-m10300.c: Likewise.
	* elf32-arc.c: Likewise.
	* elf32-arm.c: Likewise.
	* elf32-avr.c: Likewise.
	* elf32-bfin.c: Likewise.
	* elf32-cr16.c: Likewise.
	* elf32-cr16c.c: Likewise.
	* elf32-cris.c: Likewise.
	* elf32-crx.c: Likewise.
	* elf32-d10v.c: Likewise.
	* elf32-epiphany.c: Likewise.
	* elf32-fr30.c: Likewise.
	* elf32-frv.c: Likewise.
	* elf32-ft32.c: Likewise.
	* elf32-h8300.c: Likewise.
	* elf32-hppa.c: Likewise.
	* elf32-i370.c: Likewise.
	* elf32-i386.c: Likewise.
	* elf32-i860.c: Likewise.
	* elf32-ip2k.c: Likewise.
	* elf32-iq2000.c: Likewise.
	* elf32-lm32.c: Likewise.
	* elf32-m32c.c: Likewise.
	* elf32-m32r.c: Likewise.
	* elf32-m68hc1x.c: Likewise.
	* elf32-m68k.c: Likewise.
	* elf32-mep.c: Likewise.
	* elf32-metag.c: Likewise.
	* elf32-microblaze.c: Likewise.
	* elf32-moxie.c: Likewise.
	* elf32-msp430.c: Likewise.
	* elf32-mt.c: Likewise.
	* elf32-nds32.c: Likewise.
	* elf32-nios2.c: Likewise.
	* elf32-or1k.c: Likewise.
	* elf32-ppc.c: Likewise.
	* elf32-s390.c: Likewise.
	* elf32-score.c: Likewise.
	* elf32-score7.c: Likewise.
	* elf32-sh.c: Likewise.
	* elf32-sh64.c: Likewise.
	* elf32-spu.c: Likewise.
	* elf32-tic6x.c: Likewise.
	* elf32-tilepro.c: Likewise.
	* elf32-v850.c: Likewise.
	* elf32-vax.c: Likewise.
	* elf32-visium.c: Likewise.
	* elf32-xstormy16.c: Likewise.
	* elf32-xtensa.c: Likewise.
	* elf64-alpha.c: Likewise.
	* elf64-hppa.c: Likewise.
	* elf64-ia64-vms.c: Likewise.
	* elf64-mmix.c: Likewise.
	* elf64-ppc.c: Likewise.
	* elf64-s390.c: Likewise.
	* elf64-sh64.c: Likewise.
	* elf64-x86-64.c: Likewise.
	* elflink.c: Likewise.
	* elfnn-aarch64.c: Likewise.
	* elfnn-ia64.c: Likewise.
	* elfxx-mips.c: Likewise.
	* elfxx-sparc.c: Likewise.
	* elfxx-tilegx.c: Likewise.
	* linker.c: Likewise.
	* pdp11.c: Likewise.
	* pe-mips.c: Likewise.
	* reloc.c: Likewise.
	* reloc16.c: Likewise.
	* simple.c: Likewise.
	* vms-alpha.c: Likewise.
	* xcofflink.c: Likewise.
	* elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
	status param.  Adjust calls to these and linker callbacks throughout.
	* elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
	get_ramstart): Delete status param.  Adjust calls to these and
	linker callbacks throughout.
ld/
	* ldmain.c (multiple_definition, multiple_common, add_to_set,
	constructor_callback, warning_callback, undefined_symbol,
	reloc_overflow, reloc_dangerous, unattached_reloc): Return void.
	* emultempl/elf32.em: Adjust callback calls.
gdb/
	* compile/compile-object-load.c (link_callbacks_multiple_definition,
	link_callbacks_warning, link_callbacks_undefined_symbol,
	link_callbacks_undefined_symbol, link_callbacks_reloc_overflow,
	link_callbacks_reloc_dangerous,
	link_callbacks_unattached_reloc): Return void.
This commit is contained in:
Alan Modra 2016-05-27 17:20:55 +09:30
parent d5dca95ffc
commit 1a72702bb3
102 changed files with 1026 additions and 1467 deletions

View File

@ -1,3 +1,104 @@
2016-05-28 Alan Modra <amodra@gmail.com>
* aoutx.h: Adjust linker callback calls throughout file,
removing dead code.
* bout.c: Likewise.
* coff-alpha.c: Likewise.
* coff-arm.c: Likewise.
* coff-h8300.c: Likewise.
* coff-h8500.c: Likewise.
* coff-i960.c: Likewise.
* coff-mcore.c: Likewise.
* coff-mips.c: Likewise.
* coff-ppc.c: Likewise.
* coff-rs6000.c: Likewise.
* coff-sh.c: Likewise.
* coff-tic80.c: Likewise.
* coff-w65.c: Likewise.
* coff-z80.c: Likewise.
* coff-z8k.c: Likewise.
* coff64-rs6000.c: Likewise.
* cofflink.c: Likewise.
* ecoff.c: Likewise.
* elf-bfd.h: Likewise.
* elf-m10200.c: Likewise.
* elf-m10300.c: Likewise.
* elf32-arc.c: Likewise.
* elf32-arm.c: Likewise.
* elf32-avr.c: Likewise.
* elf32-bfin.c: Likewise.
* elf32-cr16.c: Likewise.
* elf32-cr16c.c: Likewise.
* elf32-cris.c: Likewise.
* elf32-crx.c: Likewise.
* elf32-d10v.c: Likewise.
* elf32-epiphany.c: Likewise.
* elf32-fr30.c: Likewise.
* elf32-frv.c: Likewise.
* elf32-ft32.c: Likewise.
* elf32-h8300.c: Likewise.
* elf32-hppa.c: Likewise.
* elf32-i370.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-i860.c: Likewise.
* elf32-ip2k.c: Likewise.
* elf32-iq2000.c: Likewise.
* elf32-lm32.c: Likewise.
* elf32-m32c.c: Likewise.
* elf32-m32r.c: Likewise.
* elf32-m68hc1x.c: Likewise.
* elf32-m68k.c: Likewise.
* elf32-mep.c: Likewise.
* elf32-metag.c: Likewise.
* elf32-microblaze.c: Likewise.
* elf32-moxie.c: Likewise.
* elf32-msp430.c: Likewise.
* elf32-mt.c: Likewise.
* elf32-nds32.c: Likewise.
* elf32-nios2.c: Likewise.
* elf32-or1k.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-s390.c: Likewise.
* elf32-score.c: Likewise.
* elf32-score7.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-sh64.c: Likewise.
* elf32-spu.c: Likewise.
* elf32-tic6x.c: Likewise.
* elf32-tilepro.c: Likewise.
* elf32-v850.c: Likewise.
* elf32-vax.c: Likewise.
* elf32-visium.c: Likewise.
* elf32-xstormy16.c: Likewise.
* elf32-xtensa.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-ia64-vms.c: Likewise.
* elf64-mmix.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-s390.c: Likewise.
* elf64-sh64.c: Likewise.
* elf64-x86-64.c: Likewise.
* elflink.c: Likewise.
* elfnn-aarch64.c: Likewise.
* elfnn-ia64.c: Likewise.
* elfxx-mips.c: Likewise.
* elfxx-sparc.c: Likewise.
* elfxx-tilegx.c: Likewise.
* linker.c: Likewise.
* pdp11.c: Likewise.
* pe-mips.c: Likewise.
* reloc.c: Likewise.
* reloc16.c: Likewise.
* simple.c: Likewise.
* vms-alpha.c: Likewise.
* xcofflink.c: Likewise.
* elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
status param. Adjust calls to these and linker callbacks throughout.
* elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
get_ramstart): Delete status param. Adjust calls to these and
linker callbacks throughout.
2016-05-27 Maciej W. Rozycki <macro@imgtec.com>
* elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>

View File

@ -3735,9 +3735,8 @@ aout_link_reloc_link_order (struct aout_final_link_info *flaginfo,
}
else
{
if (! ((*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, pr->u.name, NULL, NULL, (bfd_vma) 0)))
return FALSE;
(*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, pr->u.name, NULL, NULL, (bfd_vma) 0);
r_index = 0;
}
}
@ -3832,17 +3831,13 @@ aout_link_reloc_link_order (struct aout_final_link_info *flaginfo,
case bfd_reloc_outofrange:
abort ();
case bfd_reloc_overflow:
if (! ((*flaginfo->info->callbacks->reloc_overflow)
(flaginfo->info, NULL,
(p->type == bfd_section_reloc_link_order
? bfd_section_name (flaginfo->output_bfd,
pr->u.section)
: pr->u.name),
howto->name, pr->addend, NULL, NULL, (bfd_vma) 0)))
{
free (buf);
return FALSE;
}
(*flaginfo->info->callbacks->reloc_overflow)
(flaginfo->info, NULL,
(p->type == bfd_section_reloc_link_order
? bfd_section_name (flaginfo->output_bfd,
pr->u.section)
: pr->u.name),
howto->name, pr->addend, NULL, NULL, (bfd_vma) 0);
break;
}
ok = bfd_set_section_contents (flaginfo->output_bfd, o, (void *) buf,
@ -4099,10 +4094,9 @@ aout_link_input_section_std (struct aout_final_link_info *flaginfo,
name = strings + GET_WORD (input_bfd,
syms[r_index].e_strx);
if (! ((*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, name, input_bfd, input_section,
r_addr)))
return FALSE;
(*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, name,
input_bfd, input_section, r_addr);
r_index = 0;
}
}
@ -4224,10 +4218,8 @@ aout_link_input_section_std (struct aout_final_link_info *flaginfo,
name = h->root.root.string;
else
name = strings + GET_WORD (input_bfd, syms[r_index].e_strx);
if (! ((*flaginfo->info->callbacks->undefined_symbol)
(flaginfo->info, name, input_bfd, input_section,
r_addr, TRUE)))
return FALSE;
(*flaginfo->info->callbacks->undefined_symbol)
(flaginfo->info, name, input_bfd, input_section, r_addr, TRUE);
}
r = MY_final_link_relocate (howto,
@ -4259,11 +4251,9 @@ aout_link_input_section_std (struct aout_final_link_info *flaginfo,
s = aout_reloc_index_to_section (input_bfd, r_index);
name = bfd_section_name (input_bfd, s);
}
if (! ((*flaginfo->info->callbacks->reloc_overflow)
(flaginfo->info, (h ? &h->root : NULL), name,
howto->name, (bfd_vma) 0, input_bfd,
input_section, r_addr)))
return FALSE;
(*flaginfo->info->callbacks->reloc_overflow)
(flaginfo->info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, r_addr);
}
break;
}
@ -4441,10 +4431,9 @@ aout_link_input_section_ext (struct aout_final_link_info *flaginfo,
name = strings + GET_WORD (input_bfd,
syms[r_index].e_strx);
if (! ((*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, name, input_bfd, input_section,
r_addr)))
return FALSE;
(*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, name,
input_bfd, input_section, r_addr);
r_index = 0;
}
}
@ -4631,10 +4620,8 @@ aout_link_input_section_ext (struct aout_final_link_info *flaginfo,
name = h->root.root.string;
else
name = strings + GET_WORD (input_bfd, syms[r_index].e_strx);
if (! ((*flaginfo->info->callbacks->undefined_symbol)
(flaginfo->info, name, input_bfd, input_section,
r_addr, TRUE)))
return FALSE;
(*flaginfo->info->callbacks->undefined_symbol)
(flaginfo->info, name, input_bfd, input_section, r_addr, TRUE);
}
if (r_type != (unsigned int) RELOC_SPARC_REV32)
@ -4678,11 +4665,10 @@ aout_link_input_section_ext (struct aout_final_link_info *flaginfo,
s = aout_reloc_index_to_section (input_bfd, r_index);
name = bfd_section_name (input_bfd, s);
}
if (! ((*flaginfo->info->callbacks->reloc_overflow)
(flaginfo->info, (h ? &h->root : NULL), name,
howto_table_ext[r_type].name,
r_addend, input_bfd, input_section, r_addr)))
return FALSE;
(*flaginfo->info->callbacks->reloc_overflow)
(flaginfo->info, (h ? &h->root : NULL), name,
howto_table_ext[r_type].name,
r_addend, input_bfd, input_section, r_addr);
}
break;
}

View File

@ -517,11 +517,9 @@ get_value (arelent *reloc,
value = h->u.c.size;
else
{
if (! ((*link_info->callbacks->undefined_symbol)
(link_info, bfd_asymbol_name (symbol),
input_section->owner, input_section, reloc->address,
TRUE)))
abort ();
(*link_info->callbacks->undefined_symbol)
(link_info, bfd_asymbol_name (symbol),
input_section->owner, input_section, reloc->address, TRUE);
value = 0;
}
}

View File

@ -1101,24 +1101,19 @@ alpha_ecoff_get_relocated_section_contents (bfd *abfd,
switch (r)
{
case bfd_reloc_undefined:
if (! ((*link_info->callbacks->undefined_symbol)
(link_info, bfd_asymbol_name (*rel->sym_ptr_ptr),
input_bfd, input_section, rel->address, TRUE)))
goto error_return;
(*link_info->callbacks->undefined_symbol)
(link_info, bfd_asymbol_name (*rel->sym_ptr_ptr),
input_bfd, input_section, rel->address, TRUE);
break;
case bfd_reloc_dangerous:
if (! ((*link_info->callbacks->reloc_dangerous)
(link_info, err, input_bfd, input_section,
rel->address)))
goto error_return;
(*link_info->callbacks->reloc_dangerous)
(link_info, err, input_bfd, input_section, rel->address);
break;
case bfd_reloc_overflow:
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*rel->sym_ptr_ptr),
rel->howto->name, rel->addend, input_bfd,
input_section, rel->address)))
goto error_return;
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*rel->sym_ptr_ptr),
rel->howto->name, rel->addend, input_bfd,
input_section, rel->address);
break;
case bfd_reloc_outofrange:
default:
@ -1696,10 +1691,9 @@ alpha_relocate_section (bfd *output_bfd,
do not have a meaningful number for the
location within the section that is being
relocated. */
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section, (bfd_vma) 0, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section, (bfd_vma) 0, TRUE);
addend = 0;
}
}
@ -1712,10 +1706,9 @@ alpha_relocate_section (bfd *output_bfd,
/* This symbol is not being written out. Pass
the address as 0, as with undefined_symbol,
above. */
if (! ((*info->callbacks->unattached_reloc)
(info, h->root.root.string, input_bfd,
input_section, (bfd_vma) 0)))
return FALSE;
(*info->callbacks->unattached_reloc)
(info, h->root.root.string,
input_bfd, input_section, (bfd_vma) 0);
}
addend = alpha_convert_external_reloc (output_bfd, info,
@ -1839,10 +1832,9 @@ alpha_relocate_section (bfd *output_bfd,
&& h->indx == -1)
{
/* This symbol is not being written out. */
if (! ((*info->callbacks->unattached_reloc)
(info, h->root.root.string, input_bfd,
input_section, r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->unattached_reloc)
(info, h->root.root.string, input_bfd,
input_section, r_vaddr - input_section->vma);
}
relocation = alpha_convert_external_reloc (output_bfd,
@ -1896,11 +1888,9 @@ alpha_relocate_section (bfd *output_bfd,
}
else
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section,
r_vaddr - input_section->vma, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
r_vaddr - input_section->vma, TRUE);
relocation = 0;
}
}
@ -1942,12 +1932,10 @@ alpha_relocate_section (bfd *output_bfd,
else
name = bfd_section_name (input_bfd,
symndx_to_section[r_symndx]);
if (! ((*info->callbacks->reloc_overflow)
(info, NULL, name,
alpha_howto_table[r_type].name,
(bfd_vma) 0, input_bfd, input_section,
r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, NULL, name, alpha_howto_table[r_type].name,
(bfd_vma) 0, input_bfd, input_section,
r_vaddr - input_section->vma);
}
break;
}
@ -1967,10 +1955,9 @@ alpha_relocate_section (bfd *output_bfd,
if (gp_usedp && gp_undefined)
{
if (! ((*info->callbacks->reloc_dangerous)
(info, _("GP relative relocation used when GP not defined"),
input_bfd, input_section, r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_dangerous)
(info, _("GP relative relocation used when GP not defined"),
input_bfd, input_section, r_vaddr - input_section->vma);
/* Only give the error once per link. */
gp = 4;
_bfd_set_gp_value (output_bfd, gp);

View File

@ -1562,12 +1562,9 @@ coff_arm_relocate_section (bfd *output_bfd,
}
else if (! bfd_link_relocatable (info))
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE)))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE);
}
/* Emit a reloc if the backend thinks it needs it. */
@ -1764,11 +1761,10 @@ coff_arm_relocate_section (bfd *output_bfd,
return FALSE;
}
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma);
}
}
}

View File

@ -647,14 +647,10 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
/* Sanity check. */
if (gap < -128 || gap > 126)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
/* Everything looks OK. Apply the relocation and update the
src/dst address appropriately. */
@ -679,14 +675,10 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
/* Sanity check. */
if (gap > 32766 || gap < -32768)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
/* Everything looks OK. Apply the relocation and update the
src/dst address appropriately. */
@ -769,14 +761,10 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
src_address += 4;
}
else
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
break;
/* A 16-bit absolute branch that is now an 8-bit pc-relative branch. */
@ -793,14 +781,10 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
/* Sanity check. */
if (gap < -128 || gap > 126)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
/* Now fix the instruction itself. */
switch (data[dst_address - 1])
@ -840,14 +824,10 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
/* Sanity check. */
if (gap < -128 || gap > 126)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
/* Now fix the instruction. */
switch (data[dst_address - 2])
@ -1040,14 +1020,10 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
/* Sanity check. */
if (gap < -128 || gap > 126)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
/* Everything looks OK. Fix the condition in the instruction, apply
the relocation, and update the src/dst address appropriately. */
@ -1123,14 +1099,10 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
src_address += 1;
}
else
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
break;
}

View File

@ -244,14 +244,11 @@ extra_case (bfd *in_abfd,
word and the pc's been incremented. */
if (gap > 128 || gap < -128)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
bfd_put_8 (in_abfd, gap, data + *dst_ptr);
(*dst_ptr)++;
(*src_ptr)++;
@ -268,14 +265,11 @@ extra_case (bfd *in_abfd,
word and the pc's been incremented. */
if (gap > 32767 || gap < -32768)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
bfd_put_16 (in_abfd, (bfd_vma) gap, data + *dst_ptr);
(*dst_ptr) += 2;
(*src_ptr) += 2;

View File

@ -448,12 +448,9 @@ coff_i960_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
+ sec->output_offset);
}
else if (! bfd_link_relocatable (info))
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE)))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE);
}
done = FALSE;
@ -473,12 +470,11 @@ coff_i960_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
/* This symbol is apparently not from a COFF input file.
We warn, and then assume that it is not a leaf
function. */
if (! ((*info->callbacks->reloc_dangerous)
(info,
_("uncertain calling convention for non-COFF symbol"),
input_bfd, input_section,
rel->r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_dangerous)
(info,
_("uncertain calling convention for non-COFF symbol"),
input_bfd, input_section,
rel->r_vaddr - input_section->vma);
break;
case C_LEAFSTAT:
case C_LEAFEXT:
@ -555,11 +551,10 @@ coff_i960_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
return FALSE;
}
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma);
}
}
}

View File

@ -454,12 +454,9 @@ coff_mcore_relocate_section (bfd * output_bfd,
+ sec->output_offset);
}
else
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE)))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE);
my_name = h->root.root.string;
}
@ -519,11 +516,10 @@ coff_mcore_relocate_section (bfd * output_bfd,
break;
case bfd_reloc_overflow:
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), my_name, howto->name,
(bfd_vma) 0, input_bfd,
input_section, rel->r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), my_name, howto->name,
(bfd_vma) 0, input_bfd,
input_section, rel->r_vaddr - input_section->vma);
}
}

View File

@ -940,11 +940,10 @@ mips_relocate_section (bfd *output_bfd,
{
if (gp_undefined)
{
if (! ((*info->callbacks->reloc_dangerous)
(info, _("GP relative relocation used when GP not defined"),
input_bfd, input_section,
int_rel.r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_dangerous)
(info, _("GP relative relocation used when GP not defined"),
input_bfd, input_section,
int_rel.r_vaddr - input_section->vma);
/* Only give the error once per link. */
gp = 4;
_bfd_set_gp_value (output_bfd, gp);
@ -1075,11 +1074,9 @@ mips_relocate_section (bfd *output_bfd,
if (int_rel.r_symndx == -1)
{
/* This symbol is not being written out. */
if (! ((*info->callbacks->unattached_reloc)
(info, h->root.root.string, input_bfd,
input_section,
int_rel.r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->unattached_reloc)
(info, h->root.root.string, input_bfd, input_section,
int_rel.r_vaddr - input_section->vma);
int_rel.r_symndx = 0;
}
relocation = 0;
@ -1151,11 +1148,9 @@ mips_relocate_section (bfd *output_bfd,
}
else
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section,
int_rel.r_vaddr - input_section->vma, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
int_rel.r_vaddr - input_section->vma, TRUE);
relocation = 0;
}
}
@ -1223,11 +1218,10 @@ mips_relocate_section (bfd *output_bfd,
name = NULL;
else
name = bfd_section_name (input_bfd, s);
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
int_rel.r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
int_rel.r_vaddr - input_section->vma);
}
break;
}

View File

@ -1026,12 +1026,9 @@ coff_ppc_relocate_section (bfd *output_bfd,
+ sec->output_offset);
}
else
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE)))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE);
}
rstat = bfd_reloc_ok;
@ -1423,11 +1420,10 @@ coff_ppc_relocate_section (bfd *output_bfd,
name = buf;
}
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root.root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd,
input_section, rel->r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root.root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma);
}
}
}

View File

@ -3367,15 +3367,12 @@ xcoff_ppc_relocate_section (bfd *output_bfd,
{
if (info->unresolved_syms_in_objects != RM_IGNORE
&& (h->flags & XCOFF_WAS_UNDEFINED) != 0)
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string,
input_bfd, input_section,
rel->r_vaddr - input_section->vma,
(info->unresolved_syms_in_objects
== RM_GENERATE_ERROR))))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string,
input_bfd, input_section,
rel->r_vaddr - input_section->vma,
info->unresolved_syms_in_objects == RM_GENERATE_ERROR);
if (h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak)
{
@ -3455,11 +3452,10 @@ xcoff_ppc_relocate_section (bfd *output_bfd,
}
sprintf (reloc_type_name, "0x%02x", rel->r_type);
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, reloc_type_name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, reloc_type_name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma);
}
/* Add RELOCATION to the right bits of VALUE_TO_RELOCATE. */

View File

@ -2837,12 +2837,9 @@ sh_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
+ sec->output_offset);
}
else if (! bfd_link_relocatable (info))
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE)))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE);
}
rstat = _bfd_final_link_relocate (howto, input_bfd, input_section,
@ -2875,11 +2872,10 @@ sh_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
name = buf;
}
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma);
}
}
}

View File

@ -563,12 +563,9 @@ coff_tic80_relocate_section (bfd *output_bfd,
}
else if (! bfd_link_relocatable (info))
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE)))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE);
}
addr = rel->r_vaddr - input_section->vma;
@ -688,11 +685,10 @@ coff_tic80_relocate_section (bfd *output_bfd,
return FALSE;
}
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma);
}
}
}

View File

@ -315,14 +315,11 @@ w65_reloc16_extra_cases (bfd *abfd,
gap -= dot + 1;
if (gap < -128 || gap > 127)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
bfd_put_8 (abfd, gap, data + dst_address);
dst_address += 1;
src_address += 1;
@ -340,14 +337,10 @@ w65_reloc16_extra_cases (bfd *abfd,
/* This wraps within the page, so ignore the relativeness, look at the
high part. */
if ((gap & 0xf0000) != (dot & 0xf0000))
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
gap -= dot + 2;
bfd_put_16 (abfd, gap, data + dst_address);

View File

@ -188,14 +188,11 @@ extra_case (bfd *in_abfd,
val = bfd_coff_reloc16_get_value (reloc, link_info,
input_section);
if (val>127 || val<-128) /* Test for overflow. */
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
bfd_put_8 (in_abfd, val, data + *dst_ptr);
(*dst_ptr) += 1;
(*src_ptr) += 1;
@ -247,14 +244,11 @@ extra_case (bfd *in_abfd,
the offset. */
if (gap >= 128 || gap < -128)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
bfd_put_8 (in_abfd, gap, data + *dst_ptr);
(*dst_ptr)++;
(*src_ptr)++;

View File

@ -264,14 +264,11 @@ extra_case (bfd *in_abfd,
abort ();
gap /= 2;
if (gap > 128 || gap < -128)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
bfd_put_8 (in_abfd, gap, data + *dst_ptr);
(*dst_ptr)++;
(*src_ptr)++;
@ -293,14 +290,11 @@ extra_case (bfd *in_abfd,
gap /= 2;
if (gap > 0 || gap < -127)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
bfd_put_8 (in_abfd,
(bfd_get_8 ( in_abfd, data + *dst_ptr) & 0x80) + (-gap & 0x7f),
data + *dst_ptr);
@ -321,14 +315,11 @@ extra_case (bfd *in_abfd,
if (gap & 1)
abort ();
if (gap > 4096 || gap < -4095)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
gap /= 2;
bfd_put_16 (in_abfd,
(bfd_get_16 ( in_abfd, data + *dst_ptr) & 0xf000) | (-gap & 0x0fff),
@ -348,14 +339,11 @@ extra_case (bfd *in_abfd,
int gap = dst - dot - 2;
if (gap > 32767 || gap < -32768)
{
if (! ((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address)))
abort ();
}
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
input_section, reloc->address);
bfd_put_16 (in_abfd, (bfd_vma) gap, data + *dst_ptr);
(*dst_ptr) += 2;
(*src_ptr) += 2;

View File

@ -1250,15 +1250,11 @@ xcoff64_ppc_relocate_section (bfd *output_bfd,
{
if (info->unresolved_syms_in_objects != RM_IGNORE
&& (h->flags & XCOFF_WAS_UNDEFINED) != 0)
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string,
input_bfd, input_section,
rel->r_vaddr - input_section->vma,
(info->unresolved_syms_in_objects
== RM_GENERATE_ERROR))))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma,
info->unresolved_syms_in_objects == RM_GENERATE_ERROR);
if (h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak)
{
@ -1337,11 +1333,10 @@ xcoff64_ppc_relocate_section (bfd *output_bfd,
}
sprintf (reloc_type_name, "0x%02x", rel->r_type);
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, reloc_type_name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, reloc_type_name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma);
}
/* Add RELOCATION to the right bits of VALUE_TO_RELOCATE. */

View File

@ -2515,10 +2515,8 @@ _bfd_coff_link_input_bfd (struct coff_final_link_info *flaginfo, bfd *input_bfd)
if (name == NULL)
return FALSE;
if (! ((*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, name, input_bfd, o,
irel->r_vaddr)))
return FALSE;
(*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, name, input_bfd, o, irel->r_vaddr);
}
}
}
@ -2834,18 +2832,14 @@ _bfd_coff_reloc_link_order (bfd *output_bfd,
case bfd_reloc_outofrange:
abort ();
case bfd_reloc_overflow:
if (! ((*flaginfo->info->callbacks->reloc_overflow)
(flaginfo->info, NULL,
(link_order->type == bfd_section_reloc_link_order
? bfd_section_name (output_bfd,
link_order->u.reloc.p->u.section)
: link_order->u.reloc.p->u.name),
howto->name, link_order->u.reloc.p->addend,
(bfd *) NULL, (asection *) NULL, (bfd_vma) 0)))
{
free (buf);
return FALSE;
}
(*flaginfo->info->callbacks->reloc_overflow)
(flaginfo->info, NULL,
(link_order->type == bfd_section_reloc_link_order
? bfd_section_name (output_bfd,
link_order->u.reloc.p->u.section)
: link_order->u.reloc.p->u.name),
howto->name, link_order->u.reloc.p->addend,
(bfd *) NULL, (asection *) NULL, (bfd_vma) 0);
break;
}
loc = link_order->offset * bfd_octets_per_byte (output_bfd);
@ -2901,10 +2895,9 @@ _bfd_coff_reloc_link_order (bfd *output_bfd,
}
else
{
if (! ((*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, link_order->u.reloc.p->u.name, (bfd *) NULL,
(asection *) NULL, (bfd_vma) 0)))
return FALSE;
(*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, link_order->u.reloc.p->u.name,
(bfd *) NULL, (asection *) NULL, (bfd_vma) 0);
irel->r_symndx = 0;
}
}
@ -3069,12 +3062,9 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
}
else if (! bfd_link_relocatable (info))
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE)))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE);
}
/* If the input section defining the symbol has been discarded
@ -3144,11 +3134,10 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
return FALSE;
}
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_vaddr - input_section->vma);
}
}
}

View File

@ -4015,17 +4015,12 @@ ecoff_reloc_link_order (bfd *output_bfd,
case bfd_reloc_outofrange:
abort ();
case bfd_reloc_overflow:
if (! ((*info->callbacks->reloc_overflow)
(info, NULL,
(link_order->type == bfd_section_reloc_link_order
? bfd_section_name (output_bfd, section)
: link_order->u.reloc.p->u.name),
rel.howto->name, addend, NULL,
NULL, (bfd_vma) 0)))
{
free (buf);
return FALSE;
}
(*info->callbacks->reloc_overflow)
(info, NULL,
(link_order->type == bfd_section_reloc_link_order
? bfd_section_name (output_bfd, section)
: link_order->u.reloc.p->u.name),
rel.howto->name, addend, NULL, NULL, (bfd_vma) 0);
break;
}
ok = bfd_set_section_contents (output_bfd, output_section, (void *) buf,
@ -4055,10 +4050,8 @@ ecoff_reloc_link_order (bfd *output_bfd,
in.r_symndx = h->indx;
else
{
if (! ((*info->callbacks->unattached_reloc)
(info, link_order->u.reloc.p->u.name, NULL,
NULL, (bfd_vma) 0)))
return FALSE;
(*info->callbacks->unattached_reloc)
(info, link_order->u.reloc.p->u.name, NULL, NULL, (bfd_vma) 0);
in.r_symndx = 0;
}
in.r_extern = 1;

View File

@ -2594,12 +2594,11 @@ extern asection _bfd_elf_large_com_section;
bfd_boolean err; \
err = (info->unresolved_syms_in_objects == RM_GENERATE_ERROR \
|| ELF_ST_VISIBILITY (h->other) != STV_DEFAULT); \
if (!info->callbacks->undefined_symbol (info, \
h->root.root.string, \
input_bfd, \
input_section, \
rel->r_offset, err)) \
return FALSE; \
(*info->callbacks->undefined_symbol) (info, \
h->root.root.string, \
input_bfd, \
input_section, \
rel->r_offset, err); \
warned = TRUE; \
} \
(void) unresolved_reloc; \

View File

@ -410,18 +410,15 @@ mn10200_elf_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (! ((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol) (info, name, input_bfd,
input_section,
rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -441,10 +438,8 @@ mn10200_elf_relocate_section (bfd *output_bfd,
/* fall through */
common_error:
if (!((*info->callbacks->warning)
(info, msg, name, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
break;
}
}

View File

@ -2151,18 +2151,14 @@ mn10300_elf_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root.root : NULL), name,
howto->name, (bfd_vma) 0, input_bfd,
input_section, rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root.root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (! ((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:

View File

@ -1462,25 +1462,19 @@ elf_arc_relocate_section (bfd * output_bfd,
{
/* Fail if it is linking for PIE and the symbol is
undefined. */
if (bfd_link_executable (info)
&& !(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_offset, TRUE))
{
return FALSE;
}
if (bfd_link_executable (info))
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_offset, TRUE);
reloc_data.sym_value = h->plt.offset;
reloc_data.sym_section = htab->splt;
reloc_data.should_relocate = TRUE;
}
else if (!bfd_link_pic (info)
&& !(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_offset, TRUE))
{
return FALSE;
}
else if (!bfd_link_pic (info))
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_offset, TRUE);
}
if (h->got.glist != NULL)

View File

@ -11509,14 +11509,11 @@ elf32_arm_relocate_section (bfd * output_bfd,
&& r_symndx != STN_UNDEF
&& bfd_is_und_section (sec)
&& ELF_ST_BIND (sym->st_info) != STB_WEAK)
{
if (!info->callbacks->undefined_symbol
(info, bfd_elf_string_from_elf_section
(input_bfd, symtab_hdr->sh_link, sym->st_name),
input_bfd, input_section,
rel->r_offset, TRUE))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, bfd_elf_string_from_elf_section
(input_bfd, symtab_hdr->sh_link, sym->st_name),
input_bfd, input_section,
rel->r_offset, TRUE);
if (globals->use_rel)
{
@ -11736,20 +11733,15 @@ elf32_arm_relocate_section (bfd * output_bfd,
/* If the overflowing reloc was to an undefined symbol,
we have already printed one error message and there
is no point complaining again. */
if ((! h ||
h->root.type != bfd_link_hash_undefined)
&& (!((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset))))
return FALSE;
if (!h || h->root.type != bfd_link_hash_undefined)
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -11770,10 +11762,8 @@ elf32_arm_relocate_section (bfd * output_bfd,
common_error:
BFD_ASSERT (error_message != NULL);
if (!((*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section, rel->r_offset);
break;
}
}

View File

@ -1487,14 +1487,13 @@ elf32_avr_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(info, (h ? &h->root : NULL),
name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset);
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
@ -1516,11 +1515,8 @@ elf32_avr_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -1623,12 +1623,9 @@ bfin_relocate_section (bfd * output_bfd,
}
if (r == bfd_reloc_overflow)
{
if (!(info->callbacks->reloc_overflow
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset)))
return FALSE;
}
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
else
{
(*_bfd_error_handler)
@ -3209,13 +3206,13 @@ bfinfdpic_relocate_section (bfd * output_bfd,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
@ -3237,11 +3234,8 @@ bfinfdpic_relocate_section (bfd * output_bfd,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -1472,18 +1472,14 @@ elf32_cr16_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
switch (r)
{
case bfd_reloc_overflow:
if (!((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -1503,10 +1499,8 @@ elf32_cr16_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
/* Fall through. */
common_error:
if (!((*info->callbacks->warning)
(info, msg, name, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
break;
}
}

View File

@ -765,18 +765,14 @@ elf32_cr16c_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
if (!((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -796,10 +792,8 @@ elf32_cr16c_relocate_section (bfd *output_bfd,
/* fall through */
common_error:
if (!((*info->callbacks->warning)
(info, msg, name, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
break;
}
}

View File

@ -1973,7 +1973,7 @@ cris_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), symname, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
if (additional_relocation_error_msg_count > 0)
@ -2010,9 +2010,8 @@ cris_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, symname, input_bfd, input_section, rel->r_offset,
TRUE);
(*info->callbacks->undefined_symbol)
(info, symname, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -2033,11 +2032,8 @@ cris_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
}
if (msg)
r = info->callbacks->warning
(info, msg, symname, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, symname, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -909,18 +909,14 @@ elf32_crx_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
switch (r)
{
case bfd_reloc_overflow:
if (!((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -940,10 +936,8 @@ elf32_crx_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
/* Fall through. */
common_error:
if (!((*info->callbacks->warning)
(info, msg, name, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
break;
}
}

View File

@ -498,18 +498,14 @@ elf32_d10v_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
if (!((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -529,10 +525,8 @@ elf32_d10v_relocate_section (bfd *output_bfd,
/* fall through */
common_error:
if (!((*info->callbacks->warning)
(info, msg, name, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
break;
}
}

View File

@ -547,13 +547,13 @@ epiphany_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
@ -578,11 +578,8 @@ epiphany_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -576,15 +576,14 @@ fr30_elf_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset,
TRUE);
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -605,11 +604,8 @@ fr30_elf_relocate_section (bfd *output_bfd,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -4031,13 +4031,13 @@ elf32_frv_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
@ -4065,9 +4065,6 @@ elf32_frv_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
input_bfd, input_section, rel->r_offset, name, msg);
return FALSE;
}
if (! r)
return FALSE;
}
}

View File

@ -320,15 +320,14 @@ ft32_elf_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset,
TRUE);
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -349,11 +348,8 @@ ft32_elf_relocate_section (bfd *output_bfd,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -507,18 +507,14 @@ elf32_h8_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
switch (r)
{
case bfd_reloc_overflow:
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (! ((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -538,10 +534,8 @@ elf32_h8_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
/* fall through */
common_error:
if (!((*info->callbacks->warning)
(info, msg, name, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
break;
}
}

View File

@ -3733,10 +3733,9 @@ elf32_hppa_relocate_section (bfd *output_bfd,
&& ELF_ST_VISIBILITY (eh->other) == STV_DEFAULT
&& eh->type == STT_PARISC_MILLI)
{
if (! info->callbacks->undefined_symbol
(info, eh_name (eh), input_bfd,
input_section, rela->r_offset, FALSE))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, eh_name (eh), input_bfd,
input_section, rela->r_offset, FALSE);
warned_undef = TRUE;
}
}
@ -4311,12 +4310,9 @@ elf32_hppa_relocate_section (bfd *output_bfd,
}
}
else
{
if (!((*info->callbacks->reloc_overflow)
(info, (hh ? &hh->eh.root : NULL), sym_name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rela->r_offset)))
return FALSE;
}
(*info->callbacks->reloc_overflow)
(info, (hh ? &hh->eh.root : NULL), sym_name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rela->r_offset);
}
return TRUE;

View File

@ -1137,15 +1137,13 @@ i370_elf_relocate_section (bfd *output_bfd,
;
else if (!bfd_link_relocatable (info))
{
if ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section, rel->r_offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR
|| ELF_ST_VISIBILITY (h->other))))
{
ret = FALSE;
continue;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section, rel->r_offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR
|| ELF_ST_VISIBILITY (h->other)));
ret = FALSE;
continue;
}
}

View File

@ -4961,13 +4961,9 @@ check_relocation_error:
}
if (r == bfd_reloc_overflow)
{
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
}
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
else
{
(*_bfd_error_handler)

View File

@ -1196,13 +1196,13 @@ elf32_i860_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
@ -1224,11 +1224,8 @@ elf32_i860_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -1458,13 +1458,13 @@ ip2k_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
@ -1489,11 +1489,8 @@ ip2k_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -678,13 +678,13 @@ iq2000_elf_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
@ -706,11 +706,8 @@ iq2000_elf_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -1149,17 +1149,14 @@ lm32_elf_relocate_section (bfd *output_bfd,
if ((h != NULL)
&& (h->root.type == bfd_link_hash_undefweak))
break;
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (! ((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -1179,10 +1176,8 @@ lm32_elf_relocate_section (bfd *output_bfd,
/* fall through */
common_error:
if (!((*info->callbacks->warning)
(info, msg, name, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
break;
}
}

View File

@ -478,12 +478,9 @@ m32c_elf_relocate_section
else if (h->root.type == bfd_link_hash_undefweak)
;
else if (!bfd_link_relocatable (info))
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section, rel->r_offset, TRUE)))
return FALSE;
}
(*info->callbacks->undefined_symbol) (info, h->root.root.string,
input_bfd, input_section,
rel->r_offset, TRUE);
}
if (sec != NULL && discarded_section (sec))
@ -613,15 +610,14 @@ m32c_elf_relocate_section
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset,
TRUE);
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -642,11 +638,8 @@ m32c_elf_relocate_section
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -2580,14 +2580,11 @@ m32r_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
;
else if (!bfd_link_relocatable (info))
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section, offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR
|| ELF_ST_VISIBILITY (h->other)))))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section, offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR
|| ELF_ST_VISIBILITY (h->other)));
}
if (sec != NULL && discarded_section (sec))
@ -3062,17 +3059,14 @@ m32r_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
switch (r)
{
case bfd_reloc_overflow:
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, offset);
break;
case bfd_reloc_undefined:
if (! ((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -3092,10 +3086,8 @@ m32r_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
/* fall through */
common_error:
if (!((*info->callbacks->warning)
(info, errmsg, name, input_bfd, input_section,
offset)))
return FALSE;
(*info->callbacks->warning) (info, errmsg, name, input_bfd,
input_section, offset);
break;
}
}

View File

@ -958,7 +958,6 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
bfd_vma val;
const char * msg;
char * buf;
bfd_boolean res;
r_symndx = ELF32_R_SYM (rel->r_info);
r_type = ELF32_R_TYPE (rel->r_info);
@ -1121,8 +1120,8 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
buf = xmalloc (strlen (msg) + strlen (name) + 10);
sprintf (buf, msg, name);
(* info->callbacks->warning)
(info, buf, name, input_bfd, NULL, rel->r_offset);
(*info->callbacks->warning)
(info, buf, name, input_bfd, NULL, rel->r_offset);
free (buf);
}
@ -1156,11 +1155,9 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
"code.");
buf = xmalloc (strlen (msg) + 128);
sprintf (buf, msg, phys_addr);
res = (*info->callbacks->warning) (info, buf, name, input_bfd,
input_section, insn_addr);
(*info->callbacks->warning) (info, buf, name, input_bfd,
input_section, insn_addr);
free (buf);
if (! res)
return FALSE;
break;
}
}
@ -1176,11 +1173,9 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
(long) (relocation + rel->r_addend),
insn_page, m68hc11_phys_addr (pinfo, insn_addr),
(long) (insn_addr));
res = (*info->callbacks->warning)
(info, buf, name, input_bfd, input_section, rel->r_offset);
(*info->callbacks->warning) (info, buf, name, input_bfd,
input_section, rel->r_offset);
free (buf);
if (! res)
return FALSE;
break;
}
@ -1190,12 +1185,9 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
"normal address space at %04lx");
buf = xmalloc (strlen (msg) + 128);
sprintf (buf, msg, phys_page, phys_addr, insn_addr);
res = (*info->callbacks->warning)
(info, buf, name, input_bfd, input_section, insn_addr);
(*info->callbacks->warning) (info, buf, name, input_bfd,
input_section, insn_addr);
free (buf);
if (! res)
return FALSE;
relocation = phys_addr;
break;
}
@ -1235,11 +1227,9 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
"offset the address in your code");
buf = xmalloc (strlen (msg) + 128);
sprintf (buf, msg, phys_addr);
res = (*info->callbacks->warning) (info, buf, name, input_bfd,
input_section, insn_addr);
(*info->callbacks->warning) (info, buf, name, input_bfd,
input_section, insn_addr);
free (buf);
if (! res)
return FALSE;
break;
}
}
@ -1262,17 +1252,14 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
switch (r)
{
case bfd_reloc_overflow:
if (!((*info->callbacks->reloc_overflow)
(info, NULL, name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, NULL, name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -1292,10 +1279,8 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
/* fall through */
common_error:
if (!((*info->callbacks->warning)
(info, msg, name, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
break;
}
}

View File

@ -4185,13 +4185,9 @@ elf_m68k_relocate_section (bfd *output_bfd,
}
if (r == bfd_reloc_overflow)
{
if (!(info->callbacks->reloc_overflow
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
}
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
else
{
(*_bfd_error_handler)

View File

@ -508,13 +508,13 @@ mep_elf_relocate_section
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
@ -536,11 +536,8 @@ mep_elf_relocate_section
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -1988,15 +1988,14 @@ elf_metag_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (hh ? &hh->eh.root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset,
TRUE);
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -2017,11 +2016,8 @@ elf_metag_relocate_section (bfd *output_bfd,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -1556,16 +1556,14 @@ microblaze_elf_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
if (!((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, offset);
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -1584,9 +1582,8 @@ microblaze_elf_relocate_section (bfd *output_bfd,
errmsg = _("internal error: unknown error");
/* Fall through. */
common_error:
if (!((*info->callbacks->warning)
(info, errmsg, name, input_bfd, input_section, offset)))
return FALSE;
(*info->callbacks->warning) (info, errmsg, name, input_bfd,
input_section, offset);
break;
}
}

View File

@ -270,15 +270,14 @@ moxie_elf_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset,
TRUE);
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -299,11 +298,8 @@ moxie_elf_relocate_section (bfd *output_bfd,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -1341,15 +1341,14 @@ elf32_msp430_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset);
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -1370,11 +1369,8 @@ elf32_msp430_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (!r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -385,13 +385,13 @@ mt_elf_relocate_section
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
@ -409,11 +409,8 @@ mt_elf_relocate_section
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -5424,16 +5424,14 @@ check_reloc:
switch (r)
{
case bfd_reloc_overflow:
if (!((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, offset);
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -5452,10 +5450,9 @@ check_reloc:
errmsg = _("internal error: unknown error");
/* Fall through. */
common_error:
if (!((*info->callbacks->warning)
(info, errmsg, name, input_bfd, input_section, offset)))
return FALSE;
common_error:
(*info->callbacks->warning) (info, errmsg, name, input_bfd,
input_section, offset);
break;
}
}
@ -13059,25 +13056,22 @@ nds32_elf_get_relocated_section_contents (bfd *abfd,
switch (r)
{
case bfd_reloc_undefined:
if (!((*link_info->callbacks->undefined_symbol)
(link_info, bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
input_bfd, input_section, (*parent)->address, TRUE)))
goto error_return;
(*link_info->callbacks->undefined_symbol)
(link_info, bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
input_bfd, input_section, (*parent)->address, TRUE);
break;
case bfd_reloc_dangerous:
BFD_ASSERT (error_message != NULL);
if (!((*link_info->callbacks->reloc_dangerous)
(link_info, error_message, input_bfd, input_section,
(*parent)->address)))
goto error_return;
(*link_info->callbacks->reloc_dangerous)
(link_info, error_message,
input_bfd, input_section, (*parent)->address);
break;
case bfd_reloc_overflow:
if (!((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
(*parent)->howto->name, (*parent)->addend,
input_bfd, input_section, (*parent)->address)))
goto error_return;
(*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
(*parent)->howto->name, (*parent)->addend,
input_bfd, input_section, (*parent)->address);
break;
case bfd_reloc_outofrange:
/* PR ld/13730:

View File

@ -4480,16 +4480,16 @@ nios2_elf32_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow (info, NULL, name,
howto->name, (bfd_vma) 0,
input_bfd, input_section,
rel->r_offset);
(*info->callbacks->reloc_overflow) (info, NULL, name,
howto->name, (bfd_vma) 0,
input_bfd, input_section,
rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol (info, name, input_bfd,
input_section,
rel->r_offset, TRUE);
(*info->callbacks->undefined_symbol) (info, name, input_bfd,
input_section,
rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -4515,8 +4515,8 @@ nios2_elf32_relocate_section (bfd *output_bfd,
if (msg)
{
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
return FALSE;
}
}

View File

@ -1249,13 +1249,13 @@ or1k_elf_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
@ -1277,11 +1277,8 @@ or1k_elf_relocate_section (bfd *output_bfd,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (!r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -8567,13 +8567,12 @@ ppc_elf_relocate_section (bfd *output_bfd,
at a symbol not in this object. */
if (unresolved_reloc)
{
if (! (*info->callbacks->undefined_symbol) (info,
h->root.root.string,
input_bfd,
input_section,
rel->r_offset,
TRUE))
return FALSE;
(*info->callbacks->undefined_symbol) (info,
h->root.root.string,
input_bfd,
input_section,
rel->r_offset,
TRUE);
goto copy_reloc;
}
break;
@ -9509,13 +9508,9 @@ ppc_elf_relocate_section (bfd *output_bfd,
&& (h->root.type == bfd_link_hash_undefweak
|| h->root.type == bfd_link_hash_undefined)
&& is_branch_reloc (r_type)))
{
if (!((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), sym_name,
howto->name, rel->r_addend,
input_bfd, input_section, rel->r_offset)))
return FALSE;
}
info->callbacks->reloc_overflow
(info, (h ? &h->root : NULL), sym_name, howto->name,
rel->r_addend, input_bfd, input_section, rel->r_offset);
}
else
{

View File

@ -295,7 +295,6 @@ rl78_info_to_howto_rela (bfd * abfd ATTRIBUTE_UNUSED,
static bfd_vma
get_symbol_value (const char * name,
bfd_reloc_status_type * status,
struct bfd_link_info * info,
bfd * input_bfd,
asection * input_section,
@ -312,12 +311,8 @@ get_symbol_value (const char * name,
|| (h->type != bfd_link_hash_defined
&& h->type != bfd_link_hash_defweak))
{
bfd_reloc_status_type res;
res = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, offset, TRUE);
if (status)
* status = res;
return 0;
}
@ -327,44 +322,36 @@ get_symbol_value (const char * name,
}
static bfd_vma
get_romstart (bfd_reloc_status_type * status,
struct bfd_link_info * info,
get_romstart (struct bfd_link_info * info,
bfd * abfd,
asection * sec,
int offset)
{
static bfd_boolean cached = FALSE;
static bfd_vma cached_value = 0;
static bfd_reloc_status_type cached_status;
if (!cached)
{
cached_value = get_symbol_value ("_start", & cached_status, info, abfd, sec, offset);
cached_value = get_symbol_value ("_start", info, abfd, sec, offset);
cached = TRUE;
}
if (status)
* status = cached_status;
return cached_value;
}
static bfd_vma
get_ramstart (bfd_reloc_status_type * status,
struct bfd_link_info * info,
get_ramstart (struct bfd_link_info * info,
bfd * abfd,
asection * sec,
int offset)
{
static bfd_boolean cached = FALSE;
static bfd_vma cached_value = 0;
static bfd_reloc_status_type cached_status;
if (!cached)
{
cached_value = get_symbol_value ("__datastart", & cached_status, info, abfd, sec, offset);
cached_value = get_symbol_value ("__datastart", info, abfd, sec, offset);
cached = TRUE;
}
if (status)
* status = cached_status;
return cached_value;
}
@ -573,12 +560,12 @@ rl78_special_reloc (bfd * input_bfd,
break;
case R_RL78_OPromtop:
relocation = get_romstart (&r, NULL, input_bfd, input_section,
relocation = get_romstart (NULL, input_bfd, input_section,
reloc->address);
break;
case R_RL78_OPramtop:
relocation = get_ramstart (&r, NULL, input_bfd, input_section,
relocation = get_ramstart (NULL, input_bfd, input_section,
reloc->address);
break;
}
@ -1068,12 +1055,12 @@ rl78_elf_relocate_section
break;
case R_RL78_OPromtop:
relocation = get_romstart (&r, info, input_bfd, input_section, rel->r_offset);
relocation = get_romstart (info, input_bfd, input_section, rel->r_offset);
(void) rl78_compute_complex_reloc (r_type, relocation, input_section);
break;
case R_RL78_OPramtop:
relocation = get_ramstart (&r, info, input_bfd, input_section, rel->r_offset);
relocation = get_ramstart (info, input_bfd, input_section, rel->r_offset);
(void) rl78_compute_complex_reloc (r_type, relocation, input_section);
break;
@ -1094,15 +1081,14 @@ rl78_elf_relocate_section
if (r_type == R_RL78_DIR24S_PCREL)
msg = _("%B(%A): error: call to undefined function '%s'");
else
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset,
TRUE);
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_other:
@ -1128,9 +1114,6 @@ rl78_elf_relocate_section
if (msg)
_bfd_error_handler (msg, input_bfd, input_section, name);
if (! r)
return FALSE;
}
}
@ -1932,12 +1915,12 @@ rl78_offset_for_reloc (bfd * abfd,
break;
case R_RL78_OPromtop:
symval = get_romstart (NULL, info, input_bfd, input_section, rel->r_offset);
symval = get_romstart (info, input_bfd, input_section, rel->r_offset);
(void) rl78_compute_complex_reloc (r_type, symval, input_section);
break;
case R_RL78_OPramtop:
symval = get_ramstart (NULL, info, input_bfd, input_section, rel->r_offset);
symval = get_ramstart (info, input_bfd, input_section, rel->r_offset);
(void) rl78_compute_complex_reloc (r_type, symval, input_section);
break;

View File

@ -317,7 +317,6 @@ rx_info_to_howto_rela (bfd * abfd ATTRIBUTE_UNUSED,
static bfd_vma
get_symbol_value (const char * name,
bfd_reloc_status_type * status,
struct bfd_link_info * info,
bfd * input_bfd,
asection * input_section,
@ -331,7 +330,7 @@ get_symbol_value (const char * name,
if (h == NULL
|| (h->type != bfd_link_hash_defined
&& h->type != bfd_link_hash_defweak))
* status = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, offset, TRUE);
else
value = (h->u.def.value
@ -340,6 +339,7 @@ get_symbol_value (const char * name,
return value;
}
static bfd_vma
get_symbol_value_maybe (const char * name,
struct bfd_link_info * info)
@ -362,8 +362,7 @@ get_symbol_value_maybe (const char * name,
}
static bfd_vma
get_gp (bfd_reloc_status_type * status,
struct bfd_link_info * info,
get_gp (struct bfd_link_info * info,
bfd * abfd,
asection * sec,
int offset)
@ -373,15 +372,14 @@ get_gp (bfd_reloc_status_type * status,
if (!cached)
{
cached_value = get_symbol_value ("__gp", status, info, abfd, sec, offset);
cached_value = get_symbol_value ("__gp", info, abfd, sec, offset);
cached = TRUE;
}
return cached_value;
}
static bfd_vma
get_romstart (bfd_reloc_status_type * status,
struct bfd_link_info * info,
get_romstart (struct bfd_link_info * info,
bfd * abfd,
asection * sec,
int offset)
@ -391,15 +389,14 @@ get_romstart (bfd_reloc_status_type * status,
if (!cached)
{
cached_value = get_symbol_value ("_start", status, info, abfd, sec, offset);
cached_value = get_symbol_value ("_start", info, abfd, sec, offset);
cached = TRUE;
}
return cached_value;
}
static bfd_vma
get_ramstart (bfd_reloc_status_type * status,
struct bfd_link_info * info,
get_ramstart (struct bfd_link_info * info,
bfd * abfd,
asection * sec,
int offset)
@ -409,7 +406,7 @@ get_ramstart (bfd_reloc_status_type * status,
if (!cached)
{
cached_value = get_symbol_value ("__datastart", status, info, abfd, sec, offset);
cached_value = get_symbol_value ("__datastart", info, abfd, sec, offset);
cached = TRUE;
}
return cached_value;
@ -553,7 +550,6 @@ rx_elf_relocate_section
bfd_vma entry_vma;
int idx;
char *buf;
bfd_reloc_status_type tstat = 0;
if (table_default_cache != name)
{
@ -571,18 +567,14 @@ rx_elf_relocate_section
buf = (char *) malloc (13 + strlen (name + 20));
sprintf (buf, "$tablestart$%s", name + 20);
tstat = 0;
table_start_cache = get_symbol_value (buf,
&tstat,
info,
input_bfd,
input_section,
rel->r_offset);
sprintf (buf, "$tableend$%s", name + 20);
tstat = 0;
table_end_cache = get_symbol_value (buf,
&tstat,
info,
input_bfd,
input_section,
@ -956,7 +948,7 @@ rx_elf_relocate_section
case R_RX_RH_GPRELB:
WARN_REDHAT ("RX_RH_GPRELB");
relocation -= get_gp (&r, info, input_bfd, input_section, rel->r_offset);
relocation -= get_gp (info, input_bfd, input_section, rel->r_offset);
RANGE (0, 65535);
#if RX_OPCODE_BIG_ENDIAN
OP (1) = relocation;
@ -969,7 +961,7 @@ rx_elf_relocate_section
case R_RX_RH_GPRELW:
WARN_REDHAT ("RX_RH_GPRELW");
relocation -= get_gp (&r, info, input_bfd, input_section, rel->r_offset);
relocation -= get_gp (info, input_bfd, input_section, rel->r_offset);
ALIGN (1);
relocation >>= 1;
RANGE (0, 65535);
@ -984,7 +976,7 @@ rx_elf_relocate_section
case R_RX_RH_GPRELL:
WARN_REDHAT ("RX_RH_GPRELL");
relocation -= get_gp (&r, info, input_bfd, input_section, rel->r_offset);
relocation -= get_gp (info, input_bfd, input_section, rel->r_offset);
ALIGN (3);
relocation >>= 2;
RANGE (0, 65535);
@ -1407,11 +1399,11 @@ rx_elf_relocate_section
break;
case R_RX_OPromtop:
RX_STACK_PUSH (get_romstart (&r, info, input_bfd, input_section, rel->r_offset));
RX_STACK_PUSH (get_romstart (info, input_bfd, input_section, rel->r_offset));
break;
case R_RX_OPramtop:
RX_STACK_PUSH (get_ramstart (&r, info, input_bfd, input_section, rel->r_offset));
RX_STACK_PUSH (get_ramstart (info, input_bfd, input_section, rel->r_offset));
break;
default:
@ -1431,15 +1423,14 @@ rx_elf_relocate_section
if (r_type == R_RX_DIR24S_PCREL)
msg = _("%B(%A): error: call to undefined function '%s'");
else
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset,
TRUE);
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_other:
@ -1465,9 +1456,6 @@ rx_elf_relocate_section
if (msg)
_bfd_error_handler (msg, input_bfd, input_section, name);
if (! r)
return FALSE;
}
}
@ -1902,11 +1890,11 @@ rx_offset_for_reloc (bfd * abfd,
break;
case R_RX_OPromtop:
RX_STACK_PUSH (get_romstart (&r, info, input_bfd, input_section, rel->r_offset));
RX_STACK_PUSH (get_romstart (info, input_bfd, input_section, rel->r_offset));
break;
case R_RX_OPramtop:
RX_STACK_PUSH (get_ramstart (&r, info, input_bfd, input_section, rel->r_offset));
RX_STACK_PUSH (get_ramstart (info, input_bfd, input_section, rel->r_offset));
break;
case R_RX_DIR16UL:
@ -1941,6 +1929,8 @@ rx_offset_for_reloc (bfd * abfd,
rel ++;
}
/* FIXME. */
(void) r;
}
static void

View File

@ -3442,14 +3442,9 @@ elf_s390_relocate_section (bfd *output_bfd,
}
if (r == bfd_reloc_overflow)
{
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
}
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
else
{
(*_bfd_error_handler)

View File

@ -2667,12 +2667,11 @@ s3_bfd_score_elf_relocate_section (bfd *output_bfd,
}
else if (!bfd_link_relocatable (info))
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.root.string, input_bfd,
input_section, rel->r_offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR)
|| ELF_ST_VISIBILITY (h->root.other))))
return bfd_reloc_undefined;
(*info->callbacks->undefined_symbol)
(info, h->root.root.root.string, input_bfd,
input_section, rel->r_offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR)
|| ELF_ST_VISIBILITY (h->root.other));
relocation = 0;
}
}
@ -2718,16 +2717,14 @@ s3_bfd_score_elf_relocate_section (bfd *output_bfd,
/* If the overflowing reloc was to an undefined symbol,
we have already printed one error message and there
is no point complaining again. */
if (((!h) || (h->root.root.type != bfd_link_hash_undefined))
&& (!((*info->callbacks->reloc_overflow)
(info, NULL, name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset))))
return FALSE;
if (!h || h->root.root.type != bfd_link_hash_undefined)
(*info->callbacks->reloc_overflow)
(info, NULL, name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -2752,9 +2749,8 @@ s3_bfd_score_elf_relocate_section (bfd *output_bfd,
/* fall through */
common_error:
if (!((*info->callbacks->warning)
(info, msg, name, input_bfd, input_section, rel->r_offset)))
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
break;
}
}

View File

@ -2440,12 +2440,11 @@ s7_bfd_score_elf_relocate_section (bfd *output_bfd,
}
else if (!bfd_link_relocatable (info))
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.root.string, input_bfd,
input_section, rel->r_offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR)
|| ELF_ST_VISIBILITY (h->root.other))))
return bfd_reloc_undefined;
(*info->callbacks->undefined_symbol)
(info, h->root.root.root.string, input_bfd,
input_section, rel->r_offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR)
|| ELF_ST_VISIBILITY (h->root.other));
relocation = 0;
}
}
@ -2528,16 +2527,14 @@ s7_bfd_score_elf_relocate_section (bfd *output_bfd,
/* If the overflowing reloc was to an undefined symbol,
we have already printed one error message and there
is no point complaining again. */
if (((!h) || (h->root.root.type != bfd_link_hash_undefined))
&& (!((*info->callbacks->reloc_overflow)
(info, NULL, name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset))))
return FALSE;
if (!h || h->root.root.type != bfd_link_hash_undefined)
(*info->callbacks->reloc_overflow)
(info, NULL, name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -2557,9 +2554,8 @@ s7_bfd_score_elf_relocate_section (bfd *output_bfd,
/* fall through */
common_error:
if (!((*info->callbacks->warning)
(info, msg, name, input_bfd, input_section, rel->r_offset)))
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
break;
}
}

View File

@ -3952,10 +3952,10 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
datalabel processing here. Make sure this does not change
without notice. */
if ((sym->st_other & STO_SH5_ISA32) != 0)
((*info->callbacks->reloc_dangerous)
(info,
_("Unexpected STO_SH5_ISA32 on local symbol is not handled"),
input_bfd, input_section, rel->r_offset));
(*info->callbacks->reloc_dangerous)
(info,
_("Unexpected STO_SH5_ISA32 on local symbol is not handled"),
input_bfd, input_section, rel->r_offset);
if (sec != NULL && discarded_section (sec))
/* Handled below. */
@ -4141,14 +4141,11 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
;
else if (!bfd_link_relocatable (info))
{
if (! info->callbacks->undefined_symbol
(info, h->root.root.string, input_bfd,
input_section, rel->r_offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR
|| ELF_ST_VISIBILITY (h->other))))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section, rel->r_offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR
|| ELF_ST_VISIBILITY (h->other)));
}
if (sec != NULL && discarded_section (sec))
@ -5520,11 +5517,9 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
if (*name == '\0')
name = bfd_section_name (input_bfd, sec);
}
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
}
break;
}

View File

@ -530,11 +530,9 @@ shmedia_prepare_reloc (struct bfd_link_info *info, bfd *abfd,
&& ((*relocation + rel->r_addend) & 1) == 0)
msg = _("PTA mismatch: a SHcompact address (bit 0 == 0)");
if (msg != NULL
&& ! ((*info->callbacks->reloc_dangerous)
(info, msg, abfd, input_section,
rel->r_offset)))
return FALSE;
if (msg != NULL)
(*info->callbacks->reloc_dangerous)
(info, msg, abfd, input_section, rel->r_offset);
}
else
{

View File

@ -4908,12 +4908,11 @@ spu_elf_relocate_section (bfd *output_bfd,
bfd_boolean err;
err = (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
|| ELF_ST_VISIBILITY (h->other) != STV_DEFAULT);
if (!info->callbacks->undefined_symbol (info,
h->root.root.string,
input_bfd,
input_section,
rel->r_offset, err))
return FALSE;
(*info->callbacks->undefined_symbol) (info,
h->root.root.string,
input_bfd,
input_section,
rel->r_offset, err);
}
sym_name = h->root.root.string;
}
@ -5050,17 +5049,14 @@ spu_elf_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
if (!((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), sym_name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), sym_name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, sym_name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, sym_name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -5081,10 +5077,8 @@ spu_elf_relocate_section (bfd *output_bfd,
common_error:
ret = FALSE;
if (!((*info->callbacks->warning)
(info, msg, sym_name, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->warning) (info, msg, sym_name, input_bfd,
input_section, rel->r_offset);
break;
}
}

View File

@ -2719,20 +2719,16 @@ elf32_tic6x_relocate_section (bfd *output_bfd,
/* If the overflowing reloc was to an undefined symbol,
we have already printed one error message and there
is no point complaining again. */
if ((! h ||
h->root.type != bfd_link_hash_undefined)
&& (!((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset))))
return FALSE;
if (!h || h->root.type != bfd_link_hash_undefined)
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol) (info, name, input_bfd,
input_section,
rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -2753,10 +2749,8 @@ elf32_tic6x_relocate_section (bfd *output_bfd,
common_error:
BFD_ASSERT (error_message != NULL);
if (!((*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section, rel->r_offset);
break;
}
}

View File

@ -3657,15 +3657,14 @@ tilepro_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset,
TRUE);
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -3686,11 +3685,8 @@ tilepro_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -2271,18 +2271,14 @@ v850_elf_relocate_section (bfd *output_bfd,
switch ((int) r)
{
case bfd_reloc_overflow:
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
if (! ((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -2314,10 +2310,8 @@ v850_elf_relocate_section (bfd *output_bfd,
/* fall through */
common_error:
if (!((*info->callbacks->warning)
(info, msg, name, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
break;
}
}

View File

@ -1738,11 +1738,9 @@ elf_vax_relocate_section (bfd *output_bfd,
if (*name == '\0')
name = bfd_section_name (input_bfd, sec);
}
if (!(info->callbacks->reloc_overflow
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
info->callbacks->reloc_overflow
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
}
break;
}

View File

@ -662,13 +662,13 @@ visium_elf_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
@ -690,11 +690,8 @@ visium_elf_relocate_section (bfd *output_bfd,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (!r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -920,15 +920,14 @@ xstormy16_elf_relocate_section (bfd * output_bfd ATTRIBUTE_UNU
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset,
TRUE);
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -949,11 +948,8 @@ xstormy16_elf_relocate_section (bfd * output_bfd ATTRIBUTE_UNU
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -2702,12 +2702,10 @@ elf_xtensa_relocate_section (bfd *output_bfd,
r = contract_asm_expansion (contents, input_size, rel,
&error_message);
if (r != bfd_reloc_ok)
{
if (!((*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section,
rel->r_offset)))
return FALSE;
}
(*info->callbacks->reloc_dangerous)
(info, error_message,
input_bfd, input_section, rel->r_offset);
r_type = ELF32_R_TYPE (rel->r_info);
}
@ -2759,12 +2757,9 @@ elf_xtensa_relocate_section (bfd *output_bfd,
}
}
if (r != bfd_reloc_ok)
{
if (!((*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section,
rel->r_offset)))
return FALSE;
}
(*info->callbacks->reloc_dangerous)
(info, error_message,
input_bfd, input_section, rel->r_offset);
/* Done with work for relocatable link; continue with next reloc. */
continue;
@ -2864,10 +2859,9 @@ elf_xtensa_relocate_section (bfd *output_bfd,
{
error_message =
_("dynamic relocation in read-only section");
if (!((*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_dangerous)
(info, error_message,
input_bfd, input_section, rel->r_offset);
}
if (dynamic_symbol)
@ -2961,10 +2955,9 @@ elf_xtensa_relocate_section (bfd *output_bfd,
{
error_message =
_("TLS relocation invalid without dynamic sections");
if (!((*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_dangerous)
(info, error_message,
input_bfd, input_section, rel->r_offset);
}
else
{
@ -2985,10 +2978,9 @@ elf_xtensa_relocate_section (bfd *output_bfd,
{
error_message =
_("dynamic relocation in read-only section");
if (!((*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_dangerous)
(info, error_message,
input_bfd, input_section, rel->r_offset);
}
indx = h && h->dynindx != -1 ? h->dynindx : 0;
@ -3030,12 +3022,9 @@ elf_xtensa_relocate_section (bfd *output_bfd,
(h && elf_xtensa_hash_entry (h) == htab->tlsbase);
if (! replace_tls_insn (rel, input_bfd, input_section, contents,
is_ld_model, &error_message))
{
if (!((*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section,
rel->r_offset)))
return FALSE;
}
(*info->callbacks->reloc_dangerous)
(info, error_message,
input_bfd, input_section, rel->r_offset);
if (r_type != R_XTENSA_TLS_ARG || is_ld_model)
{
@ -3054,10 +3043,8 @@ elf_xtensa_relocate_section (bfd *output_bfd,
error_message =
vsprint_msg ("invalid relocation for dynamic symbol", ": %s",
strlen (name) + 2, name);
if (!((*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section, rel->r_offset);
continue;
}
break;
@ -3105,10 +3092,8 @@ elf_xtensa_relocate_section (bfd *output_bfd,
strlen (name) + 22,
name, (int) rel->r_addend);
if (!((*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section, rel->r_offset);
}
}

View File

@ -4825,11 +4825,9 @@ elf64_alpha_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
if (*name == '\0')
name = bfd_section_name (input_bfd, sec);
}
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root.root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
ret_val = FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root.root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
}
break;

View File

@ -3908,12 +3908,11 @@ elf64_hppa_relocate_section (bfd *output_bfd,
bfd_boolean err;
err = (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
|| ELF_ST_VISIBILITY (eh->other) != STV_DEFAULT);
if (!info->callbacks->undefined_symbol (info,
eh->root.root.string,
input_bfd,
input_section,
rel->r_offset, err))
return FALSE;
(*info->callbacks->undefined_symbol) (info,
eh->root.root.string,
input_bfd,
input_section,
rel->r_offset, err);
}
if (!bfd_link_relocatable (info)
@ -3925,12 +3924,9 @@ elf64_hppa_relocate_section (bfd *output_bfd,
if (info->unresolved_syms_in_objects == RM_IGNORE
&& ELF_ST_VISIBILITY (eh->other) == STV_DEFAULT
&& eh->type == STT_PARISC_MILLI)
{
if (! info->callbacks->undefined_symbol
(info, eh_name (eh), input_bfd,
input_section, rel->r_offset, FALSE))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, eh_name (eh), input_bfd,
input_section, rel->r_offset, FALSE);
}
}
@ -3969,11 +3965,9 @@ elf64_hppa_relocate_section (bfd *output_bfd,
sym_name = bfd_section_name (input_bfd, sym_sec);
}
if (!((*info->callbacks->reloc_overflow)
(info, (eh ? &eh->root : NULL), sym_name,
howto->name, (bfd_vma) 0, input_bfd,
input_section, rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (eh ? &eh->root : NULL), sym_name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
}
break;
}

View File

@ -3902,10 +3902,9 @@ elf64_ia64_relocate_section (bfd *output_bfd,
else
name = bfd_elf_sym_name (input_bfd, symtab_hdr, sym,
sym_sec);
if (!(*info->callbacks->warning) (info, _("unsupported reloc"),
name, input_bfd,
input_section, rel->r_offset))
return FALSE;
(*info->callbacks->warning) (info, _("unsupported reloc"),
name, input_bfd,
input_section, rel->r_offset);
ret_val = FALSE;
}
break;
@ -3960,15 +3959,14 @@ elf64_ia64_relocate_section (bfd *output_bfd,
break;
}
default:
if (!(*info->callbacks->reloc_overflow) (info,
&h->root,
name,
howto->name,
(bfd_vma) 0,
input_bfd,
input_section,
rel->r_offset))
return FALSE;
(*info->callbacks->reloc_overflow) (info,
&h->root,
name,
howto->name,
(bfd_vma) 0,
input_bfd,
input_section,
rel->r_offset);
break;
}

View File

@ -1516,13 +1516,12 @@ mmix_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
if (r != bfd_reloc_ok)
{
bfd_boolean check_ok = TRUE;
const char * msg = (const char *) NULL;
switch (r)
{
case bfd_reloc_overflow:
check_ok = info->callbacks->reloc_overflow
info->callbacks->reloc_overflow
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
@ -1530,9 +1529,8 @@ mmix_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
case bfd_reloc_undefined:
/* We may have sent this message above. */
if (! undefined_signalled)
check_ok = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset,
TRUE);
info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
undefined_signalled = TRUE;
break;
@ -1554,11 +1552,8 @@ mmix_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
}
if (msg)
check_ok = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! check_ok)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -15144,13 +15144,11 @@ ppc64_elf_relocate_section (bfd *output_bfd,
&& (h->elf.root.type == bfd_link_hash_undefweak
|| h->elf.root.type == bfd_link_hash_undefined)
&& is_branch_reloc (r_type))))
{
if (!((*info->callbacks->reloc_overflow)
(info, &h->elf.root, sym_name,
reloc_name, orig_rel.r_addend,
input_bfd, input_section, rel->r_offset)))
return FALSE;
}
info->callbacks->reloc_overflow (info, &h->elf.root,
sym_name, reloc_name,
orig_rel.r_addend,
input_bfd, input_section,
rel->r_offset);
}
else
{

View File

@ -3357,14 +3357,9 @@ elf_s390_relocate_section (bfd *output_bfd,
}
if (r == bfd_reloc_overflow)
{
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
}
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
else
{
(*_bfd_error_handler)

View File

@ -1508,10 +1508,10 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
datalabel processing here. Make sure this does not change
without notice. */
if ((sym->st_other & STO_SH5_ISA32) != 0)
((*info->callbacks->reloc_dangerous)
(info,
_("Unexpected STO_SH5_ISA32 on local symbol is not handled"),
input_bfd, input_section, rel->r_offset));
(*info->callbacks->reloc_dangerous)
(info,
_("Unexpected STO_SH5_ISA32 on local symbol is not handled"),
input_bfd, input_section, rel->r_offset);
if (sec != NULL && discarded_section (sec))
/* Handled below. */
@ -1650,14 +1650,11 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
;
else if (!bfd_link_relocatable (info))
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section, rel->r_offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR
|| ELF_ST_VISIBILITY (h->other)))))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section, rel->r_offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR
|| ELF_ST_VISIBILITY (h->other)));
}
if (sec != NULL && discarded_section (sec))
@ -2081,11 +2078,9 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
if (*name == '\0')
name = bfd_section_name (input_bfd, sec);
}
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
}
break;
}

View File

@ -5372,13 +5372,9 @@ check_relocation_error:
}
if (r == bfd_reloc_overflow)
{
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
}
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
else
{
(*_bfd_error_handler)

View File

@ -1481,10 +1481,8 @@ _bfd_elf_merge_symbol (bfd *abfd,
the old symbol override the new one as normally happens with
symbols defined in dynamic objects. */
if (! ((*info->callbacks->multiple_common)
(info, &h->root, abfd, bfd_link_hash_common, sym->st_size)))
return FALSE;
(*info->callbacks->multiple_common) (info, &h->root, abfd,
bfd_link_hash_common, sym->st_size);
if (sym->st_size > h->size)
h->size = sym->st_size;
@ -1642,9 +1640,8 @@ _bfd_elf_merge_symbol (bfd *abfd,
/* It would be best if we could set the hash table entry to a
common symbol, but we don't know what to use for the section
or the alignment. */
if (! ((*info->callbacks->multiple_common)
(info, &h->root, abfd, bfd_link_hash_common, sym->st_size)))
return FALSE;
(*info->callbacks->multiple_common) (info, &h->root, abfd,
bfd_link_hash_common, sym->st_size);
/* If the presumed common symbol in the dynamic object is
larger, pretend that the new symbol has its size. */
@ -9235,19 +9232,11 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data)
&& (!h->ref_regular || flinfo->info->gc_sections)
&& !elf_link_check_versioned_symbol (flinfo->info, bed, h)
&& flinfo->info->unresolved_syms_in_shared_libs != RM_IGNORE)
{
if (!(flinfo->info->callbacks->undefined_symbol
(flinfo->info, h->root.root.string,
h->ref_regular ? NULL : h->root.u.undef.abfd,
NULL, 0,
(flinfo->info->unresolved_syms_in_shared_libs
== RM_GENERATE_ERROR))))
{
bfd_set_error (bfd_error_bad_value);
eoinfo->failed = TRUE;
return FALSE;
}
}
(*flinfo->info->callbacks->undefined_symbol)
(flinfo->info, h->root.root.string,
h->ref_regular ? NULL : h->root.u.undef.abfd,
NULL, 0,
flinfo->info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR);
/* Strip a global symbol defined in a discarded section. */
if (h->indx == -3)
@ -10761,9 +10750,8 @@ elf_reloc_link_order (bfd *output_bfd,
}
else
{
if (! ((*info->callbacks->unattached_reloc)
(info, link_order->u.reloc.p->u.name, NULL, NULL, 0)))
return FALSE;
(*info->callbacks->unattached_reloc)
(info, link_order->u.reloc.p->u.name, NULL, NULL, 0);
indx = 0;
}
}
@ -10798,13 +10786,9 @@ elf_reloc_link_order (bfd *output_bfd,
link_order->u.reloc.p->u.section);
else
sym_name = link_order->u.reloc.p->u.name;
if (! ((*info->callbacks->reloc_overflow)
(info, NULL, sym_name, howto->name, addend, NULL,
NULL, (bfd_vma) 0)))
{
free (buf);
return FALSE;
}
(*info->callbacks->reloc_overflow) (info, NULL, sym_name,
howto->name, addend, NULL, NULL,
(bfd_vma) 0);
break;
}

View File

@ -6063,13 +6063,10 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
if (r_type != R_AARCH64_NONE && r_type != R_AARCH64_NULL
&& bfd_is_und_section (sec)
&& ELF_ST_BIND (sym->st_info) != STB_WEAK)
{
if (!info->callbacks->undefined_symbol
(info, bfd_elf_string_from_elf_section
(input_bfd, symtab_hdr->sh_link, sym->st_name),
input_bfd, input_section, rel->r_offset, TRUE))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, bfd_elf_string_from_elf_section
(input_bfd, symtab_hdr->sh_link, sym->st_name),
input_bfd, input_section, rel->r_offset, TRUE);
relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
@ -6411,10 +6408,9 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
switch (r)
{
case bfd_reloc_overflow:
if (!(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset);
if (real_r_type == BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15
|| real_r_type == BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14)
{
@ -6456,10 +6452,8 @@ alignment than was declared where it was defined."),
break;
case bfd_reloc_undefined:
if (!((*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section,
rel->r_offset, TRUE)))
return FALSE;
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -6480,10 +6474,8 @@ alignment than was declared where it was defined."),
common_error:
BFD_ASSERT (error_message != NULL);
if (!((*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_dangerous)
(info, error_message, input_bfd, input_section, rel->r_offset);
break;
}
}

View File

@ -4428,10 +4428,9 @@ elfNN_ia64_relocate_section (bfd *output_bfd,
else
name = bfd_elf_sym_name (input_bfd, symtab_hdr, sym,
sym_sec);
if (!(*info->callbacks->warning) (info, _("unsupported reloc"),
name, input_bfd,
input_section, rel->r_offset))
return FALSE;
(*info->callbacks->warning) (info, _("unsupported reloc"),
name, input_bfd,
input_section, rel->r_offset);
ret_val = FALSE;
}
break;
@ -4487,15 +4486,14 @@ missing_tls_sec:
break;
}
default:
if (!(*info->callbacks->reloc_overflow) (info,
&h->root,
name,
howto->name,
(bfd_vma) 0,
input_bfd,
input_section,
rel->r_offset))
return FALSE;
(*info->callbacks->reloc_overflow) (info,
&h->root,
name,
howto->name,
(bfd_vma) 0,
input_bfd,
input_section,
rel->r_offset);
break;
}

View File

@ -5410,17 +5410,14 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
http://techpubs.sgi.com/library/manuals/4000/007-4658-001/pdf/007-4658-001.pdf */
symbol = 0;
}
else if ((*info->callbacks->undefined_symbol)
(info, h->root.root.root.string, input_bfd,
input_section, relocation->r_offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR)
|| ELF_ST_VISIBILITY (h->root.other)))
{
return bfd_reloc_undefined;
}
else
{
return bfd_reloc_notsupported;
(*info->callbacks->undefined_symbol)
(info, h->root.root.root.string, input_bfd,
input_section, relocation->r_offset,
(info->unresolved_syms_in_objects == RM_GENERATE_ERROR)
|| ELF_ST_VISIBILITY (h->root.other));
return bfd_reloc_undefined;
}
target_is_16_bit_code_p = ELF_ST_IS_MIPS16 (h->root.other);
@ -10250,10 +10247,9 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
htab->small_data_overflow_reported = TRUE;
(*info->callbacks->einfo) ("%P: %s\n", msg);
}
if (! ((*info->callbacks->reloc_overflow)
(info, NULL, name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, NULL, name, howto->name, (bfd_vma) 0,
input_bfd, input_section, rel->r_offset);
}
break;
@ -12929,25 +12925,22 @@ _bfd_elf_mips_get_relocated_section_contents
switch (r)
{
case bfd_reloc_undefined:
if (!((*link_info->callbacks->undefined_symbol)
(link_info, bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
input_bfd, input_section, (*parent)->address, TRUE)))
goto error_return;
(*link_info->callbacks->undefined_symbol)
(link_info, bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
input_bfd, input_section, (*parent)->address, TRUE);
break;
case bfd_reloc_dangerous:
BFD_ASSERT (error_message != NULL);
if (!((*link_info->callbacks->reloc_dangerous)
(link_info, error_message, input_bfd, input_section,
(*parent)->address)))
goto error_return;
(*link_info->callbacks->reloc_dangerous)
(link_info, error_message,
input_bfd, input_section, (*parent)->address);
break;
case bfd_reloc_overflow:
if (!((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
(*parent)->howto->name, (*parent)->addend,
input_bfd, input_section, (*parent)->address)))
goto error_return;
(*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
(*parent)->howto->name, (*parent)->addend,
input_bfd, input_section, (*parent)->address);
break;
case bfd_reloc_outofrange:
default:

View File

@ -4199,11 +4199,9 @@ do_relocation:
if (*name == '\0')
name = bfd_section_name (input_bfd, sec);
}
if (! ((*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section,
rel->r_offset)))
return FALSE;
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
}
break;
}

View File

@ -4044,15 +4044,14 @@ tilegx_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
switch (r)
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
(*info->callbacks->reloc_overflow)
(info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset,
TRUE);
(*info->callbacks->undefined_symbol)
(info, name, input_bfd, input_section, rel->r_offset, TRUE);
break;
case bfd_reloc_outofrange:
@ -4073,11 +4072,8 @@ tilegx_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
}
if (msg)
r = info->callbacks->warning
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
return FALSE;
(*info->callbacks->warning) (info, msg, name, input_bfd,
input_section, rel->r_offset);
}
}

View File

@ -1544,9 +1544,8 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info,
/* We have found a definition for a symbol which was
previously common. */
BFD_ASSERT (h->type == bfd_link_hash_common);
if (! ((*info->callbacks->multiple_common)
(info, h, abfd, bfd_link_hash_defined, 0)))
return FALSE;
(*info->callbacks->multiple_common) (info, h, abfd,
bfd_link_hash_defined, 0);
/* Fall through. */
case DEF:
case DEFW:
@ -1603,10 +1602,9 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info,
if (oldtype == bfd_link_hash_defweak)
abort ();
if (! ((*info->callbacks->constructor)
(info, c == 'I',
h->root.string, abfd, section, value)))
return FALSE;
(*info->callbacks->constructor) (info, c == 'I',
h->root.string, abfd,
section, value);
}
}
}
@ -1675,9 +1673,8 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info,
already had a common definition. Use the maximum of the
two sizes, and use the section required by the larger symbol. */
BFD_ASSERT (h->type == bfd_link_hash_common);
if (! ((*info->callbacks->multiple_common)
(info, h, abfd, bfd_link_hash_common, value)))
return FALSE;
(*info->callbacks->multiple_common) (info, h, abfd,
bfd_link_hash_common, value);
if (value > h->u.c.size)
{
unsigned int power;
@ -1715,9 +1712,8 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info,
case CREF:
/* We have found a common definition for a symbol which
was already defined. */
if (! ((*info->callbacks->multiple_common)
(info, h, abfd, bfd_link_hash_common, value)))
return FALSE;
(*info->callbacks->multiple_common) (info, h, abfd,
bfd_link_hash_common, value);
break;
case MIND:
@ -1728,17 +1724,15 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info,
/* Fall through. */
case MDEF:
/* Handle a multiple definition. */
if (! ((*info->callbacks->multiple_definition)
(info, h, abfd, section, value)))
return FALSE;
(*info->callbacks->multiple_definition) (info, h,
abfd, section, value);
break;
case CIND:
/* Create an indirect symbol from an existing common symbol. */
BFD_ASSERT (h->type == bfd_link_hash_common);
if (! ((*info->callbacks->multiple_common)
(info, h, abfd, bfd_link_hash_indirect, 0)))
return FALSE;
(*info->callbacks->multiple_common) (info, h, abfd,
bfd_link_hash_indirect, 0);
/* Fall through. */
case IND:
if (inh->type == bfd_link_hash_indirect
@ -1779,9 +1773,8 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info,
case SET:
/* Add an entry to a set. */
if (! (*info->callbacks->add_to_set) (info, h, BFD_RELOC_CTOR,
abfd, section, value))
return FALSE;
(*info->callbacks->add_to_set) (info, h, BFD_RELOC_CTOR,
abfd, section, value);
break;
case WARNC:
@ -1790,10 +1783,8 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info,
if (h->u.i.warning != NULL
&& (abfd->flags & BFD_PLUGIN) == 0)
{
if (! (*info->callbacks->warning) (info, h->u.i.warning,
h->root.string, abfd,
NULL, 0))
return FALSE;
(*info->callbacks->warning) (info, h->u.i.warning,
h->root.string, abfd, NULL, 0);
/* Only issue a warning once. */
h->u.i.warning = NULL;
}
@ -1819,9 +1810,8 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info,
&& (h->u.undef.next != NULL || info->hash->undefs_tail == h))
|| h->non_ir_ref)
{
if (! (*info->callbacks->warning) (info, string, h->root.string,
hash_entry_bfd (h), NULL, 0))
return FALSE;
(*info->callbacks->warning) (info, string, h->root.string,
hash_entry_bfd (h), NULL, 0);
break;
}
/* Fall through. */
@ -2412,9 +2402,8 @@ _bfd_generic_reloc_link_order (bfd *abfd,
if (h == NULL
|| ! h->written)
{
if (! ((*info->callbacks->unattached_reloc)
(info, link_order->u.reloc.p->u.name, NULL, NULL, 0)))
return FALSE;
(*info->callbacks->unattached_reloc)
(info, link_order->u.reloc.p->u.name, NULL, NULL, 0);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@ -2448,17 +2437,13 @@ _bfd_generic_reloc_link_order (bfd *abfd,
case bfd_reloc_outofrange:
abort ();
case bfd_reloc_overflow:
if (! ((*info->callbacks->reloc_overflow)
(info, NULL,
(link_order->type == bfd_section_reloc_link_order
? bfd_section_name (abfd, link_order->u.reloc.p->u.section)
: link_order->u.reloc.p->u.name),
r->howto->name, link_order->u.reloc.p->addend,
NULL, NULL, 0)))
{
free (buf);
return FALSE;
}
(*info->callbacks->reloc_overflow)
(info, NULL,
(link_order->type == bfd_section_reloc_link_order
? bfd_section_name (abfd, link_order->u.reloc.p->u.section)
: link_order->u.reloc.p->u.name),
r->howto->name, link_order->u.reloc.p->addend,
NULL, NULL, 0);
break;
}
loc = link_order->offset * bfd_octets_per_byte (abfd);

View File

@ -3070,9 +3070,8 @@ aout_link_reloc_link_order (struct aout_final_link_info *flaginfo,
}
else
{
if (! ((*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, pr->u.name, NULL, NULL, (bfd_vma) 0)))
return FALSE;
(*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, pr->u.name, NULL, NULL, (bfd_vma) 0);
r_index = 0;
}
}
@ -3167,18 +3166,14 @@ aout_link_reloc_link_order (struct aout_final_link_info *flaginfo,
case bfd_reloc_outofrange:
abort ();
case bfd_reloc_overflow:
if (! ((*flaginfo->info->callbacks->reloc_overflow)
(flaginfo->info, NULL,
(p->type == bfd_section_reloc_link_order
? bfd_section_name (flaginfo->output_bfd,
pr->u.section)
: pr->u.name),
howto->name, pr->addend, NULL,
(asection *) NULL, (bfd_vma) 0)))
{
free (buf);
return FALSE;
}
(*flaginfo->info->callbacks->reloc_overflow)
(flaginfo->info, NULL,
(p->type == bfd_section_reloc_link_order
? bfd_section_name (flaginfo->output_bfd,
pr->u.section)
: pr->u.name),
howto->name, pr->addend, NULL,
(asection *) NULL, (bfd_vma) 0);
break;
}
ok = bfd_set_section_contents (flaginfo->output_bfd, o,
@ -3355,10 +3350,9 @@ pdp11_aout_link_input_section (struct aout_final_link_info *flaginfo,
name = strings + GET_WORD (input_bfd,
syms[r_index].e_strx);
if (! ((*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, name, input_bfd, input_section,
r_addr)))
return FALSE;
(*flaginfo->info->callbacks->unattached_reloc)
(flaginfo->info, name, input_bfd, input_section,
r_addr);
r_index = 0;
}
}
@ -3469,10 +3463,9 @@ pdp11_aout_link_input_section (struct aout_final_link_info *flaginfo,
name = h->root.root.string;
else
name = strings + GET_WORD (input_bfd, syms[r_index].e_strx);
if (! ((*flaginfo->info->callbacks->undefined_symbol)
(flaginfo->info, name, input_bfd, input_section,
r_addr, TRUE)))
return FALSE;
(*flaginfo->info->callbacks->undefined_symbol)
(flaginfo->info, name, input_bfd, input_section,
r_addr, TRUE);
}
r = MY_final_link_relocate (howto,
@ -3504,11 +3497,9 @@ pdp11_aout_link_input_section (struct aout_final_link_info *flaginfo,
s = aout_reloc_type_to_section (input_bfd, r_type);
name = bfd_section_name (input_bfd, s);
}
if (! ((*flaginfo->info->callbacks->reloc_overflow)
(flaginfo->info, (h ? &h->root : NULL), name,
howto->name, (bfd_vma) 0, input_bfd,
input_section, r_addr)))
return FALSE;
(*flaginfo->info->callbacks->reloc_overflow)
(flaginfo->info, (h ? &h->root : NULL), name, howto->name,
(bfd_vma) 0, input_bfd, input_section, r_addr);
}
break;
}

View File

@ -702,12 +702,9 @@ coff_pe_mips_relocate_section (bfd *output_bfd,
}
else if (! bfd_link_relocatable (info))
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE)))
return FALSE;
}
(*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd, input_section,
rel->r_vaddr - input_section->vma, TRUE);
}
src = rel->r_vaddr + input_section->output_section->vma

View File

@ -8001,26 +8001,22 @@ bfd_generic_get_relocated_section_contents (bfd *abfd,
switch (r)
{
case bfd_reloc_undefined:
if (!((*link_info->callbacks->undefined_symbol)
(link_info, bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
input_bfd, input_section, (*parent)->address,
TRUE)))
goto error_return;
(*link_info->callbacks->undefined_symbol)
(link_info, bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
input_bfd, input_section, (*parent)->address, TRUE);
break;
case bfd_reloc_dangerous:
BFD_ASSERT (error_message != NULL);
if (!((*link_info->callbacks->reloc_dangerous)
(link_info, error_message, input_bfd, input_section,
(*parent)->address)))
goto error_return;
(*link_info->callbacks->reloc_dangerous)
(link_info, error_message,
input_bfd, input_section, (*parent)->address);
break;
case bfd_reloc_overflow:
if (!((*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
(*parent)->howto->name, (*parent)->addend,
input_bfd, input_section, (*parent)->address)))
goto error_return;
(*link_info->callbacks->reloc_overflow)
(link_info, NULL,
bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
(*parent)->howto->name, (*parent)->addend,
input_bfd, input_section, (*parent)->address);
break;
case bfd_reloc_outofrange:
/* PR ld/13730:

View File

@ -80,11 +80,9 @@ bfd_coff_reloc16_get_value (arelent *reloc,
value = 0;
else
{
if (!((*link_info->callbacks->undefined_symbol)
(link_info, bfd_asymbol_name (symbol),
input_section->owner, input_section, reloc->address,
TRUE)))
abort ();
(*link_info->callbacks->undefined_symbol)
(link_info, bfd_asymbol_name (symbol),
input_section->owner, input_section, reloc->address, TRUE);
value = 0;
}
}

View File

@ -24,7 +24,7 @@
#include "libbfd.h"
#include "bfdlink.h"
static bfd_boolean
static void
simple_dummy_warning (struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
const char *warning ATTRIBUTE_UNUSED,
const char *symbol ATTRIBUTE_UNUSED,
@ -32,10 +32,9 @@ simple_dummy_warning (struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
asection *section ATTRIBUTE_UNUSED,
bfd_vma address ATTRIBUTE_UNUSED)
{
return TRUE;
}
static bfd_boolean
static void
simple_dummy_undefined_symbol (struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
const char *name ATTRIBUTE_UNUSED,
bfd *abfd ATTRIBUTE_UNUSED,
@ -43,10 +42,9 @@ simple_dummy_undefined_symbol (struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
bfd_vma address ATTRIBUTE_UNUSED,
bfd_boolean fatal ATTRIBUTE_UNUSED)
{
return TRUE;
}
static bfd_boolean
static void
simple_dummy_reloc_overflow (struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
struct bfd_link_hash_entry *entry ATTRIBUTE_UNUSED,
const char *name ATTRIBUTE_UNUSED,
@ -56,37 +54,33 @@ simple_dummy_reloc_overflow (struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
asection *section ATTRIBUTE_UNUSED,
bfd_vma address ATTRIBUTE_UNUSED)
{
return TRUE;
}
static bfd_boolean
static void
simple_dummy_reloc_dangerous (struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
const char *message ATTRIBUTE_UNUSED,
bfd *abfd ATTRIBUTE_UNUSED,
asection *section ATTRIBUTE_UNUSED,
bfd_vma address ATTRIBUTE_UNUSED)
{
return TRUE;
}
static bfd_boolean
static void
simple_dummy_unattached_reloc (struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
const char *name ATTRIBUTE_UNUSED,
bfd *abfd ATTRIBUTE_UNUSED,
asection *section ATTRIBUTE_UNUSED,
bfd_vma address ATTRIBUTE_UNUSED)
{
return TRUE;
}
static bfd_boolean
static void
simple_dummy_multiple_definition (struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
struct bfd_link_hash_entry *h ATTRIBUTE_UNUSED,
bfd *nbfd ATTRIBUTE_UNUSED,
asection *nsec ATTRIBUTE_UNUSED,
bfd_vma nval ATTRIBUTE_UNUSED)
{
return TRUE;
}
static void

View File

@ -1641,9 +1641,8 @@ _bfd_vms_get_value (bfd *abfd, const unsigned char *ascic,
*vma = 0;
else
{
if (!(*info->callbacks->undefined_symbol)
(info, name, abfd, PRIV (image_section), PRIV (image_offset), TRUE))
abort ();
(*info->callbacks->undefined_symbol)
(info, name, abfd, PRIV (image_section), PRIV (image_offset), TRUE);
*vma = 0;
}
}

View File

@ -1992,9 +1992,10 @@ xcoff_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
sure the XCOFF linker is wholly prepared to
handle them, and that would only be a warning,
not an error. */
if (! ((*info->callbacks->multiple_definition)
(info, &(*sym_hash)->root, NULL, NULL, (bfd_vma) 0)))
goto error_return;
(*info->callbacks->multiple_definition) (info,
&(*sym_hash)->root,
NULL, NULL,
(bfd_vma) 0);
/* Try not to give this error too many times. */
(*sym_hash)->flags &= ~XCOFF_MULTIPLY_DEFINED;
}
@ -3117,11 +3118,8 @@ bfd_xcoff_import_symbol (bfd *output_bfd,
if (h->root.type == bfd_link_hash_defined
&& (! bfd_is_abs_section (h->root.u.def.section)
|| h->root.u.def.value != val))
{
if (! ((*info->callbacks->multiple_definition)
(info, &h->root, output_bfd, bfd_abs_section_ptr, val)))
return FALSE;
}
(*info->callbacks->multiple_definition) (info, &h->root, output_bfd,
bfd_abs_section_ptr, val);
h->root.type = bfd_link_hash_defined;
h->root.u.def.section = bfd_abs_section_ptr;
@ -4942,10 +4940,9 @@ xcoff_link_input_bfd (struct xcoff_final_link_info *flinfo,
if (name == NULL)
return FALSE;
if (!(*flinfo->info->callbacks->unattached_reloc)
(flinfo->info, name, input_bfd, o,
irel->r_vaddr))
return FALSE;
(*flinfo->info->callbacks->unattached_reloc)
(flinfo->info, name,
input_bfd, o, irel->r_vaddr);
}
}
}
@ -5712,9 +5709,8 @@ xcoff_reloc_link_order (bfd *output_bfd,
FALSE, FALSE, TRUE));
if (h == NULL)
{
if (! ((*flinfo->info->callbacks->unattached_reloc)
(flinfo->info, link_order->u.reloc.p->u.name, NULL, NULL, (bfd_vma) 0)))
return FALSE;
(*flinfo->info->callbacks->unattached_reloc)
(flinfo->info, link_order->u.reloc.p->u.name, NULL, NULL, (bfd_vma) 0);
return TRUE;
}
@ -5752,13 +5748,9 @@ xcoff_reloc_link_order (bfd *output_bfd,
case bfd_reloc_outofrange:
abort ();
case bfd_reloc_overflow:
if (! ((*flinfo->info->callbacks->reloc_overflow)
(flinfo->info, NULL, link_order->u.reloc.p->u.name,
howto->name, addend, NULL, NULL, (bfd_vma) 0)))
{
free (buf);
return FALSE;
}
(*flinfo->info->callbacks->reloc_overflow)
(flinfo->info, NULL, link_order->u.reloc.p->u.name,
howto->name, addend, NULL, NULL, (bfd_vma) 0);
break;
}
ok = bfd_set_section_contents (output_bfd, output_section, (void *) buf,
@ -6282,10 +6274,9 @@ _bfd_xcoff_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
{
if ((*rel_hash)->indx < 0)
{
if (! ((*info->callbacks->unattached_reloc)
(info, (*rel_hash)->root.root.string,
NULL, o, irel->r_vaddr)))
goto error_return;
(*info->callbacks->unattached_reloc)
(info, (*rel_hash)->root.root.string,
NULL, o, irel->r_vaddr);
(*rel_hash)->indx = 0;
}
irel->r_symndx = (*rel_hash)->indx;
@ -6298,10 +6289,9 @@ _bfd_xcoff_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
{
if (toc_rel_hash->h->u.toc_indx < 0)
{
if (! ((*info->callbacks->unattached_reloc)
(info, toc_rel_hash->h->root.root.string,
NULL, o, toc_rel_hash->rel->r_vaddr)))
goto error_return;
(*info->callbacks->unattached_reloc)
(info, toc_rel_hash->h->root.root.string,
NULL, o, toc_rel_hash->rel->r_vaddr);
toc_rel_hash->h->u.toc_indx = 0;
}
toc_rel_hash->rel->r_symndx = toc_rel_hash->h->u.toc_indx;

View File

@ -1,3 +1,11 @@
2016-05-28 Alan Modra <amodra@gmail.com>
* compile/compile-object-load.c (link_callbacks_multiple_definition,
link_callbacks_warning, link_callbacks_undefined_symbol,
link_callbacks_undefined_symbol, link_callbacks_reloc_overflow,
link_callbacks_reloc_dangerous,
link_callbacks_unattached_reloc): Return void.
2016-05-27 Andrew Burgess <andrew.burgess@embecosm.com>
* opencl-lang.c (evaluate_subexp_opencl): If

View File

@ -198,7 +198,7 @@ setup_sections (bfd *abfd, asection *sect, void *data_voidp)
/* Helper for link_callbacks callbacks vector. */
static bfd_boolean
static void
link_callbacks_multiple_definition (struct bfd_link_info *link_info,
struct bfd_link_hash_entry *h, bfd *nbfd,
asection *nsec, bfd_vma nval)
@ -206,15 +206,14 @@ link_callbacks_multiple_definition (struct bfd_link_info *link_info,
bfd *abfd = link_info->input_bfds;
if (link_info->allow_multiple_definition)
return TRUE;
return;
warning (_("Compiled module \"%s\": multiple symbol definitions: %s"),
bfd_get_filename (abfd), h->root.string);
return FALSE;
}
/* Helper for link_callbacks callbacks vector. */
static bfd_boolean
static void
link_callbacks_warning (struct bfd_link_info *link_info, const char *xwarning,
const char *symbol, bfd *abfd, asection *section,
bfd_vma address)
@ -222,13 +221,11 @@ link_callbacks_warning (struct bfd_link_info *link_info, const char *xwarning,
warning (_("Compiled module \"%s\" section \"%s\": warning: %s"),
bfd_get_filename (abfd), bfd_get_section_name (abfd, section),
xwarning);
/* Maybe permit running as a module? */
return FALSE;
}
/* Helper for link_callbacks callbacks vector. */
static bfd_boolean
static void
link_callbacks_undefined_symbol (struct bfd_link_info *link_info,
const char *name, bfd *abfd, asection *section,
bfd_vma address, bfd_boolean is_fatal)
@ -236,25 +233,22 @@ link_callbacks_undefined_symbol (struct bfd_link_info *link_info,
warning (_("Cannot resolve relocation to \"%s\" "
"from compiled module \"%s\" section \"%s\"."),
name, bfd_get_filename (abfd), bfd_get_section_name (abfd, section));
return FALSE;
}
/* Helper for link_callbacks callbacks vector. */
static bfd_boolean
static void
link_callbacks_reloc_overflow (struct bfd_link_info *link_info,
struct bfd_link_hash_entry *entry,
const char *name, const char *reloc_name,
bfd_vma addend, bfd *abfd, asection *section,
bfd_vma address)
{
/* TRUE is required for intra-module relocations. */
return TRUE;
}
/* Helper for link_callbacks callbacks vector. */
static bfd_boolean
static void
link_callbacks_reloc_dangerous (struct bfd_link_info *link_info,
const char *message, bfd *abfd,
asection *section, bfd_vma address)
@ -263,12 +257,11 @@ link_callbacks_reloc_dangerous (struct bfd_link_info *link_info,
"relocation: %s\n"),
bfd_get_filename (abfd), bfd_get_section_name (abfd, section),
message);
return FALSE;
}
/* Helper for link_callbacks callbacks vector. */
static bfd_boolean
static void
link_callbacks_unattached_reloc (struct bfd_link_info *link_info,
const char *name, bfd *abfd, asection *section,
bfd_vma address)
@ -277,7 +270,6 @@ link_callbacks_unattached_reloc (struct bfd_link_info *link_info,
"relocation: %s\n"),
bfd_get_filename (abfd), bfd_get_section_name (abfd, section),
name);
return FALSE;
}
/* Helper for link_callbacks callbacks vector. */

View File

@ -1,3 +1,10 @@
2016-05-28 Alan Modra <amodra@gmail.com>
* bfdlink.h (struct bfd_link_callbacks): Update comments.
Return void from multiple_definition, multiple_common,
add_to_set, constructor, warning, undefined_symbol,
reloc_overflow, reloc_dangerous and unattached_reloc.
2016-05-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* opcode/metag.h: wrap declarations in extern "C".

View File

@ -609,11 +609,7 @@ struct bfd_link_info
};
/* This structures holds a set of callback functions. These are called
by the BFD linker routines. Except for the info functions, the first
argument to each callback function is the bfd_link_info structure
being used and each function returns a boolean value. If the
function returns FALSE, then the BFD function which called it should
return with a failure indication. */
by the BFD linker routines. */
struct bfd_link_callbacks
{
@ -622,14 +618,15 @@ struct bfd_link_callbacks
name of the symbol which caused the archive element to be pulled
in. This function may set *SUBSBFD to point to an alternative
BFD from which symbols should in fact be added in place of the
original BFD's symbols. */
original BFD's symbols. Returns TRUE if the object should be
added, FALSE if it should be skipped. */
bfd_boolean (*add_archive_element)
(struct bfd_link_info *, bfd *abfd, const char *name, bfd **subsbfd);
/* A function which is called when a symbol is found with multiple
definitions. H is the symbol which is defined multiple times.
NBFD is the new BFD, NSEC is the new section, and NVAL is the new
value. NSEC may be bfd_com_section or bfd_ind_section. */
bfd_boolean (*multiple_definition)
void (*multiple_definition)
(struct bfd_link_info *, struct bfd_link_hash_entry *h,
bfd *nbfd, asection *nsec, bfd_vma nval);
/* A function which is called when a common symbol is defined
@ -638,7 +635,7 @@ struct bfd_link_callbacks
symbol, one of bfd_link_hash_defined, bfd_link_hash_common, or
bfd_link_hash_indirect. If NTYPE is bfd_link_hash_common, NSIZE
is the size of the new symbol. */
bfd_boolean (*multiple_common)
void (*multiple_common)
(struct bfd_link_info *, struct bfd_link_hash_entry *h,
bfd *nbfd, enum bfd_link_hash_type ntype, bfd_vma nsize);
/* A function which is called to add a symbol to a set. ENTRY is
@ -647,7 +644,7 @@ struct bfd_link_callbacks
the set when generating a relocatable file, and is also used to
get the size of the entry when generating an executable file.
ABFD, SEC and VALUE identify the value to add to the set. */
bfd_boolean (*add_to_set)
void (*add_to_set)
(struct bfd_link_info *, struct bfd_link_hash_entry *entry,
bfd_reloc_code_real_type reloc, bfd *abfd, asection *sec, bfd_vma value);
/* A function which is called when the name of a g++ constructor or
@ -656,7 +653,7 @@ struct bfd_link_callbacks
destructor. This will use BFD_RELOC_CTOR when generating a
relocatable file. NAME is the name of the symbol found. ABFD,
SECTION and VALUE are the value of the symbol. */
bfd_boolean (*constructor)
void (*constructor)
(struct bfd_link_info *, bfd_boolean constructor, const char *name,
bfd *abfd, asection *sec, bfd_vma value);
/* A function which is called to issue a linker warning. For
@ -666,7 +663,7 @@ struct bfd_link_callbacks
there is none. ABFD, SECTION and ADDRESS identify the location
which trigerred the warning; either ABFD or SECTION or both may
be NULL if the location is not known. */
bfd_boolean (*warning)
void (*warning)
(struct bfd_link_info *, const char *warning, const char *symbol,
bfd *abfd, asection *section, bfd_vma address);
/* A function which is called when a relocation is attempted against
@ -674,7 +671,7 @@ struct bfd_link_callbacks
ABFD, SECTION and ADDRESS identify the location from which the
reference is made. IS_FATAL indicates whether an undefined symbol is
a fatal error or not. In some cases SECTION may be NULL. */
bfd_boolean (*undefined_symbol)
void (*undefined_symbol)
(struct bfd_link_info *, const char *name, bfd *abfd,
asection *section, bfd_vma address, bfd_boolean is_fatal);
/* A function which is called when a reloc overflow occurs. ENTRY is
@ -685,7 +682,7 @@ struct bfd_link_callbacks
location at which the overflow occurs; if this is the result of a
bfd_section_reloc_link_order or bfd_symbol_reloc_link_order, then
ABFD will be NULL. */
bfd_boolean (*reloc_overflow)
void (*reloc_overflow)
(struct bfd_link_info *, struct bfd_link_hash_entry *entry,
const char *name, const char *reloc_name, bfd_vma addend,
bfd *abfd, asection *section, bfd_vma address);
@ -695,7 +692,7 @@ struct bfd_link_callbacks
problem occurred; if this is the result of a
bfd_section_reloc_link_order or bfd_symbol_reloc_link_order, then
ABFD will be NULL. */
bfd_boolean (*reloc_dangerous)
void (*reloc_dangerous)
(struct bfd_link_info *, const char *message,
bfd *abfd, asection *section, bfd_vma address);
/* A function which is called when a reloc is found to be attached
@ -704,7 +701,7 @@ struct bfd_link_callbacks
the reloc; if this is the result of a
bfd_section_reloc_link_order or bfd_symbol_reloc_link_order, then
ABFD will be NULL. */
bfd_boolean (*unattached_reloc)
void (*unattached_reloc)
(struct bfd_link_info *, const char *name,
bfd *abfd, asection *section, bfd_vma address);
/* A function which is called when a symbol in notice_hash is

View File

@ -1,3 +1,10 @@
2016-05-28 Alan Modra <amodra@gmail.com>
* ldmain.c (multiple_definition, multiple_common, add_to_set,
constructor_callback, warning_callback, undefined_symbol,
reloc_overflow, reloc_dangerous, unattached_reloc): Return void.
* emultempl/elf32.em: Adjust callback calls.
2016-05-27 Maciej W. Rozycki <macro@imgtec.com>
* testsuite/ld-mips-elf/unaligned-jalx-addend-0.d: New test.

Some files were not shown because too many files have changed in this diff Show More