Add support for maxq10 and maxq20 machine values
This commit is contained in:
parent
b702665739
commit
5c4504f7c5
@ -1,3 +1,13 @@
|
||||
2005-01-10 Inderpreet Singh <inderpreetb@noida.hcltech.com>
|
||||
|
||||
* archures.c: Define bfd_mach_maxq10 and bfd_mach_maxq20.
|
||||
* bfd-in2.h: Regenerate.
|
||||
* coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Add code
|
||||
to support these new machine values.
|
||||
* cpu-maxq.c (bfd_maxq10_arch): New architecture definition for
|
||||
the maxq10.
|
||||
(bfd_maxq_arch): Update values for the maxq20.
|
||||
|
||||
2005-01-10 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
* elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD library support routines for architectures.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004
|
||||
2000, 2001, 2002, 2003, 2004, 2005
|
||||
Free Software Foundation, Inc.
|
||||
Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
|
||||
|
||||
@ -356,6 +356,8 @@ DESCRIPTION
|
||||
. bfd_arch_xtensa, {* Tensilica's Xtensa cores. *}
|
||||
.#define bfd_mach_xtensa 1
|
||||
. bfd_arch_maxq, {* Dallas MAXQ 10/20 *}
|
||||
.#define bfd_mach_maxq10 10
|
||||
.#define bfd_mach_maxq20 20
|
||||
. bfd_arch_last
|
||||
. };
|
||||
*/
|
||||
|
@ -1808,6 +1808,8 @@ enum bfd_architecture
|
||||
bfd_arch_xtensa, /* Tensilica's Xtensa cores. */
|
||||
#define bfd_mach_xtensa 1
|
||||
bfd_arch_maxq, /* Dallas MAXQ 10/20 */
|
||||
#define bfd_mach_maxq10 10
|
||||
#define bfd_mach_maxq20 20
|
||||
bfd_arch_last
|
||||
};
|
||||
|
||||
|
@ -1989,7 +1989,17 @@ coff_set_arch_mach_hook (abfd, filehdr)
|
||||
#ifdef MAXQ20MAGIC
|
||||
case MAXQ20MAGIC:
|
||||
arch = bfd_arch_maxq;
|
||||
machine = 0;
|
||||
switch (internal_f->f_flags & F_MACHMASK)
|
||||
{
|
||||
case F_MAXQ10:
|
||||
machine = bfd_mach_maxq10;
|
||||
break;
|
||||
case F_MAXQ20:
|
||||
machine = bfd_mach_maxq20;
|
||||
break;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#ifdef MC88MAGIC
|
||||
@ -2927,9 +2937,18 @@ coff_set_flags (abfd, magicp, flagsp)
|
||||
|
||||
#ifdef MAXQ20MAGIC
|
||||
case bfd_arch_maxq:
|
||||
*magicp = MAXQ20MAGIC;
|
||||
return TRUE;
|
||||
break;
|
||||
* magicp = MAXQ20MAGIC;
|
||||
switch (bfd_get_mach (abfd))
|
||||
{
|
||||
case bfd_mach_maxq10:
|
||||
* flagsp = F_MAXQ10;
|
||||
return TRUE;
|
||||
case bfd_mach_maxq20:
|
||||
* flagsp = F_MAXQ20;
|
||||
return TRUE;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
default: /* Unknown architecture. */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the MAXQ20/10 architecture.
|
||||
Copyright 2004 Free Software Foundation, Inc.
|
||||
Copyright 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
Written by Vineet Sharma(vineets@noida.hcltech.com)
|
||||
Inderpreet Singh(inderpreetb@noida.hcltech.com)
|
||||
@ -25,18 +25,35 @@
|
||||
#include "libbfd.h"
|
||||
|
||||
/* MAXQ Archtecture info. */
|
||||
const bfd_arch_info_type bfd_maxq_arch =
|
||||
static const bfd_arch_info_type bfd_maxq10_arch =
|
||||
{
|
||||
16, /* 16 bits in a word */
|
||||
16, /* 16 bits in an address */
|
||||
8, /* 16 bits in a byte */
|
||||
bfd_arch_maxq, /* enum bfd_archtecture arch */
|
||||
0, /* only 1 machine */
|
||||
"maxq", /* arch_name */
|
||||
"maxq", /* printable name */
|
||||
0, /* section align power */
|
||||
TRUE, /* the_default: if this is the machine */
|
||||
bfd_default_compatible, /* bfd_arch_info */
|
||||
16, /* 16 bits in a word. */
|
||||
16, /* 16 bits in an address. */
|
||||
8, /* 16 bits in a byte. */
|
||||
bfd_arch_maxq, /* Architecture number. */
|
||||
bfd_mach_maxq10, /* Machine number. */
|
||||
"maxq", /* Architecture name. */
|
||||
"maxq10", /* Machine name. */
|
||||
0, /* Section align power. */
|
||||
FALSE, /* Not the default machine. */
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
const bfd_arch_info_type bfd_maxq_arch =
|
||||
{
|
||||
16, /* 16 bits in a word. */
|
||||
16, /* 16 bits in an address. */
|
||||
8, /* 16 bits in a byte. */
|
||||
bfd_arch_maxq, /* Architecture number. */
|
||||
bfd_mach_maxq20, /* Machine number. */
|
||||
"maxq", /* Architecture name. */
|
||||
"maxq20", /* Machine name. */
|
||||
0, /* Section align power. */
|
||||
TRUE, /* This is the default machine. */
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan,
|
||||
& bfd_maxq10_arch
|
||||
};
|
||||
|
@ -1,3 +1,10 @@
|
||||
2005-01-10 Inderpreet Singh <inderpreetb@noida.hcltech.com>
|
||||
|
||||
* tc-maxq.c: Replace constants 10 and 20 with bfd_mach_maxq10 and
|
||||
bfd_mach_maxq20.
|
||||
(md_pseudo_table): Add new pseudo ops for maxq10 and maxq20.
|
||||
(maxq_target): New function: Set the machine type.
|
||||
|
||||
2005-01-06 Paul Brook <paul@codesourcery.com>
|
||||
|
||||
* config/tc-arm.c (FPU_DEFAULT): Define for TE_VXWORKS.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* tc-maxq.c -- assembler code for a MAXQ chip.
|
||||
|
||||
Copyright 2004 Free Software Foundation, Inc.
|
||||
Copyright 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
Contributed by HCL Technologies Pvt. Ltd.
|
||||
|
||||
@ -70,7 +70,7 @@
|
||||
#define PFX0 0x0b
|
||||
|
||||
/* Set default to MAXQ20. */
|
||||
unsigned int max_version = 20;
|
||||
unsigned int max_version = bfd_mach_maxq20;
|
||||
|
||||
const char *default_arch = DEFAULT_ARCH;
|
||||
|
||||
@ -186,6 +186,13 @@ md_undefined_symbol (char * name ATTRIBUTE_UNUSED)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
maxq_target (int target)
|
||||
{
|
||||
max_version = target;
|
||||
bfd_set_arch_mach (stdoutput, bfd_arch_maxq, max_version);
|
||||
}
|
||||
|
||||
int
|
||||
md_parse_option (int c, char *arg ATTRIBUTE_UNUSED)
|
||||
{
|
||||
@ -193,10 +200,10 @@ md_parse_option (int c, char *arg ATTRIBUTE_UNUSED)
|
||||
switch (c)
|
||||
{
|
||||
case MAXQ_10:
|
||||
max_version = 10;
|
||||
max_version = bfd_mach_maxq10;
|
||||
break;
|
||||
case MAXQ_20:
|
||||
max_version = 20;
|
||||
max_version = bfd_mach_maxq20;
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -717,6 +724,8 @@ const pseudo_typeS md_pseudo_table[] =
|
||||
{
|
||||
{"int", cons, 2}, /* size of 'int' has been changed to 1 word
|
||||
(i.e) 16 bits. */
|
||||
{"maxq10", maxq_target, bfd_mach_maxq10},
|
||||
{"maxq20", maxq_target, bfd_mach_maxq20},
|
||||
{NULL, 0, 0},
|
||||
};
|
||||
|
||||
@ -2948,7 +2957,7 @@ md_begin (void)
|
||||
|
||||
core_optab->end = optab;
|
||||
#ifdef MAXQ10S
|
||||
if (max_version == 10)
|
||||
if (max_version == bfd_mach_maxq10)
|
||||
{
|
||||
if (((optab - 1)->arch == MAXQ10) || ((optab - 1)->arch == MAX))
|
||||
{
|
||||
@ -2957,9 +2966,8 @@ md_begin (void)
|
||||
(PTR) core_optab);
|
||||
}
|
||||
}
|
||||
else if (max_version == 20)
|
||||
else if (max_version == bfd_mach_maxq20)
|
||||
{
|
||||
/* MAXQ20 */
|
||||
if (((optab - 1)->arch == MAXQ20) || ((optab - 1)->arch == MAX))
|
||||
{
|
||||
#endif
|
||||
@ -2993,12 +3001,12 @@ md_begin (void)
|
||||
#if MAXQ10S
|
||||
switch (max_version)
|
||||
{
|
||||
case 10: /* MAXQ10 */
|
||||
case bfd_mach_maxq10:
|
||||
if ((reg_tab->arch == MAXQ10) || (reg_tab->arch == MAX))
|
||||
hash_err = hash_insert (reg_hash, reg_tab->reg_name, (PTR) reg_tab);
|
||||
break;
|
||||
|
||||
case 20: /* MAXQ20 */
|
||||
case bfd_mach_maxq20:
|
||||
if ((reg_tab->arch == MAXQ20) || (reg_tab->arch == MAX))
|
||||
{
|
||||
#endif
|
||||
@ -3116,6 +3124,9 @@ md_begin (void)
|
||||
|
||||
for (p = operand_special_chars; *p != '\0'; p++)
|
||||
operand_chars[(unsigned char) *p] = (unsigned char) *p;
|
||||
|
||||
/* Set the maxq arch type. */
|
||||
maxq_target (max_version);
|
||||
}
|
||||
|
||||
/* md_assemble - Parse Instr - Seprate menmonics and operands - lookup the
|
||||
|
@ -1,7 +1,11 @@
|
||||
2005-01-10 Inderpreet Singh <inderpreetb@noida.hcltech.com>
|
||||
|
||||
* maxq.h (F_MAXQ10, F_MAXQ20): Define.
|
||||
|
||||
2004-11-08 Inderpreet Singh <inderpreetb@nioda.hcltech.com>
|
||||
Vineet Sharma <vineets@noida.hcltech.com>
|
||||
|
||||
* maxqh: New file: Defintions for the maxq port.
|
||||
* maxq.h: New file: Defintions for the maxq port.
|
||||
|
||||
2004-11-08 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* COFF spec for MAXQ
|
||||
|
||||
Copyright 2004 Free Software Foundation, Inc.
|
||||
Copyright 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -25,14 +25,19 @@
|
||||
|
||||
/* Bits for f_flags: F_RELFLG relocation info stripped from file F_EXEC file
|
||||
is executable (no unresolved external references) F_LNNO line numbers
|
||||
stripped from file F_LSYMS local symbols stripped from file F_AR32WR file
|
||||
has byte ordering of an AR32WR machine (e.g. vax). */
|
||||
stripped from file F_LSYMS local symbols stripped from file. */
|
||||
|
||||
#define F_RELFLG (0x0001)
|
||||
#define F_EXEC (0x0002)
|
||||
#define F_LNNO (0x0004)
|
||||
#define F_LSYMS (0x0008)
|
||||
|
||||
/* Variant Specific Flags for MAXQ10 and MAXQ20. */
|
||||
#define F_MAXQ10 (0x0030)
|
||||
#define F_MAXQ20 (0x0040)
|
||||
|
||||
#define F_MACHMASK (0x00F0)
|
||||
|
||||
/* Magic numbers for maxq. */
|
||||
#define MAXQ20MAGIC 0xa0
|
||||
#define MAXQ20BADMAG(x) (((x).f_magic != MAXQ20MAGIC))
|
||||
|
Loading…
x
Reference in New Issue
Block a user