Add support for non-ELF targets to check their relocs.
bfd * aout-adobe.c: Use _bfd_generic_link_check_relocs. * aout-target.h: Likewise. * aout-tic30.c: Likewise. * binary.c: Likewise. * bout.c: Likewise. * coff-alpha.c: Likewise. * coff-rs6000.c: Likewise. * coff64-rs6000.c: Likewise. * coffcode.h: Likewise. * i386msdos.c: Likewise. * i386os9k.c: Likewise. * ieee.c: Likewise. * ihex.c: Likewise. * libbfd-in.h: Likewise. * libecoff.h: Likewise. * mach-o-target.c: Likewise. * mmo.c: Likewise. * nlm-target.h: Likewise. * oasys.c: Likewise. * pef.c: Likewise. * plugin.c: Likewise. * ppcboot.c: Likewise. * som.c: Likewise. * srec.c: Likewise. * tekhex.c: Likewise. * versados.c: Likewise. * vms-alpha.c: Likewise. * xsym.c: Likewise. * elfxx-target.h: Use _bfd_elf_link_check_relocs. * linker.c (bfd_link_check_relocs): New function. (_bfd_generic_link_check_relocs): New function. * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of _bfd_link_check_relocs field. (struct bfd_target)L Add _bfd_link_check_relocs field. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. ld * ldlang.c (lang_check_relocs): Use bfd_link_check_relocs in prefernce to _bfd_elf_link_check_relocs. Drop test for ELF targets. Do not stop the checks when problems are encountered. include * bfdlink.h: Add prototype for bfd_link_check_relocs.
This commit is contained in:
parent
71829b1a3f
commit
4f3b23b390
38 changed files with 164 additions and 13 deletions
43
bfd/linker.c
43
bfd/linker.c
|
@ -3304,3 +3304,46 @@ bfd_hide_sym_by_version (struct bfd_elf_version_tree *verdefs,
|
|||
bfd_find_version_for_sym (verdefs, sym_name, &hidden);
|
||||
return hidden;
|
||||
}
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
bfd_link_check_relocs
|
||||
|
||||
SYNOPSIS
|
||||
bfd_boolean bfd_link_check_relocs
|
||||
(bfd *abfd, struct bfd_link_info *info);
|
||||
|
||||
DESCRIPTION
|
||||
Checks the relocs in ABFD for validity.
|
||||
Does not execute the relocs.
|
||||
Return TRUE if everything is OK, FALSE otherwise.
|
||||
This is the external entry point to this code.
|
||||
*/
|
||||
|
||||
bfd_boolean
|
||||
bfd_link_check_relocs (bfd *abfd, struct bfd_link_info *info)
|
||||
{
|
||||
return BFD_SEND (abfd, _bfd_link_check_relocs, (abfd, info));
|
||||
}
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
_bfd_generic_link_check_relocs
|
||||
|
||||
SYNOPSIS
|
||||
bfd_boolean _bfd_generic_link_check_relocs
|
||||
(bfd *abfd, struct bfd_link_info *info);
|
||||
|
||||
DESCRIPTION
|
||||
Stub function for targets that do not implement reloc checking.
|
||||
Return TRUE.
|
||||
This is an internal function. It should not be called from
|
||||
outside the BFD library.
|
||||
*/
|
||||
|
||||
bfd_boolean
|
||||
_bfd_generic_link_check_relocs (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
struct bfd_link_info *info ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue