mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-01-21 00:15:13 +00:00
* archures.c (bfd_mach_mips*): Add definitions for various MIPS
processors. * cpu-mips.c (arch_info_struct): Add mips variants. * bfd-in2.h: Rebuilt.
This commit is contained in:
parent
4411d96450
commit
29410c45ae
@ -354,7 +354,7 @@ else
|
||||
done
|
||||
fi
|
||||
|
||||
r5900_files="ChangeLog config.bfd"
|
||||
r5900_files="ChangeLog config.bfd archures.c bfd-in2.h cpu-mips.c"
|
||||
if ( echo $* | grep keep\-r5900 > /dev/null ) ; then
|
||||
for i in $r5900_files ; do
|
||||
if test ! -d $i && (grep sanitize-r5900 $i > /dev/null) ; then
|
||||
@ -382,6 +382,62 @@ else
|
||||
done
|
||||
fi
|
||||
|
||||
tx19_files="archures.c bfd-in2.h cpu-mips.c"
|
||||
if ( echo $* | grep keep\-tx19 > /dev/null ) ; then
|
||||
for i in $tx19_files ; do
|
||||
if test ! -d $i && (grep sanitize-tx19 $i > /dev/null) ; then
|
||||
if [ -n "${verbose}" ] ; then
|
||||
echo Keeping tx19 stuff in $i
|
||||
fi
|
||||
fi
|
||||
done
|
||||
else
|
||||
for i in $tx19_files ; do
|
||||
if test ! -d $i && (grep sanitize-tx19 $i > /dev/null) ; then
|
||||
if [ -n "${verbose}" ] ; then
|
||||
echo Removing traces of \"tx19\" from $i...
|
||||
fi
|
||||
cp $i new
|
||||
sed '/start\-sanitize\-tx19/,/end-\sanitize\-tx19/d' < $i > new
|
||||
if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
|
||||
if [ -n "${verbose}" ] ; then
|
||||
echo Caching $i in .Recover...
|
||||
fi
|
||||
mv $i .Recover
|
||||
fi
|
||||
mv new $i
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
tx49_files="archures.c bfd-in2.h cpu-mips.c"
|
||||
if ( echo $* | grep keep\-tx49 > /dev/null ) ; then
|
||||
for i in $tx49_files ; do
|
||||
if test ! -d $i && (grep sanitize-tx49 $i > /dev/null) ; then
|
||||
if [ -n "${verbose}" ] ; then
|
||||
echo Keeping tx49 stuff in $i
|
||||
fi
|
||||
fi
|
||||
done
|
||||
else
|
||||
for i in $tx49_files ; do
|
||||
if test ! -d $i && (grep sanitize-tx49 $i > /dev/null) ; then
|
||||
if [ -n "${verbose}" ] ; then
|
||||
echo Removing traces of \"tx49\" from $i...
|
||||
fi
|
||||
cp $i new
|
||||
sed '/start\-sanitize\-tx49/,/end-\sanitize\-tx49/d' < $i > new
|
||||
if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
|
||||
if [ -n "${verbose}" ] ; then
|
||||
echo Caching $i in .Recover...
|
||||
fi
|
||||
mv $i .Recover
|
||||
fi
|
||||
mv new $i
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
sh4_files="ChangeLog config.bfd archures.c bfd-in2.h cpu-sh.c"
|
||||
if ( echo $* | grep keep\-sh4 > /dev/null ) ; then
|
||||
for i in $sh4_files ; do
|
||||
|
@ -1,3 +1,10 @@
|
||||
Tue Jan 27 21:45:15 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* archures.c (bfd_mach_mips*): Add definitions for various MIPS
|
||||
processors.
|
||||
* cpu-mips.c (arch_info_struct): Add mips variants.
|
||||
* bfd-in2.h: Rebuilt.
|
||||
|
||||
Tue Jan 27 15:06:04 1998 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* coff-arm.c (coff_arm_relocate_section): Fix for PR14752 by
|
||||
|
@ -102,16 +102,33 @@ DESCRIPTION
|
||||
.{* Nonzero if MACH has the v9 instruction set. *}
|
||||
.#define bfd_mach_sparc_v9_p(mach) \
|
||||
. ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9a)
|
||||
. bfd_arch_mips, {* MIPS Rxxxx *}
|
||||
. {* start-sanitize-tx19 *}
|
||||
.#define bfd_mach_mips1900 1900
|
||||
. {* end-sanitize-tx19 *}
|
||||
.#define bfd_mach_mips3000 3000
|
||||
.#define bfd_mach_mips6000 6000
|
||||
.#define bfd_mach_mips3900 3900
|
||||
.#define bfd_mach_mips4000 4000
|
||||
.#define bfd_mach_mips8000 8000
|
||||
.#define bfd_mach_mips16 16
|
||||
.#define bfd_mach_mips4010 4010
|
||||
.#define bfd_mach_mips4100 4100
|
||||
.#define bfd_mach_mips4300 4300
|
||||
.#define bfd_mach_mips4400 4400
|
||||
.#define bfd_mach_mips4600 4600
|
||||
.#define bfd_mach_mips4650 4650
|
||||
. {* start-sanitize-tx49 *}
|
||||
.#define bfd_mach_mips4900 4900
|
||||
. {* end-sanitize-tx49 *}
|
||||
.#define bfd_mach_mips5000 5000
|
||||
. {* start-sanitize-vr5400 *}
|
||||
.#define bfd_mach_vr5400 5400
|
||||
.#define bfd_mach_vr5000 5000
|
||||
.#define bfd_mach_mips5400 5400
|
||||
. {* end-sanitize-vr5400 *}
|
||||
. {* start-sanitize-r5900 *}
|
||||
.#define bfd_mach_mips5900 5900
|
||||
. {* end-sanitize-r5900 *}
|
||||
.#define bfd_mach_mips6000 6000
|
||||
.#define bfd_mach_mips8000 8000
|
||||
.#define bfd_mach_mips10000 10000
|
||||
.#define bfd_mach_mips16 16
|
||||
. bfd_arch_mips, {* MIPS Rxxxx *}
|
||||
. bfd_arch_i386, {* Intel 386 *}
|
||||
.#define bfd_mach_i386_i386 0
|
||||
.#define bfd_mach_i386_i8086 1
|
||||
|
@ -1194,16 +1194,33 @@ enum bfd_architecture
|
||||
/* Nonzero if MACH has the v9 instruction set. */
|
||||
#define bfd_mach_sparc_v9_p(mach) \
|
||||
((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9a)
|
||||
bfd_arch_mips, /* MIPS Rxxxx */
|
||||
/* start-sanitize-tx19 */
|
||||
#define bfd_mach_mips1900 1900
|
||||
/* end-sanitize-tx19 */
|
||||
#define bfd_mach_mips3000 3000
|
||||
#define bfd_mach_mips6000 6000
|
||||
#define bfd_mach_mips3900 3900
|
||||
#define bfd_mach_mips4000 4000
|
||||
#define bfd_mach_mips8000 8000
|
||||
#define bfd_mach_mips16 16
|
||||
#define bfd_mach_mips4010 4010
|
||||
#define bfd_mach_mips4100 4100
|
||||
#define bfd_mach_mips4300 4300
|
||||
#define bfd_mach_mips4400 4400
|
||||
#define bfd_mach_mips4600 4600
|
||||
#define bfd_mach_mips4650 4650
|
||||
/* start-sanitize-tx49 */
|
||||
#define bfd_mach_mips4900 4900
|
||||
/* end-sanitize-tx49 */
|
||||
#define bfd_mach_mips5000 5000
|
||||
/* start-sanitize-vr5400 */
|
||||
#define bfd_mach_vr5400 5400
|
||||
#define bfd_mach_vr5000 5000
|
||||
#define bfd_mach_mips5400 5400
|
||||
/* end-sanitize-vr5400 */
|
||||
/* start-sanitize-r5900 */
|
||||
#define bfd_mach_mips5900 5900
|
||||
/* end-sanitize-r5900 */
|
||||
#define bfd_mach_mips6000 6000
|
||||
#define bfd_mach_mips8000 8000
|
||||
#define bfd_mach_mips10000 10000
|
||||
#define bfd_mach_mips16 16
|
||||
bfd_arch_mips, /* MIPS Rxxxx */
|
||||
bfd_arch_i386, /* Intel 386 */
|
||||
#define bfd_mach_i386_i386 0
|
||||
#define bfd_mach_i386_i8086 1
|
||||
|
134
bfd/cpu-mips.c
134
bfd/cpu-mips.c
@ -1,5 +1,5 @@
|
||||
/* bfd back-end for mips support
|
||||
Copyright (C) 1990, 91, 92, 93, 94 Free Software Foundation, Inc.
|
||||
Copyright (C) 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
|
||||
Written by Steve Chamberlain of Cygnus Support.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -22,71 +22,75 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
#include "sysdep.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
static bfd_arch_info_type arch_info_struct[] =
|
||||
{
|
||||
{
|
||||
32, /* 32 bits in a word */
|
||||
32, /* 32 bits in an address */
|
||||
8, /* 8 bits in a byte */
|
||||
bfd_arch_mips,
|
||||
3000,
|
||||
"mips",
|
||||
"mips:3000",
|
||||
3,
|
||||
true,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
0,
|
||||
},
|
||||
{
|
||||
32, /* 32 bits in a word */
|
||||
32, /* 32 bits in an address */
|
||||
8, /* 8 bits in a byte */
|
||||
bfd_arch_mips,
|
||||
6000,
|
||||
"mips",
|
||||
"mips:6000",
|
||||
3,
|
||||
false,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
0,
|
||||
},
|
||||
{
|
||||
64, /* 64 bits in a word */
|
||||
64, /* 64 bits in an address */
|
||||
8, /* 8 bits in a byte */
|
||||
bfd_arch_mips,
|
||||
4000,
|
||||
"mips",
|
||||
"mips:4000",
|
||||
3,
|
||||
false,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan ,
|
||||
0,
|
||||
},
|
||||
{
|
||||
64, /* 64 bits in a word */
|
||||
64, /* 64 bits in an address */
|
||||
8, /* 8 bits in a byte */
|
||||
bfd_arch_mips,
|
||||
8000,
|
||||
"mips",
|
||||
"mips:8000",
|
||||
3,
|
||||
false,
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan ,
|
||||
0,
|
||||
#define N(BITS_WORD, BITS_ADDR, NUMBER, PRINT, DEFAULT, NEXT) \
|
||||
{ \
|
||||
BITS_WORD, /* bits in a word */ \
|
||||
BITS_ADDR, /* bits in an address */ \
|
||||
8, /* 8 bits in a byte */ \
|
||||
bfd_arch_mips, \
|
||||
NUMBER, \
|
||||
"mips", \
|
||||
PRINT, \
|
||||
3, \
|
||||
DEFAULT, \
|
||||
bfd_default_compatible, \
|
||||
bfd_default_scan, \
|
||||
NEXT, \
|
||||
}
|
||||
|
||||
|
||||
#define A 0
|
||||
#define B 0
|
||||
#define C 0
|
||||
#define D 0
|
||||
|
||||
static const bfd_arch_info_type arch_info_struct[] =
|
||||
{
|
||||
N (32, 32, bfd_mach_mips3000, "mips:3000", false, &arch_info_struct[1]),
|
||||
N (32, 32, bfd_mach_mips3900, "mips:3900", false, &arch_info_struct[2]),
|
||||
N (64, 64, bfd_mach_mips4000, "mips:4000", false, &arch_info_struct[3]),
|
||||
N (64, 64, bfd_mach_mips4010, "mips:4010", false, &arch_info_struct[4]),
|
||||
N (64, 64, bfd_mach_mips4100, "mips:4100", false, &arch_info_struct[5]),
|
||||
N (64, 64, bfd_mach_mips4300, "mips:4300", false, &arch_info_struct[6]),
|
||||
N (64, 64, bfd_mach_mips4400, "mips:4400", false, &arch_info_struct[7]),
|
||||
N (64, 64, bfd_mach_mips4600, "mips:4600", false, &arch_info_struct[8]),
|
||||
N (64, 64, bfd_mach_mips4650, "mips:4650", false, &arch_info_struct[9]),
|
||||
N (64, 64, bfd_mach_mips5000, "mips:5000", false, &arch_info_struct[10]),
|
||||
N (32, 32, bfd_mach_mips6000, "mips:6000", false, &arch_info_struct[11]),
|
||||
N (64, 64, bfd_mach_mips8000, "mips:8000", false, &arch_info_struct[12]),
|
||||
N (64, 64, bfd_mach_mips10000, "mips:10000", false, &arch_info_struct[13]),
|
||||
|
||||
/* start-sanitize-tx19
|
||||
#undef A
|
||||
#define A 1
|
||||
N (32, 32, bfd_mach_mips1900, "mips:1900", false, &arch_info_struct[13+A]),
|
||||
/* end-sanitize-tx19 */
|
||||
/* start-sanitize-tx49 */
|
||||
#undef B
|
||||
#define B 1
|
||||
N (64, 64, bfd_mach_mips4900, "mips:4900", false, &arch_info_struct[13+A+B]),
|
||||
/* end-sanitize-tx49 */
|
||||
/* start-sanitize-vr5400 */
|
||||
#undef C
|
||||
#define C 1
|
||||
N (64, 64, bfd_mach_mips5400, "mips:5400", false, &arch_info_struct[13+A+B+C]),
|
||||
/* end-sanitize-vr5400 */
|
||||
/* start-sanitize-r5900 */
|
||||
#undef D
|
||||
#define D 1
|
||||
N (64, 64, bfd_mach_mips5900, "mips:5900", false, &arch_info_struct[13+A+B+C+D]),
|
||||
/* end-sanitize-r5900 */
|
||||
N (64, 64, bfd_mach_mips16, "mips:16", false, 0),
|
||||
};
|
||||
|
||||
void
|
||||
bfd_mips_arch ()
|
||||
{
|
||||
register unsigned int i;
|
||||
#undef A
|
||||
#undef B
|
||||
#undef C
|
||||
#undef D
|
||||
|
||||
for (i = 0; i < sizeof (arch_info_struct) / sizeof (*arch_info_struct); i++)
|
||||
bfd_arch_linkin(&arch_info_struct[i]);
|
||||
}
|
||||
/* The default architecture is mips:3000, but with a machine number of
|
||||
zero. This lets the linker distinguish between a default setting
|
||||
of mips, and an explicit setting of mips:3000. */
|
||||
|
||||
const bfd_arch_info_type bfd_mips_arch =
|
||||
N (32, 32, 0, "mips", true, &arch_info_struct[0]);
|
||||
|
Loading…
x
Reference in New Issue
Block a user