[include/elf]

* mep.h (EF_MEP_CPU_C5): New.
[bfd]
	* archures.c: Add bfd_mach_mep_c5.
	* bfd-in2.h: Likewise.
	* cpu-mep.c: Add bfd_c5_arch.
	* elf32-mep.c: Support it.
[gas]
	* config/tc-mep.c: Add UCI/DSP instruction support.  Add C5 support.
	(md_show_usage): Change default endian to little.
	* config/tc-mep.h (TARGET_BYTES_BIG_ENDIAN): Change default to little.
[ld]
	* emulparams/elf32mep.sh: Change default endian to little.
This commit is contained in:
DJ Delorie 2009-04-08 02:24:23 +00:00
parent e0edc2d941
commit 4d28413b40
12 changed files with 58 additions and 6 deletions

View File

@ -1,3 +1,10 @@
2009-04-07 DJ Delorie <dj@redhat.com>
* archures.c: Add bfd_mach_mep_c5.
* bfd-in2.h: Likewise.
* cpu-mep.c: Add bfd_c5_arch.
* elf32-mep.c: Support it.
2009-04-07 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (_bfd_elf_section_already_linked): Add `\n' for

View File

@ -335,6 +335,7 @@ DESCRIPTION
. bfd_arch_mep,
.#define bfd_mach_mep 1
.#define bfd_mach_mep_h1 0x6831
.#define bfd_mach_mep_c5 0x6335
. bfd_arch_ia64, {* HP/Intel ia64 *}
.#define bfd_mach_ia64_elf64 64
.#define bfd_mach_ia64_elf32 32

View File

@ -1972,6 +1972,7 @@ enum bfd_architecture
bfd_arch_mep,
#define bfd_mach_mep 1
#define bfd_mach_mep_h1 0x6831
#define bfd_mach_mep_c5 0x6335
bfd_arch_ia64, /* HP/Intel ia64 */
#define bfd_mach_ia64_elf64 64
#define bfd_mach_ia64_elf32 32

View File

@ -24,5 +24,6 @@
#define MA(x, n, def, y) { 32, 32, 8, bfd_arch_mep, x, "mep", n, \
2, def, bfd_default_compatible, bfd_default_scan, y }
static const bfd_arch_info_type bfd_h1_arch = MA (bfd_mach_mep_h1, "h1", FALSE, NULL);
static const bfd_arch_info_type bfd_c5_arch = MA (bfd_mach_mep_c5, "c5", FALSE, NULL);
static const bfd_arch_info_type bfd_h1_arch = MA (bfd_mach_mep_h1, "h1", FALSE, & bfd_c5_arch);
const bfd_arch_info_type bfd_mep_arch = MA (bfd_mach_mep, "mep", TRUE, & bfd_h1_arch);

View File

@ -731,6 +731,7 @@ elf32_mep_machine (bfd * abfd)
case EF_MEP_CPU_C2: return bfd_mach_mep;
case EF_MEP_CPU_C3: return bfd_mach_mep;
case EF_MEP_CPU_C4: return bfd_mach_mep;
case EF_MEP_CPU_C5: return bfd_mach_mep_c5;
case EF_MEP_CPU_H1: return bfd_mach_mep_h1;
}

View File

@ -1,3 +1,9 @@
2009-04-07 DJ Delorie <dj@redhat.com>
* config/tc-mep.c: Add UCI/DSP instruction support. Add C5 support.
(md_show_usage): Change default endian to little.
* config/tc-mep.h (TARGET_BYTES_BIG_ENDIAN): Change default to little.
2009-04-06 DJ Delorie <dj@redhat.com>
* tc-h8300.c (do_a_fix_imm): Pass the insn, force relocs for MOVA

View File

@ -136,7 +136,11 @@ static struct mep_hi_fixup * mep_hi_fixup_list;
#define OPTION_NOREPEAT (OPTION_MD_BASE + 26)
#define OPTION_DEBUG (OPTION_MD_BASE + 27)
#define OPTION_NODEBUG (OPTION_MD_BASE + 28)
#define OPTION_LIBRARY (OPTION_MD_BASE + 29)
#define OPTION_UCI (OPTION_MD_BASE + 29)
#define OPTION_NOUCI (OPTION_MD_BASE + 30)
#define OPTION_DSP (OPTION_MD_BASE + 31)
#define OPTION_NODSP (OPTION_MD_BASE + 32)
#define OPTION_LIBRARY (OPTION_MD_BASE + 33)
struct option md_longopts[] = {
{ "EB", no_argument, NULL, OPTION_EB},
@ -163,6 +167,10 @@ struct option md_longopts[] = {
{ "mcop32", no_argument, NULL, OPTION_COP32},
{ "mdebug", no_argument, NULL, OPTION_DEBUG},
{ "mno-debug", no_argument, NULL, OPTION_NODEBUG},
{ "muci", no_argument, NULL, OPTION_UCI},
{ "mno-uci", no_argument, NULL, OPTION_NOUCI},
{ "mdsp", no_argument, NULL, OPTION_DSP},
{ "mno-dsp", no_argument, NULL, OPTION_NODSP},
{ "mlibrary", no_argument, NULL, OPTION_LIBRARY},
{ NULL, 0, NULL, 0 } };
size_t md_longopts_size = sizeof (md_longopts);
@ -283,6 +291,22 @@ md_parse_option (int c, char *arg ATTRIBUTE_UNUSED)
optbits &= ~(1 << CGEN_INSN_OPTIONAL_DEBUG_INSN);
optbitset |= 1 << CGEN_INSN_OPTIONAL_DEBUG_INSN;
break;
case OPTION_UCI:
optbits |= 1 << CGEN_INSN_OPTIONAL_UCI_INSN;
optbitset |= 1 << CGEN_INSN_OPTIONAL_UCI_INSN;
break;
case OPTION_NOUCI:
optbits &= ~(1 << CGEN_INSN_OPTIONAL_UCI_INSN);
optbitset |= 1 << CGEN_INSN_OPTIONAL_UCI_INSN;
break;
case OPTION_DSP:
optbits |= 1 << CGEN_INSN_OPTIONAL_DSP_INSN;
optbitset |= 1 << CGEN_INSN_OPTIONAL_DSP_INSN;
break;
case OPTION_NODSP:
optbits &= ~(1 << CGEN_INSN_OPTIONAL_DSP_INSN);
optbitset |= 1 << CGEN_INSN_OPTIONAL_DSP_INSN;
break;
case OPTION_LIBRARY:
library_flag = EF_MEP_LIBRARY;
break;
@ -299,8 +323,8 @@ void
md_show_usage (FILE *stream)
{
fprintf (stream, _("MeP specific command line options:\n\
-EB assemble for a big endian system (default)\n\
-EL assemble for a little endian system\n\
-EB assemble for a big endian system\n\
-EL assemble for a little endian system (default)\n\
-mconfig=<name> specify a chip configuration to use\n\
-maverage -mno-average -mmult -mno-mult -mdiv -mno-div\n\
-mbitops -mno-bitops -mleadz -mno-leadz -mabsdiff -mno-absdiff\n\
@ -394,6 +418,7 @@ mep_machine (void)
case EF_MEP_CPU_C2: return bfd_mach_mep;
case EF_MEP_CPU_C3: return bfd_mach_mep;
case EF_MEP_CPU_C4: return bfd_mach_mep;
case EF_MEP_CPU_C5: return bfd_mach_mep_c5;
case EF_MEP_CPU_H1: return bfd_mach_mep_h1;
}

View File

@ -34,7 +34,7 @@
#define TARGET_FORMAT (target_big_endian ? "elf32-mep" : "elf32-mep-little")
/* This is the default. */
#define TARGET_BYTES_BIG_ENDIAN 1
#define TARGET_BYTES_BIG_ENDIAN 0
/* Permit temporary numeric labels. */
#define LOCAL_LABELS_FB 1

View File

@ -1,3 +1,7 @@
2009-04-07 DJ Delorie <dj@redhat.com>
* mep.h (EF_MEP_CPU_C5): New.
2009-04-01 H.J. Lu <hongjiu.lu@intel.com>
* common.h (EM_INTEL178): Removed.

View File

@ -73,6 +73,8 @@ END_RELOC_NUMBERS(R_MEP_max)
#define EF_MEP_CPU_C2 0x01000000 /* MEP c2 */
#define EF_MEP_CPU_C3 0x02000000 /* MEP c3 */
#define EF_MEP_CPU_C4 0x04000000 /* MEP c4 */
/* 5..7 are reseved */
#define EF_MEP_CPU_C5 0x08000000 /* MEP c5 */
#define EF_MEP_CPU_H1 0x10000000 /* MEP h1 */
#define EF_MEP_LIBRARY 0x00000100 /* Built as a library */

View File

@ -1,3 +1,7 @@
2009-04-07 DJ Delorie <dj@redhat.com>
* emulparams/elf32mep.sh: Change default endian to little.
2009-04-07 Nick Clifton <nickc@redhat.com>
* ld.texinfo (Output Section Address): Note that specifying an

View File

@ -1,6 +1,6 @@
MACHINE=
SCRIPT_NAME=mep
OUTPUT_FORMAT="elf32-mep"
OUTPUT_FORMAT="elf32-mep-little"
TEXT_START_ADDR=0x1000
ARCH=mep
MAXPAGESIZE=256