mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 22:07:58 +08: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:
@ -354,7 +354,7 @@ else
|
|||||||
done
|
done
|
||||||
fi
|
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
|
if ( echo $* | grep keep\-r5900 > /dev/null ) ; then
|
||||||
for i in $r5900_files ; do
|
for i in $r5900_files ; do
|
||||||
if test ! -d $i && (grep sanitize-r5900 $i > /dev/null) ; then
|
if test ! -d $i && (grep sanitize-r5900 $i > /dev/null) ; then
|
||||||
@ -382,6 +382,62 @@ else
|
|||||||
done
|
done
|
||||||
fi
|
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"
|
sh4_files="ChangeLog config.bfd archures.c bfd-in2.h cpu-sh.c"
|
||||||
if ( echo $* | grep keep\-sh4 > /dev/null ) ; then
|
if ( echo $* | grep keep\-sh4 > /dev/null ) ; then
|
||||||
for i in $sh4_files ; do
|
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>
|
Tue Jan 27 15:06:04 1998 Nick Clifton <nickc@cygnus.com>
|
||||||
|
|
||||||
* coff-arm.c (coff_arm_relocate_section): Fix for PR14752 by
|
* coff-arm.c (coff_arm_relocate_section): Fix for PR14752 by
|
||||||
|
@ -102,16 +102,33 @@ DESCRIPTION
|
|||||||
.{* Nonzero if MACH has the v9 instruction set. *}
|
.{* Nonzero if MACH has the v9 instruction set. *}
|
||||||
.#define bfd_mach_sparc_v9_p(mach) \
|
.#define bfd_mach_sparc_v9_p(mach) \
|
||||||
. ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9a)
|
. ((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_mips3000 3000
|
||||||
.#define bfd_mach_mips6000 6000
|
.#define bfd_mach_mips3900 3900
|
||||||
.#define bfd_mach_mips4000 4000
|
.#define bfd_mach_mips4000 4000
|
||||||
.#define bfd_mach_mips8000 8000
|
.#define bfd_mach_mips4010 4010
|
||||||
.#define bfd_mach_mips16 16
|
.#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 *}
|
. {* start-sanitize-vr5400 *}
|
||||||
.#define bfd_mach_vr5400 5400
|
.#define bfd_mach_mips5400 5400
|
||||||
.#define bfd_mach_vr5000 5000
|
|
||||||
. {* end-sanitize-vr5400 *}
|
. {* 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 *}
|
. bfd_arch_i386, {* Intel 386 *}
|
||||||
.#define bfd_mach_i386_i386 0
|
.#define bfd_mach_i386_i386 0
|
||||||
.#define bfd_mach_i386_i8086 1
|
.#define bfd_mach_i386_i8086 1
|
||||||
|
@ -1194,16 +1194,33 @@ enum bfd_architecture
|
|||||||
/* Nonzero if MACH has the v9 instruction set. */
|
/* Nonzero if MACH has the v9 instruction set. */
|
||||||
#define bfd_mach_sparc_v9_p(mach) \
|
#define bfd_mach_sparc_v9_p(mach) \
|
||||||
((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9a)
|
((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_mips3000 3000
|
||||||
#define bfd_mach_mips6000 6000
|
#define bfd_mach_mips3900 3900
|
||||||
#define bfd_mach_mips4000 4000
|
#define bfd_mach_mips4000 4000
|
||||||
#define bfd_mach_mips8000 8000
|
#define bfd_mach_mips4010 4010
|
||||||
#define bfd_mach_mips16 16
|
#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 */
|
/* start-sanitize-vr5400 */
|
||||||
#define bfd_mach_vr5400 5400
|
#define bfd_mach_mips5400 5400
|
||||||
#define bfd_mach_vr5000 5000
|
|
||||||
/* end-sanitize-vr5400 */
|
/* 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 */
|
bfd_arch_i386, /* Intel 386 */
|
||||||
#define bfd_mach_i386_i386 0
|
#define bfd_mach_i386_i386 0
|
||||||
#define bfd_mach_i386_i8086 1
|
#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
|
/* 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.
|
Written by Steve Chamberlain of Cygnus Support.
|
||||||
|
|
||||||
This file is part of BFD, the Binary File Descriptor library.
|
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 "sysdep.h"
|
||||||
#include "libbfd.h"
|
#include "libbfd.h"
|
||||||
|
|
||||||
static bfd_arch_info_type arch_info_struct[] =
|
#define N(BITS_WORD, BITS_ADDR, NUMBER, PRINT, DEFAULT, NEXT) \
|
||||||
{
|
{ \
|
||||||
{
|
BITS_WORD, /* bits in a word */ \
|
||||||
32, /* 32 bits in a word */
|
BITS_ADDR, /* bits in an address */ \
|
||||||
32, /* 32 bits in an address */
|
8, /* 8 bits in a byte */ \
|
||||||
8, /* 8 bits in a byte */
|
bfd_arch_mips, \
|
||||||
bfd_arch_mips,
|
NUMBER, \
|
||||||
3000,
|
"mips", \
|
||||||
"mips",
|
PRINT, \
|
||||||
"mips:3000",
|
3, \
|
||||||
3,
|
DEFAULT, \
|
||||||
true,
|
bfd_default_compatible, \
|
||||||
bfd_default_compatible,
|
bfd_default_scan, \
|
||||||
bfd_default_scan,
|
NEXT, \
|
||||||
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 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
|
#undef A
|
||||||
bfd_mips_arch ()
|
#undef B
|
||||||
{
|
#undef C
|
||||||
register unsigned int i;
|
#undef D
|
||||||
|
|
||||||
for (i = 0; i < sizeof (arch_info_struct) / sizeof (*arch_info_struct); i++)
|
/* The default architecture is mips:3000, but with a machine number of
|
||||||
bfd_arch_linkin(&arch_info_struct[i]);
|
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]);
|
||||||
|
Reference in New Issue
Block a user