* Makefile.am: Add entries for elf32-sh64-lin.c and
authorStephen Clarke <stephen.clarke@earthling.net>
Wed, 9 Oct 2002 19:03:57 +0000 (19:03 +0000)
committerStephen Clarke <stephen.clarke@earthling.net>
Wed, 9 Oct 2002 19:03:57 +0000 (19:03 +0000)
elf64-sh64-lin.c. Regenerate.
* Makefile.in: Regenerate.
* config.bfd:  Change sh64eb-*-linux* and sh64-*-linux*
to use sh64 vectors rather than sh vectors.
* configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
* configure: Regenerate.
* elf32-sh64-lin.c: New file.
* elf64-sh64-lin.c: New file.
* targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.

bfd/ChangeLog
bfd/Makefile.am
bfd/Makefile.in
bfd/config.bfd
bfd/configure
bfd/configure.in
bfd/elf32-sh64-lin.c [new file with mode: 0644]
bfd/elf64-sh64-lin.c [new file with mode: 0644]
bfd/targets.c

index 7cb5ecee4d736cd9ecbf6a1a9170474ea07d0f8b..2f456be43aa2457a8b31deb2f80ef93aacdc4f05 100644 (file)
@@ -1,3 +1,19 @@
+2002-10-09  Richard Shann <richard.shann@superh.com>
+           Stephen Clarke <stephen.clarke@superh.com>
+
+       * Makefile.am: Add entries for elf32-sh64-lin.c and
+       elf64-sh64-lin.c. Regenerate.
+       * Makefile.in: Regenerate.
+       * config.bfd:  Change sh64eb-*-linux* and sh64-*-linux*
+       to use sh64 vectors rather than sh vectors.
+       * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
+       bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
+       * configure: Regenerate.
+       * elf32-sh64-lin.c: New file.
+       * elf64-sh64-lin.c: New file.
+       * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
+       bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
+       
 2002-10-08  H.J. Lu <hjl@gnu.org>
 
        * elf32-i386.c (elf_i386_relocate_section): Re-arrange the
index 0aa98e3b87f81924084017bb576a7cecdd0dcfab..4821a30d5abef3e6b1234a3ed383d8bcb22e6585 100644 (file)
@@ -242,6 +242,7 @@ BFD32_BACKENDS = \
        elf32-sh-lin.lo \
        elf32-sh64.lo \
        elf32-sh64-com.lo \
+       elf32-sh64-lin.lo \
        elf32-sh-nbsd.lo \
        elf32-sh64-nbsd.lo \
        elf32-shqnx.lo \
@@ -401,6 +402,7 @@ BFD32_BACKENDS_CFILES = \
        elf32-ppcqnx.c \
        elf32-sh64.c \
        elf32-sh64-com.c \
+       elf32-sh64-lin.c \
        elf32-s390.c \
        elf32-sh.c \
        elf32-sh-lin.c \
@@ -497,6 +499,7 @@ BFD64_BACKENDS = \
        elf64-mips.lo \
        elf64-mmix.lo \
        elf64-sh64.lo \
+       elf64-sh64-lin.lo \
        elf64-sh64-nbsd.lo \
        elf64-ppc.lo \
        elf64-s390.lo \
@@ -525,6 +528,7 @@ BFD64_BACKENDS_CFILES = \
        elf64-ppc.c \
        elf64-s390.c \
        elf64-sh64.c \
+       elf64-sh64-lin.c \
        elf64-sh64-nbsd.c \
        elf64-sparc.c \
        elf64.c \
@@ -1260,6 +1264,11 @@ elf32-sh64-com.lo: elf32-sh64-com.c $(INCDIR)/filenames.h \
   elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
   $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/sh.h \
   $(INCDIR)/elf/reloc-macros.h $(srcdir)/../opcodes/sh64-opc.h
+elf32-sh64-lin.lo: elf32-sh64-lin.c elf32-sh64.c $(INCDIR)/filenames.h \
+  elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
+  $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/../opcodes/sh64-opc.h \
+  elf32-sh.c $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \
+  elf32-target.h
 elf32-s390.lo: elf32-s390.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
   $(INCDIR)/elf/external.h $(INCDIR)/elf/s390.h $(INCDIR)/elf/reloc-macros.h \
@@ -1578,6 +1587,10 @@ elf64-sh64.lo: elf64-sh64.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
   $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \
   elf64-target.h
+elf64-sh64-lin.lo: elf64-sh64-lin.c elf64-sh64.c $(INCDIR)/filenames.h \
+  $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \
+  $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h \
+  $(INCDIR)/elf/reloc-macros.h elf64-target.h
 elf64-sh64-nbsd.lo: elf64-sh64-nbsd.c elf64-sh64.c \
   $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h elf-bfd.h \
   $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
index 4816c1718b0bac6369daf4a070c18ead777d0ce1..a289623bbf57f1366e6093e5cec6fae7d7bf67cc 100644 (file)
@@ -370,6 +370,7 @@ BFD32_BACKENDS = \
        elf32-sh-lin.lo \
        elf32-sh64.lo \
        elf32-sh64-com.lo \
+       elf32-sh64-lin.lo \
        elf32-sh-nbsd.lo \
        elf32-sh64-nbsd.lo \
        elf32-shqnx.lo \
@@ -530,6 +531,7 @@ BFD32_BACKENDS_CFILES = \
        elf32-ppcqnx.c \
        elf32-sh64.c \
        elf32-sh64-com.c \
+       elf32-sh64-lin.c \
        elf32-s390.c \
        elf32-sh.c \
        elf32-sh-lin.c \
@@ -627,6 +629,7 @@ BFD64_BACKENDS = \
        elf64-mips.lo \
        elf64-mmix.lo \
        elf64-sh64.lo \
+       elf64-sh64-lin.lo \
        elf64-sh64-nbsd.lo \
        elf64-ppc.lo \
        elf64-s390.lo \
@@ -656,6 +659,7 @@ BFD64_BACKENDS_CFILES = \
        elf64-ppc.c \
        elf64-s390.c \
        elf64-sh64.c \
+       elf64-sh64-lin.c \
        elf64-sh64-nbsd.c \
        elf64-sparc.c \
        elf64.c \
@@ -1790,6 +1794,11 @@ elf32-sh64-com.lo: elf32-sh64-com.c $(INCDIR)/filenames.h \
   elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
   $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/sh.h \
   $(INCDIR)/elf/reloc-macros.h $(srcdir)/../opcodes/sh64-opc.h
+elf32-sh64-lin.lo: elf32-sh64-lin.c elf32-sh64.c $(INCDIR)/filenames.h \
+  elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
+  $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/../opcodes/sh64-opc.h \
+  elf32-sh.c $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \
+  elf32-target.h
 elf32-s390.lo: elf32-s390.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
   $(INCDIR)/elf/external.h $(INCDIR)/elf/s390.h $(INCDIR)/elf/reloc-macros.h \
@@ -2108,6 +2117,10 @@ elf64-sh64.lo: elf64-sh64.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
   $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \
   elf64-target.h
+elf64-sh64-lin.lo: elf64-sh64-lin.c elf64-sh64.c $(INCDIR)/filenames.h \
+  $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \
+  $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h \
+  $(INCDIR)/elf/reloc-macros.h elf64-target.h
 elf64-sh64-nbsd.lo: elf64-sh64-nbsd.c elf64-sh64.c \
   $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h elf-bfd.h \
   $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
index 4aabfedaf53fe59e96ed83863098e4ce0ff85c35..85f1ea2d5c0b62d790e0840c689147b843b3e342 100644 (file)
@@ -934,12 +934,12 @@ case "${targ}" in
     targ_underscore=yes
     ;;
   sh64eb-*-linux*)
-    targ_defvec=bfd_elf32_shblin_vec
-    targ_selvecs="bfd_elf32_shblin_vec bfd_elf32_sh64_vec bfd_elf64_sh64_vec bfd_elf32_sh_vec"
+    targ_defvec=bfd_elf32_sh64blin_vec
+    targ_selvecs="bfd_elf32_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec"
     ;;
   sh64-*-linux*)
-    targ_defvec=bfd_elf32_shlin_vec
-    targ_selvecs="bfd_elf32_shlin_vec bfd_elf32_sh64l_vec bfd_elf64_sh64l_vec bfd_elf32_shl_vec"
+    targ_defvec=bfd_elf32_sh64lin_vec
+    targ_selvecs="bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf32_shlin_vec bfd_elf32_shblin_vec"
     ;;
 #endif /* BFD64 */
 
index 2ca10f7e37f50b06cc68eb3fc9c3a7f9357ad15c..997eb740d191f3c20c7a5a1524932a36de7aafda 100755 (executable)
@@ -6117,6 +6117,8 @@ do
     # which needs it but does not list it.  Should be fixed in right place.
     bfd_elf32_sh64_vec)                tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
     bfd_elf32_sh64l_vec)       tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
+    bfd_elf32_sh64lin_vec)     tb="$tb elf32-sh64-lin.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
+    bfd_elf32_sh64blin_vec)    tb="$tb elf32-sh64-lin.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
     bfd_elf32_sh64lnbsd_vec)   tb="$tb elf32-sh64-nbsd.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" ;;
     bfd_elf32_sh64nbsd_vec)    tb="$tb elf32-sh64-nbsd.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" ;;
     bfd_elf32_sh_vec)          tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo" ;;
@@ -6153,6 +6155,8 @@ do
     bfd_elf64_s390_vec)                tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
     bfd_elf64_sh64_vec)                tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
     bfd_elf64_sh64l_vec)       tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
+    bfd_elf64_sh64lin_vec)     tb="$tb elf64-sh64-lin.lo elf64.lo $elf" target_size=64 ;;
+    bfd_elf64_sh64blin_vec)    tb="$tb elf64-sh64-lin.lo elf64.lo $elf" target_size=64 ;;
     bfd_elf64_sh64lnbsd_vec)   tb="$tb elf64-sh64-nbsd.lo elf64.lo $elf" target_size=64 ;;
     bfd_elf64_sh64nbsd_vec)    tb="$tb elf64-sh64-nbsd.lo elf64.lo $elf" target_size=64 ;;
     bfd_elf64_sparc_vec)       tb="$tb elf64-sparc.lo elf64.lo $elf"; target_size=64 ;;
index ba38dd423b2d44c20ac0ab54a487950a88384e21..e6b4f9c9592cc7dddc1389eb84baf63e74ea09d8 100644 (file)
@@ -618,6 +618,8 @@ do
     # which needs it but does not list it.  Should be fixed in right place.
     bfd_elf32_sh64_vec)                tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
     bfd_elf32_sh64l_vec)       tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
+    bfd_elf32_sh64lin_vec)     tb="$tb elf32-sh64-lin.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
+    bfd_elf32_sh64blin_vec)    tb="$tb elf32-sh64-lin.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
     bfd_elf32_sh64lnbsd_vec)   tb="$tb elf32-sh64-nbsd.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" ;;
     bfd_elf32_sh64nbsd_vec)    tb="$tb elf32-sh64-nbsd.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" ;;
     bfd_elf32_sh_vec)          tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo" ;;
@@ -654,6 +656,8 @@ do
     bfd_elf64_s390_vec)                tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
     bfd_elf64_sh64_vec)                tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
     bfd_elf64_sh64l_vec)       tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
+    bfd_elf64_sh64lin_vec)     tb="$tb elf64-sh64-lin.lo elf64.lo $elf" target_size=64 ;;
+    bfd_elf64_sh64blin_vec)    tb="$tb elf64-sh64-lin.lo elf64.lo $elf" target_size=64 ;;
     bfd_elf64_sh64lnbsd_vec)   tb="$tb elf64-sh64-nbsd.lo elf64.lo $elf" target_size=64 ;;
     bfd_elf64_sh64nbsd_vec)    tb="$tb elf64-sh64-nbsd.lo elf64.lo $elf" target_size=64 ;;
     bfd_elf64_sparc_vec)       tb="$tb elf64-sparc.lo elf64.lo $elf"; target_size=64 ;;
diff --git a/bfd/elf32-sh64-lin.c b/bfd/elf32-sh64-lin.c
new file mode 100644 (file)
index 0000000..bb8e45b
--- /dev/null
@@ -0,0 +1,29 @@
+/* Hitachi SH specific support for 64-bit Linux
+   Copyright 2000 Free Software Foundation, Inc.
+
+This file is part of BFD, the Binary File Descriptor library.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#define TARGET_BIG_SYM bfd_elf32_sh64blin_vec
+#define TARGET_BIG_NAME "elf32-sh64big-linux"
+#define TARGET_LITTLE_SYM bfd_elf32_sh64lin_vec
+#define TARGET_LITTLE_NAME "elf32-sh64-linux"
+#define ELF_ARCH bfd_arch_sh
+#define ELF_MACHINE_CODE EM_SH
+#define ELF_MAXPAGESIZE 0x10000
+#define elf_symbol_leading_char 0
+
+#include "elf32-sh64.c"
diff --git a/bfd/elf64-sh64-lin.c b/bfd/elf64-sh64-lin.c
new file mode 100644 (file)
index 0000000..772417b
--- /dev/null
@@ -0,0 +1,29 @@
+/* Hitachi SH specific support for 64-bit Linux
+   Copyright 2002 Free Software Foundation, Inc.
+
+This file is part of BFD, the Binary File Descriptor library.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#define TARGET_BIG_SYM bfd_elf64_sh64blin_vec
+#define TARGET_BIG_NAME "elf64-sh64big-linux"
+#define TARGET_LITTLE_SYM bfd_elf64_sh64lin_vec
+#define TARGET_LITTLE_NAME "elf64-sh64-linux"
+#define ELF_ARCH bfd_arch_sh
+#define ELF_MACHINE_CODE EM_SH
+#define ELF_MAXPAGESIZE 0x10000
+#define elf_symbol_leading_char 0
+
+#include "elf64-sh64.c"
index b9be8e7535f196f3193ced8451aa7d78a60d11ea..adc8bd638ec04c894b73cafa4e02959c5f697d47 100644 (file)
@@ -559,6 +559,8 @@ extern const bfd_target bfd_elf32_powerpcqnx_vec;
 extern const bfd_target bfd_elf32_s390_vec;
 extern const bfd_target bfd_elf32_sh64_vec;
 extern const bfd_target bfd_elf32_sh64l_vec;
+extern const bfd_target bfd_elf32_sh64lin_vec;
+extern const bfd_target bfd_elf32_sh64blin_vec;
 extern const bfd_target bfd_elf32_sh64lnbsd_vec;
 extern const bfd_target bfd_elf32_sh64nbsd_vec;
 extern const bfd_target bfd_elf32_sh_vec;
@@ -595,6 +597,8 @@ extern const bfd_target bfd_elf64_powerpcle_vec;
 extern const bfd_target bfd_elf64_s390_vec;
 extern const bfd_target bfd_elf64_sh64_vec;
 extern const bfd_target bfd_elf64_sh64l_vec;
+extern const bfd_target bfd_elf64_sh64lin_vec;
+extern const bfd_target bfd_elf64_sh64blin_vec;
 extern const bfd_target bfd_elf64_sh64lnbsd_vec;
 extern const bfd_target bfd_elf64_sh64nbsd_vec;
 extern const bfd_target bfd_elf64_sparc_vec;