aboutsummaryrefslogtreecommitdiff
path: root/bfd/cpu-sh.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2016-10-07 10:58:35 +1030
committerAlan Modra <amodra@gmail.com>2016-10-07 11:24:21 +1030
commit1047201fd0f402428bb3331638a198413f97f476 (patch)
tree36aba61eb942e9795c947b85abb2629582c14e79 /bfd/cpu-sh.c
parentb62b1f7143c70caf5a14bd9684bbe50f51db706f (diff)
downloadbinutils-1047201fd0f402428bb3331638a198413f97f476.zip
binutils-1047201fd0f402428bb3331638a198413f97f476.tar.gz
binutils-1047201fd0f402428bb3331638a198413f97f476.tar.bz2
bfd_merge_private_bfd_data tidy
bfd_merge_private_bfd_data and _bfd_generic_verify_endian_match are linker functions, so move them to linker.c. bfd/ * Makefile.am (LIBBFD_H_FILES): Update. * doc/Makefile.am (LIBBFD_H_DEP): Likewise. * cpu-sh.c (sh_merge_bfd_arch): Move to.. * elf32-sh.c: ..here, and make static. * elf32-arc.c (arc_elf_merge_private_bfd_data): Delete extraneous error. * elf32-cris.c (cris_elf_merge_private_bfd_data): Don't call _bfd_generic_verify_endian_match. * elf32-microblaze.c (microblaze_elf_merge_private_bfd_data): Delete. (bfd_elf32_bfd_merge_private_bfd_data): Define as _bfd_generic_verify_endian_match. * elf32-mt.c (mt_elf_merge_private_bfd_data): Don't test boolean == FALSE. * elf32-xgate.c (_bfd_xgate_elf_merge_private_bfd_data): Delete. (bfd_elf32_bfd_merge_private_bfd_data): Don't define. * elf32-xgate.h (_bfd_xgate_elf_merge_private_bfd_data): Delete. * libbfd-in.h (_bfd_generic_verify_endian_match): Delete. * libbfd.c (_bfd_generic_verify_endian_match): Move to.. * linker.c: ..here, and make internal. * bfd.c (bfd_merge_private_bfd_data): Move to.. * linker.c: ..here. * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. opcodes/ * sh-opc.h (sh_merge_bfd_arch): Delete prototype.
Diffstat (limited to 'bfd/cpu-sh.c')
-rw-r--r--bfd/cpu-sh.c47
1 files changed, 0 insertions, 47 deletions
diff --git a/bfd/cpu-sh.c b/bfd/cpu-sh.c
index 9b14173..f920826 100644
--- a/bfd/cpu-sh.c
+++ b/bfd/cpu-sh.c
@@ -496,50 +496,3 @@ sh_get_bfd_mach_from_arch_set (unsigned int arch_set)
return result;
}
-
-
-/* Merge the architecture type of two BFD files, such that the
- resultant architecture supports all the features required
- by the two input BFDs.
- If the input BFDs are multually incompatible - i.e. one uses
- DSP while the other uses FPU - or there is no known architecture
- that fits the requirements then an error is emitted. */
-
-bfd_boolean
-sh_merge_bfd_arch (bfd *ibfd, bfd *obfd)
-{
- unsigned int old_arch, new_arch, merged_arch;
-
- if (! _bfd_generic_verify_endian_match (ibfd, obfd))
- return FALSE;
-
- old_arch = sh_get_arch_up_from_bfd_mach (bfd_get_mach (obfd));
- new_arch = sh_get_arch_up_from_bfd_mach (bfd_get_mach (ibfd));
-
- merged_arch = SH_MERGE_ARCH_SET (old_arch, new_arch);
-
- if (!SH_VALID_CO_ARCH_SET (merged_arch))
- {
- _bfd_error_handler
- ("%B: uses %s instructions while previous modules use %s instructions",
- ibfd,
- SH_ARCH_SET_HAS_DSP (new_arch) ? "dsp" : "floating point",
- SH_ARCH_SET_HAS_DSP (new_arch) ? "floating point" : "dsp");
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
- else if (!SH_VALID_ARCH_SET (merged_arch))
- {
- _bfd_error_handler
- ("internal error: merge of architecture '%s' with architecture '%s' produced unknown architecture\n",
- bfd_printable_name (obfd),
- bfd_printable_name (ibfd));
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
-
- bfd_default_set_arch_mach (obfd, bfd_arch_sh,
- sh_get_bfd_mach_from_arch_set (merged_arch));
-
- return TRUE;
-}