summaryrefslogtreecommitdiff
path: root/bfd/elf32-sh64.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-10-16 08:39:38 +0000
committerAlan Modra <amodra@bigpond.net.au>2002-10-16 08:39:38 +0000
commit67b77899b72a2996879d682ac86ff93cb257444d (patch)
treec489f2c11353f671fd17f53050492f1bcecdba17 /bfd/elf32-sh64.c
parent4723c4263aa3f1ada9279ad30fd75958429f3f8e (diff)
downloadbinutils-redhat-67b77899b72a2996879d682ac86ff93cb257444d.tar.gz
* Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo, elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo, elf32-sh64-nbsd.lo, elf32-shqnx.lo. Add elf32-qnx.lo. (BFD32_BACKENDS_CFILES): Likewise for corresponding C files. (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo. (BFD64_BACKENDS_CFILES): Likewise for corresponding C files. (SOURCE_HFILES): Add elf32-qnx.h. (BUILD_HFILES): Add bfdver.h. Run "make dep-am". * Makefile.in: Regenerate. * configure.in Update bfd vector dependencies. * configure: Regenerate. * elf32-i386-fbsd.c: Delete. Move code to elf32-i386.c. * elf32-i386qnx.c: Likewise. * elf32-ppcqnx.c: Delete. Move code to elf32-ppc.c. * elf32-sh-nbsd.c: Delete. Move code to elf32-sh.c. * elf32-sh-lin.c: Likewise. * elf32-shqnx.c: Likewise. * elf32-sh64-lin.c: Delete. Move code to elf32-sh64.c. * elf32-sh64-nbsd.c: Likewise. * elf64-sh64-lin.c: Delete. Move code to elf64-sh64.c. * elf64-sh64-nbsd.c: Likewise. * elfarmqnx-nabi.c: Delete. Move code to elfarm-nabi.c. * elf32-arm.h (ELF_MAXPAGESIZE): Always define. * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests. * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests. * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define. (elf_backend_is_contained_by_filepos): Likewise. (elf_backend_copy_private_bfd_data_p): Likewise. Globalize and move functions to.. * elf32-qnx.c: ..here. New file. * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests. Don't emit target vectors when INCLUDE_SHMEDIA. * elf32-sh64.c: Remove ELF_ARCH test. Move TARGET_* etc. defines to end of file. * elf64-sh64.c: Remove ELF_ARCH test. * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test. * po/BLD-POTFILES.in: Regenerate. * po/SRC-POTFILES.in: Regenerate.
Diffstat (limited to 'bfd/elf32-sh64.c')
-rw-r--r--bfd/elf32-sh64.c59
1 files changed, 47 insertions, 12 deletions
diff --git a/bfd/elf32-sh64.c b/bfd/elf32-sh64.c
index 844a6a43e2..c0df73d4d8 100644
--- a/bfd/elf32-sh64.c
+++ b/bfd/elf32-sh64.c
@@ -89,18 +89,6 @@ static void sh64_find_section_for_address PARAMS ((bfd *, asection *, PTR));
define it true here. */
#define _bfd_sh_align_load_span(a,b,c,d,e,f,g,h,i,j) true
-#ifndef ELF_ARCH
-#define TARGET_BIG_SYM bfd_elf32_sh64_vec
-#define TARGET_BIG_NAME "elf32-sh64"
-#define TARGET_LITTLE_SYM bfd_elf32_sh64l_vec
-#define TARGET_LITTLE_NAME "elf32-sh64l"
-#define ELF_ARCH bfd_arch_sh
-#define ELF_MACHINE_CODE EM_SH
-#define ELF_MAXPAGESIZE 128
-
-#define elf_symbol_leading_char '_'
-#endif /* ELF_ARCH */
-
#define GOT_BIAS (-((long)-32768))
#define INCLUDE_SHMEDIA
#include "elf32-sh.c"
@@ -745,3 +733,50 @@ sh64_elf_final_write_processing (abfd, linker)
}
}
}
+
+#undef TARGET_BIG_SYM
+#define TARGET_BIG_SYM bfd_elf32_sh64_vec
+#undef TARGET_BIG_NAME
+#define TARGET_BIG_NAME "elf32-sh64"
+#undef TARGET_LITTLE_SYM
+#define TARGET_LITTLE_SYM bfd_elf32_sh64l_vec
+#undef TARGET_LITTLE_NAME
+#define TARGET_LITTLE_NAME "elf32-sh64l"
+
+#include "elf32-target.h"
+
+/* NetBSD support. */
+#undef TARGET_BIG_SYM
+#define TARGET_BIG_SYM bfd_elf32_sh64nbsd_vec
+#undef TARGET_BIG_NAME
+#define TARGET_BIG_NAME "elf32-sh64-nbsd"
+#undef TARGET_LITTLE_SYM
+#define TARGET_LITTLE_SYM bfd_elf32_sh64lnbsd_vec
+#undef TARGET_LITTLE_NAME
+#define TARGET_LITTLE_NAME "elf32-sh64l-nbsd"
+#undef ELF_MAXPAGESIZE
+#define ELF_MAXPAGESIZE 0x10000
+#undef elf_symbol_leading_char
+#define elf_symbol_leading_char 0
+
+#define elf32_bed elf32_sh64_nbsd_bed
+
+#include "elf32-target.h"
+
+#undef elf32_bed
+
+/* Linux support. */
+#undef TARGET_BIG_SYM
+#define TARGET_BIG_SYM bfd_elf32_sh64blin_vec
+#undef TARGET_BIG_NAME
+#define TARGET_BIG_NAME "elf32-sh64big-linux"
+#undef TARGET_LITTLE_SYM
+#define TARGET_LITTLE_SYM bfd_elf32_sh64lin_vec
+#undef TARGET_LITTLE_NAME
+#define TARGET_LITTLE_NAME "elf32-sh64-linux"
+
+#define elf32_bed elf32_sh64_lin_bed
+
+#include "elf32-target.h"
+
+#undef elf32_bed