(Lay some groundwork for TIc80 port that will be filled in incrementally.)
* 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
This commit is contained in:
parent
0b019fa141
commit
cd6213ffae
8 changed files with 122 additions and 24 deletions
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 *
|
||||
|
|
23
bfd/coff-tic80.c
Normal file
23
bfd/coff-tic80.c
Normal file
|
@ -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. */
|
|
@ -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
|
||||
|
|
34
bfd/configure
vendored
34
bfd/configure
vendored
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
20
bfd/cpu-tic80.c
Normal file
20
bfd/cpu-tic80.c
Normal file
|
@ -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. */
|
||||
|
Loading…
Add table
Reference in a new issue