aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog15
-rw-r--r--bfd/archures.c12
-rw-r--r--bfd/bfd-in2.h26
-rw-r--r--bfd/coff-tic80.c23
-rwxr-xr-xbfd/config.bfd6
-rwxr-xr-xbfd/configure34
-rw-r--r--bfd/configure.in10
-rw-r--r--bfd/cpu-tic80.c20
8 files changed, 122 insertions, 24 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 7887118..afcfe9a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/archures.c b/bfd/archures.c
index 0953b18..5090291 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -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,
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 220ed5b..d38f1de 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -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
index 0000000..06c8a2e
--- /dev/null
+++ b/bfd/coff-tic80.c
@@ -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. */
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 2c96bd2..bb59cf9 100755
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -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
diff --git a/bfd/configure b/bfd/configure
index 65d0a9f..2f86de9 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -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
diff --git a/bfd/configure.in b/bfd/configure.in
index 467db82..621ca7f 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -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
index 0000000..e36063d
--- /dev/null
+++ b/bfd/cpu-tic80.c
@@ -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. */
+