(Lay some groundwork for TIc80 port that will be filled in incrementally.)
authorFred Fish <fnf@specifix.com>
Sat, 28 Dec 1996 04:09:34 +0000 (04:09 +0000)
committerFred Fish <fnf@specifix.com>
Sat, 28 Dec 1996 04:09:34 +0000 (04:09 +0000)
* TODO: Correct a misspelling.
start-sanitize-tic80
* coff-tic80.c: New file for TI TMS320C80 (MVP).
* cpu-tic80.c: New file for TI TMS320C80 (MVP).
* configure.in (case $vec): Add tic80coff_vec entry.
* configure: Regenerate with autoconf.
* archures.c (bfd_tic80_arch): Declare.
* bfd-in2.h (enum bfd_architecture): Add bfd_arch_tic80.
* config.bfd (case ${targ}): Add tic80*-*-coff* target.
* targets.c (tic80coff_vec): Add decl as extern bfd_target.
(bfd_target_vector): Add tic80coff_vec entry.
end-sanitize-tic80

bfd/ChangeLog
bfd/archures.c
bfd/bfd-in2.h
bfd/coff-tic80.c [new file with mode: 0644]
bfd/config.bfd
bfd/configure
bfd/configure.in
bfd/cpu-tic80.c [new file with mode: 0644]

index 7887118d9e8f9a98fe8ab62c0d75cea8c739d219..afcfe9a912843b9d40b88dbb199b88478252cfc3 100644 (file)
@@ -1,3 +1,18 @@
+Fri Dec 27 20:56:41 1996  Fred Fish  <fnf@ninemoons.com>
+
+       * TODO: Correct a misspelling.
+start-sanitize-tic80
+       * coff-tic80.c: New file for TI TMS320C80 (MVP).
+       * cpu-tic80.c: New file for TI TMS320C80 (MVP).
+       * configure.in (case $vec): Add tic80coff_vec entry.
+       * configure: Regenerate with autoconf.
+       * archures.c (bfd_tic80_arch): Declare.
+       * bfd-in2.h (enum bfd_architecture): Add bfd_arch_tic80.
+       * config.bfd (case ${targ}): Add tic80*-*-coff* target.
+       * targets.c (tic80coff_vec): Add decl as extern bfd_target.
+       (bfd_target_vector): Add tic80coff_vec entry.
+end-sanitize-tic80
+
 Fri Dec 27 11:48:12 1996  H.J. Lu  <hjl@lucon.org>
 
        * elflink.h (elf_buckets): Add some more values for larger
index 0953b18a42bee27463486c0cb12ab6bdc6e8ebe5..5090291e75bc2f64d5ecbf23ede43aefc019f16a 100644 (file)
@@ -146,7 +146,8 @@ DESCRIPTION
 . {* start-sanitize-m32r *}
 .  bfd_arch_m32r,      {* Mitsubishi M32R *}
 . {* end-sanitize-m32r *}
-.  bfd_arch_mn10x00,   {* Matsushita MN10x00 *}
+.  bfd_arch_mn10200,   {* Matsushita MN10200 *}
+.  bfd_arch_mn10300,   {* Matsushita MN10300 *}
 .  bfd_arch_last
 .  };
 
@@ -206,11 +207,15 @@ extern const bfd_arch_info_type bfd_m32r_arch;
 extern const bfd_arch_info_type bfd_m68k_arch;
 extern const bfd_arch_info_type bfd_m88k_arch;
 extern const bfd_arch_info_type bfd_mips_arch;
-extern const bfd_arch_info_type bfd_mn10x00_arch;
+extern const bfd_arch_info_type bfd_mn10200_arch;
+extern const bfd_arch_info_type bfd_mn10300_arch;
 extern const bfd_arch_info_type bfd_powerpc_arch;
 extern const bfd_arch_info_type bfd_rs6000_arch;
 extern const bfd_arch_info_type bfd_sh_arch;
 extern const bfd_arch_info_type bfd_sparc_arch;
+/* start-sanitize-tic80 */
+extern const bfd_arch_info_type bfd_tic80_arch;
+/* end-sanitize-tic80 */
 extern const bfd_arch_info_type bfd_vax_arch;
 extern const bfd_arch_info_type bfd_we32k_arch;
 extern const bfd_arch_info_type bfd_z8k_arch;
@@ -246,7 +251,8 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
   &bfd_m68k_arch,
   &bfd_m88k_arch,
   &bfd_mips_arch,
-  &bfd_mn10x00_arch,
+  &bfd_mn10200_arch,
+  &bfd_mn10300_arch,
   &bfd_powerpc_arch,
   &bfd_rs6000_arch,
   &bfd_sh_arch,
index 220ed5b8c05567b9b408d4fb17f4731dc961ad1e..d38f1de961ed767a1a576068fdc3d019d170f28d 100644 (file)
@@ -1212,6 +1212,9 @@ enum bfd_architecture
 #define bfd_mach_z8002         2
   bfd_arch_h8500,      /* Hitachi H8/500 */
   bfd_arch_sh,         /* Hitachi SH */
+  /* start-sanitize-tic80 */
+  bfd_arch_tic80,      /* TI TMS320C80 (MVP) */
+  /* end-sanitize-tic80 */
   bfd_arch_alpha,      /* Dec Alpha */
   bfd_arch_arm,        /* Advanced Risc Machines ARM */
   bfd_arch_ns32k,      /* National Semiconductors ns32000 */
@@ -1668,6 +1671,9 @@ which is filled by the linker. */
 simple reloc otherwise. */
   BFD_RELOC_MIPS_JMP,
 
+/* The MIPS16 jump instruction. */
+  BFD_RELOC_MIPS16_JMP,
+
 /* High 16 bits of 32-bit value; simple reloc. */
   BFD_RELOC_HI16,
 
@@ -1844,17 +1850,17 @@ assumed to be 0. */
 /* start-sanitize-m32r */
 
 /* Mitsubishi M32R relocs.
-This is a 24 bit address. */
-  BFD_RELOC_M32R_UIMM24,
+This is a 24 bit absolute address. */
+  BFD_RELOC_M32R_24,
 
-/* This is a 10-bit reloc with the right 2 bits assumed to be 0. */
-  BFD_RELOC_M32R_DISP8,
+/* This is a 10-bit pc-relative reloc with the right 2 bits assumed to be 0. */
+  BFD_RELOC_M32R_10_PCREL,
 
 /* This is an 18-bit reloc with the right 2 bits assumed to be 0. */
-  BFD_RELOC_M32R_DISP16,
+  BFD_RELOC_M32R_18_PCREL,
 
 /* This is an 26-bit reloc with the right 2 bits assumed to be 0. */
-  BFD_RELOC_M32R_DISP24,
+  BFD_RELOC_M32R_26_PCREL,
 /* end-sanitize-m32r */
 
 /* start-sanitize-v850 */
@@ -1875,6 +1881,14 @@ This is a 24 bit address. */
   BFD_RELOC_V850_TDA_OFFSET,
 /* end-sanitize-v850 */
 
+
+/* This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the
+instruction. */
+  BFD_RELOC_MN10300_32_PCREL,
+
+/* This is a 16bit pcrel reloc for the mn10300, offset by two bytes in the
+instruction. */
+  BFD_RELOC_MN10300_16_PCREL,
   BFD_RELOC_UNUSED };
 typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
 reloc_howto_type *
diff --git a/bfd/coff-tic80.c b/bfd/coff-tic80.c
new file mode 100644 (file)
index 0000000..06c8a2e
--- /dev/null
@@ -0,0 +1,23 @@
+/* BFD back-end for Texas Instruments TMS320C80 Multimedia Video Processor (MVP).
+   Copyright 1996 Free Software Foundation, Inc.
+
+   Written by Fred Fish (fnf@cygnus.com)
+
+   There is nothing new under the sun. This file draws a lot on other
+   coff files.
+
+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., 675 Mass Ave, Cambridge, MA 02139, USA.  */
index 2c96bd2dc2e4a02eef8d48ebe9d1483efed36637..bb59cf9224831b5020c67a07ac0402222de28f71 100755 (executable)
@@ -509,6 +509,12 @@ case "${targ}" in
     ;;
 #endif
 
+# start-sanitize-tic80
+  tic80*-*-coff*)
+    targ_defvec=tic80coff_vec
+    ;;
+
+# end-sanitize-tic80
 # start-sanitize-v850
   v850-*-*)
     targ_defvec=bfd_elf32_v850_vec
index 65d0a9fa74f3ac2402525740ee486b3d2a28b937..2f86de95cdf09d2c5c1bf7b634b5337e93bdbecd 100755 (executable)
@@ -1738,6 +1738,7 @@ EOF
        ;;
   mips-sgi-irix4*)     COREFILE=irix-core.o ;;
   mips-sgi-irix5*)     COREFILE=irix-core.o ;;
+  mips-sgi-irix6*)     COREFILE=irix-core.o ;;
   mips-*-mach3*)
        COREFILE=trad-core.o
        cat >> confdefs.h <<\EOF
@@ -1879,19 +1880,19 @@ EOF
   # Define HAVE_SYS_PROCFS_H if the file exists and defines
   # prstatus_t.
   echo $ac_n "checking for sys/procfs.h""... $ac_c" 1>&6
-echo "configure:1883: checking for sys/procfs.h" >&5
+echo "configure:1884: checking for sys/procfs.h" >&5
   if eval "test \"`echo '$''{'bfd_cv_header_sys_procfs_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1888 "configure"
+#line 1889 "configure"
 #include "confdefs.h"
 #include <sys/procfs.h>
 int main() {
 prstatus_t t;
 ; return 0; }
 EOF
-if { (eval echo configure:1895: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1896: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   bfd_cv_header_sys_procfs_h=yes
 else
@@ -2115,6 +2116,9 @@ do
     sunos_big_vec)             tb="$tb sunos.o aout32.o" ;;
     symbolsrec_vec)            tb="$tb srec.o" ;;
     tekhex_vec)                        tb="$tb tekhex.o" ;;
+# start-sanitize-tic80
+    tic80coff_vec)             tp="$tp coff-tic80.o" ;;
+# end-sanitize-tic80
     we32kcoff_vec)             tb="$tb coff-we32k.o" ;;
     z8kcoff_vec)               tb="$tb coff-z8k.o reloc16.o" ;;
     w65_vec)                   tb="$tb coff-w65.o reloc16.o" ;;
@@ -2198,17 +2202,17 @@ for ac_hdr in unistd.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2202: checking for $ac_hdr" >&5
+echo "configure:2206: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2207 "configure"
+#line 2211 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2212: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2216: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2237,12 +2241,12 @@ done
 for ac_func in getpagesize
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2241: checking for $ac_func" >&5
+echo "configure:2245: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2246 "configure"
+#line 2250 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2265,7 +2269,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2273: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2290,7 +2294,7 @@ fi
 done
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:2294: checking for working mmap" >&5
+echo "configure:2298: checking for working mmap" >&5
 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2298,7 +2302,7 @@ else
   ac_cv_func_mmap_fixed_mapped=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 2302 "configure"
+#line 2306 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
@@ -2438,7 +2442,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:2442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_mmap_fixed_mapped=yes
 else
@@ -2463,12 +2467,12 @@ fi
 for ac_func in madvise mprotect
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2467: checking for $ac_func" >&5
+echo "configure:2471: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2472 "configure"
+#line 2476 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2491,7 +2495,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
index 467db829aa5c6594f1bd914573b43e7e3c4fd791..621ca7f5f280bf63cbb2fc9114d68d89ae09a773 100644 (file)
@@ -143,6 +143,7 @@ BFD_NEED_DECLARATION(strstr)
 BFD_NEED_DECLARATION(malloc)
 BFD_NEED_DECLARATION(realloc)
 BFD_NEED_DECLARATION(free)
+BFD_NEED_DECLARATION(getenv)
 
 # If we are configured native, pick a core file support file.
 COREFILE=
@@ -232,6 +233,7 @@ changequote([,])dnl
        ;;
   mips-sgi-irix4*)     COREFILE=irix-core.o ;;
   mips-sgi-irix5*)     COREFILE=irix-core.o ;;
+  mips-sgi-irix6*)     COREFILE=irix-core.o ;;
   mips-*-mach3*)
        COREFILE=trad-core.o
        AC_DEFINE(TRAD_HEADER,"hosts/mipsmach3.h")
@@ -541,6 +543,9 @@ do
     sunos_big_vec)             tb="$tb sunos.o aout32.o" ;;
     symbolsrec_vec)            tb="$tb srec.o" ;;
     tekhex_vec)                        tb="$tb tekhex.o" ;;
+# start-sanitize-tic80
+    tic80coff_vec)             tp="$tp coff-tic80.o" ;;
+# end-sanitize-tic80
     we32kcoff_vec)             tb="$tb coff-we32k.o" ;;
     z8kcoff_vec)               tb="$tb coff-z8k.o reloc16.o" ;;
     w65_vec)                   tb="$tb coff-w65.o reloc16.o" ;;
@@ -580,9 +585,13 @@ if test x${all_targets} = xtrue ; then
   bfd_backends="${bfd_backends}"' $(ALL_BACKENDS)'
   bfd_machines="${bfd_machines}"' $(ALL_MACHINES)'
   selvecs=
+  havevecs=
   selarchs=
 else   # all_targets is true
   # Only set these if they will be nonempty, for the clever echo.
+  havevecs=
+  test -n "$selvecs" &&
+    havevecs=`echo $selvecs | sed -e 's/^/-DHAVE_/' -e 's/ \(.\)/ -DHAVE_\1/g'`
   test -n "$selvecs" &&
     selvecs=`echo $selvecs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
   test -n "$selarchs" &&
@@ -613,6 +622,7 @@ tdefaults=""
 test -n "${defvec}" && tdefaults="${tdefaults} -DDEFAULT_VECTOR=${defvec}"
 test -n "${selvecs}" && tdefaults="${tdefaults} -DSELECT_VECS='${selvecs}'"
 test -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selarchs}'"
+test -n "${havevecs}" && tdefaults="${tdefaults} ${havevecs}"
 AC_SUBST(tdefaults)
 
 dnl AC_CHECK_HEADERS(sys/mman.h)
diff --git a/bfd/cpu-tic80.c b/bfd/cpu-tic80.c
new file mode 100644 (file)
index 0000000..e36063d
--- /dev/null
@@ -0,0 +1,20 @@
+/* bfd back-end for TI TMS320C80 (MVP) support
+   Copyright (C) 1996 Free Software Foundation, Inc.
+   Written by Fred Fish at Cygnus support (fnf@cygnus.com)
+
+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.  */
+