include/elf/
* h8.h (E_H8_MACH_H8300SXN): New flag. bfd/ * archures.c (bfd_mach_h8300sxn): New architecture. * bfd-in2.h: Regenerate. * cpu-h8300.c (h8300_scan): Check for 'sxn'. (h8300sxn_info_struct): New. (h8300sx_info_struct): Link to it. * elf32-h8300.c (elf32_h8_mach): Add h8300sxn case. (elf32_h8_final_write_processing): Likewise. gas/ * config/tc-h8300.c (h8300sxnmode): New. (md_pseudo_table): Add .h8300sxn entry. Sync others with FSF version. ld/ * configure.tgt (h8300*): Add h8300sxn emulations. * Makefile.am (ALL_EMULATIONS): Add eh8300sxn.o and eh8300sxnelf.o. (eh8300sxn.c, eh8300sxnelf.c): New rules. * Makefile.in: Regenerate. * emulparams/h8300sxnelf.sh, emulparams/h8300sxn.sh: New files.
This commit is contained in:
parent
12b55ccc43
commit
f4984206d8
15 changed files with 103 additions and 4 deletions
|
@ -1,3 +1,13 @@
|
||||||
|
2003-06-10 Richard Sandiford <rsandifo@redhat.com>
|
||||||
|
|
||||||
|
* archures.c (bfd_mach_h8300sxn): New architecture.
|
||||||
|
* bfd-in2.h: Regenerate.
|
||||||
|
* cpu-h8300.c (h8300_scan): Check for 'sxn'.
|
||||||
|
(h8300sxn_info_struct): New.
|
||||||
|
(h8300sx_info_struct): Link to it.
|
||||||
|
* elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
|
||||||
|
(elf32_h8_final_write_processing): Likewise.
|
||||||
|
|
||||||
2003-06-08 Alan Modra <amodra@bigpond.net.au>
|
2003-06-08 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
|
* elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
|
||||||
|
|
|
@ -170,6 +170,7 @@ DESCRIPTION
|
||||||
.#define bfd_mach_h8300hn 4
|
.#define bfd_mach_h8300hn 4
|
||||||
.#define bfd_mach_h8300sn 5
|
.#define bfd_mach_h8300sn 5
|
||||||
.#define bfd_mach_h8300sx 6
|
.#define bfd_mach_h8300sx 6
|
||||||
|
.#define bfd_mach_h8300sxn 7
|
||||||
. bfd_arch_pdp11, {* DEC PDP-11 *}
|
. bfd_arch_pdp11, {* DEC PDP-11 *}
|
||||||
. bfd_arch_powerpc, {* PowerPC *}
|
. bfd_arch_powerpc, {* PowerPC *}
|
||||||
.#define bfd_mach_ppc 32
|
.#define bfd_mach_ppc 32
|
||||||
|
|
|
@ -1654,6 +1654,7 @@ enum bfd_architecture
|
||||||
#define bfd_mach_h8300hn 4
|
#define bfd_mach_h8300hn 4
|
||||||
#define bfd_mach_h8300sn 5
|
#define bfd_mach_h8300sn 5
|
||||||
#define bfd_mach_h8300sx 6
|
#define bfd_mach_h8300sx 6
|
||||||
|
#define bfd_mach_h8300sxn 7
|
||||||
bfd_arch_pdp11, /* DEC PDP-11 */
|
bfd_arch_pdp11, /* DEC PDP-11 */
|
||||||
bfd_arch_powerpc, /* PowerPC */
|
bfd_arch_powerpc, /* PowerPC */
|
||||||
#define bfd_mach_ppc 32
|
#define bfd_mach_ppc 32
|
||||||
|
|
|
@ -82,7 +82,13 @@ h8300_scan (info, string)
|
||||||
return (info->mach == bfd_mach_h8300sn);
|
return (info->mach == bfd_mach_h8300sn);
|
||||||
|
|
||||||
if (*string == 'x' || *string == 'X')
|
if (*string == 'x' || *string == 'X')
|
||||||
return (info->mach == bfd_mach_h8300sx);
|
{
|
||||||
|
string++;
|
||||||
|
if (*string == 'n' || *string == 'N')
|
||||||
|
return (info->mach == bfd_mach_h8300sxn);
|
||||||
|
|
||||||
|
return (info->mach == bfd_mach_h8300sx);
|
||||||
|
}
|
||||||
|
|
||||||
return (info->mach == bfd_mach_h8300s);
|
return (info->mach == bfd_mach_h8300s);
|
||||||
}
|
}
|
||||||
|
@ -106,6 +112,22 @@ compatible (in, out)
|
||||||
return in;
|
return in;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const bfd_arch_info_type h8300sxn_info_struct =
|
||||||
|
{
|
||||||
|
32, /* 32 bits in a word */
|
||||||
|
32, /* 32 bits in an address */
|
||||||
|
8, /* 8 bits in a byte */
|
||||||
|
bfd_arch_h8300,
|
||||||
|
bfd_mach_h8300sxn,
|
||||||
|
"h8300sxn", /* arch_name */
|
||||||
|
"h8300sxn", /* printable name */
|
||||||
|
1,
|
||||||
|
FALSE, /* the default machine */
|
||||||
|
compatible,
|
||||||
|
h8300_scan,
|
||||||
|
0
|
||||||
|
};
|
||||||
|
|
||||||
static const bfd_arch_info_type h8300sx_info_struct =
|
static const bfd_arch_info_type h8300sx_info_struct =
|
||||||
{
|
{
|
||||||
32, /* 32 bits in a word */
|
32, /* 32 bits in a word */
|
||||||
|
@ -119,7 +141,7 @@ static const bfd_arch_info_type h8300sx_info_struct =
|
||||||
FALSE, /* the default machine */
|
FALSE, /* the default machine */
|
||||||
compatible,
|
compatible,
|
||||||
h8300_scan,
|
h8300_scan,
|
||||||
0
|
&h8300sxn_info_struct
|
||||||
};
|
};
|
||||||
|
|
||||||
static const bfd_arch_info_type h8300sn_info_struct =
|
static const bfd_arch_info_type h8300sn_info_struct =
|
||||||
|
|
|
@ -582,6 +582,9 @@ elf32_h8_mach (flags)
|
||||||
|
|
||||||
case E_H8_MACH_H8300SX:
|
case E_H8_MACH_H8300SX:
|
||||||
return bfd_mach_h8300sx;
|
return bfd_mach_h8300sx;
|
||||||
|
|
||||||
|
case E_H8_MACH_H8300SXN:
|
||||||
|
return bfd_mach_h8300sxn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -622,6 +625,10 @@ elf32_h8_final_write_processing (abfd, linker)
|
||||||
case bfd_mach_h8300sx:
|
case bfd_mach_h8300sx:
|
||||||
val = E_H8_MACH_H8300SX;
|
val = E_H8_MACH_H8300SX;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case bfd_mach_h8300sxn:
|
||||||
|
val = E_H8_MACH_H8300SXN;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
elf_elfheader (abfd)->e_flags &= ~ (EF_H8_MACH);
|
elf_elfheader (abfd)->e_flags &= ~ (EF_H8_MACH);
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2003-06-10 Richard Sandiford <rsandifo@redhat.com>
|
||||||
|
|
||||||
|
* config/tc-h8300.c (h8300sxnmode): New.
|
||||||
|
(md_pseudo_table): Add .h8300sxn entry. Sync others with FSF version.
|
||||||
|
|
||||||
2003-06-09 H.J. Lu <hongjiu.lu@intel.com>
|
2003-06-09 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* NEWS: Updated for the new -n option for the i386 assembler.
|
* NEWS: Updated for the new -n option for the i386 assembler.
|
||||||
|
|
|
@ -136,6 +136,20 @@ h8300sxmode (arg)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
h8300sxnmode (arg)
|
||||||
|
int arg ATTRIBUTE_UNUSED;
|
||||||
|
{
|
||||||
|
Smode = 1;
|
||||||
|
Hmode = 1;
|
||||||
|
SXmode = 1;
|
||||||
|
Nmode = 1;
|
||||||
|
#ifdef BFD_ASSEMBLER
|
||||||
|
if (!bfd_set_arch_mach (stdoutput, bfd_arch_h8300, bfd_mach_h8300sxn))
|
||||||
|
as_warn (_("could not set architecture and machine"));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
sbranch (size)
|
sbranch (size)
|
||||||
int size;
|
int size;
|
||||||
|
@ -163,6 +177,7 @@ const pseudo_typeS md_pseudo_table[] =
|
||||||
{"h8300s", h8300smode, 0},
|
{"h8300s", h8300smode, 0},
|
||||||
{"h8300sn", h8300snmode, 0},
|
{"h8300sn", h8300snmode, 0},
|
||||||
{"h8300sx", h8300sxmode, 0},
|
{"h8300sx", h8300sxmode, 0},
|
||||||
|
{"h8300sxn", h8300sxnmode, 0},
|
||||||
{"sbranch", sbranch, L_8},
|
{"sbranch", sbranch, L_8},
|
||||||
{"lbranch", sbranch, L_16},
|
{"lbranch", sbranch, L_16},
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2003-06-10 Richard Sandiford <rsandifo@redhat.com>
|
||||||
|
|
||||||
|
* h8.h (E_H8_MACH_H8300SXN): New flag.
|
||||||
|
|
||||||
2003-06-03 Nick Clifton <nickc@redhat.com>
|
2003-06-03 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* v850.h (R_V850_32): Rename to R_V850_ABS32.
|
* v850.h (R_V850_32): Rename to R_V850_ABS32.
|
||||||
|
|
|
@ -95,5 +95,6 @@ END_RELOC_NUMBERS (R_H8_max)
|
||||||
#define E_H8_MACH_H8300HN 0x00830000
|
#define E_H8_MACH_H8300HN 0x00830000
|
||||||
#define E_H8_MACH_H8300SN 0x00840000
|
#define E_H8_MACH_H8300SN 0x00840000
|
||||||
#define E_H8_MACH_H8300SX 0x00850000
|
#define E_H8_MACH_H8300SX 0x00850000
|
||||||
|
#define E_H8_MACH_H8300SXN 0x00860000
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
2003-06-10 Richard Sandiford <rsandifo@redhat.com>
|
||||||
|
|
||||||
|
* configure.tgt (h8300*): Add h8300sxn emulations.
|
||||||
|
* Makefile.am (ALL_EMULATIONS): Add eh8300sxn.o and eh8300sxnelf.o.
|
||||||
|
(eh8300sxn.c, eh8300sxnelf.c): New rules.
|
||||||
|
* Makefile.in: Regenerate.
|
||||||
|
* emulparams/h8300sxnelf.sh, emulparams/h8300sxn.sh: New files.
|
||||||
|
|
||||||
2003-06-10 Alan Modra <amodra@bigpond.net.au>
|
2003-06-10 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* emulparams/elf64ppc.sh (EXECUTABLE_SYMBOLS, OTHER_BSS_END_SYMBOLS,
|
* emulparams/elf64ppc.sh (EXECUTABLE_SYMBOLS, OTHER_BSS_END_SYMBOLS,
|
||||||
|
|
|
@ -206,6 +206,8 @@ ALL_EMULATIONS = \
|
||||||
eh8300hnelf.o \
|
eh8300hnelf.o \
|
||||||
eh8300snelf.o \
|
eh8300snelf.o \
|
||||||
eh8300sxelf.o \
|
eh8300sxelf.o \
|
||||||
|
eh8300sxn.o \
|
||||||
|
eh8300sxnelf.o \
|
||||||
eh8500.o \
|
eh8500.o \
|
||||||
eh8500b.o \
|
eh8500b.o \
|
||||||
eh8500c.o \
|
eh8500c.o \
|
||||||
|
@ -847,6 +849,9 @@ eh8300sn.c: $(srcdir)/emulparams/h8300sn.sh \
|
||||||
eh8300sx.c: $(srcdir)/emulparams/h8300sx.sh \
|
eh8300sx.c: $(srcdir)/emulparams/h8300sx.sh \
|
||||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sx.sc ${GEN_DEPENDS}
|
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sx.sc ${GEN_DEPENDS}
|
||||||
${GENSCRIPTS} h8300sx "$(tdir_h8300sx)"
|
${GENSCRIPTS} h8300sx "$(tdir_h8300sx)"
|
||||||
|
eh8300sxn.c: $(srcdir)/emulparams/h8300sxn.sh \
|
||||||
|
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sxn.sc ${GEN_DEPENDS}
|
||||||
|
${GENSCRIPTS} h8300sxn "$(tdir_h8300sxn)"
|
||||||
eh8300elf.c: $(srcdir)/emulparams/h8300elf.sh \
|
eh8300elf.c: $(srcdir)/emulparams/h8300elf.sh \
|
||||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||||
${GENSCRIPTS} h8300elf "$(tdir_h8300elf)"
|
${GENSCRIPTS} h8300elf "$(tdir_h8300elf)"
|
||||||
|
@ -870,6 +875,10 @@ eh8300sxelf.c: $(srcdir)/emulparams/h8300sxelf.sh \
|
||||||
$(srcdir)/emulparams/h8300elf.sh \
|
$(srcdir)/emulparams/h8300elf.sh \
|
||||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||||
${GENSCRIPTS} h8300sxelf "$(tdir_h8300sxelf)"
|
${GENSCRIPTS} h8300sxelf "$(tdir_h8300sxelf)"
|
||||||
|
eh8300sxnelf.c: $(srcdir)/emulparams/h8300sxnelf.sh \
|
||||||
|
$(srcdir)/emulparams/h8300elf.sh \
|
||||||
|
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||||
|
${GENSCRIPTS} h8300sxnelf "$(tdir_h8300sxnelf)"
|
||||||
eh8500.c: $(srcdir)/emulparams/h8500.sh \
|
eh8500.c: $(srcdir)/emulparams/h8500.sh \
|
||||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500.sc ${GEN_DEPENDS}
|
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500.sc ${GEN_DEPENDS}
|
||||||
${GENSCRIPTS} h8500 "$(tdir_h8500)"
|
${GENSCRIPTS} h8500 "$(tdir_h8500)"
|
||||||
|
|
|
@ -320,6 +320,8 @@ ALL_EMULATIONS = \
|
||||||
eh8300hnelf.o \
|
eh8300hnelf.o \
|
||||||
eh8300snelf.o \
|
eh8300snelf.o \
|
||||||
eh8300sxelf.o \
|
eh8300sxelf.o \
|
||||||
|
eh8300sxn.o \
|
||||||
|
eh8300sxnelf.o \
|
||||||
eh8500.o \
|
eh8500.o \
|
||||||
eh8500b.o \
|
eh8500b.o \
|
||||||
eh8500c.o \
|
eh8500c.o \
|
||||||
|
@ -1573,6 +1575,9 @@ eh8300sn.c: $(srcdir)/emulparams/h8300sn.sh \
|
||||||
eh8300sx.c: $(srcdir)/emulparams/h8300sx.sh \
|
eh8300sx.c: $(srcdir)/emulparams/h8300sx.sh \
|
||||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sx.sc ${GEN_DEPENDS}
|
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sx.sc ${GEN_DEPENDS}
|
||||||
${GENSCRIPTS} h8300sx "$(tdir_h8300sx)"
|
${GENSCRIPTS} h8300sx "$(tdir_h8300sx)"
|
||||||
|
eh8300sxn.c: $(srcdir)/emulparams/h8300sxn.sh \
|
||||||
|
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sxn.sc ${GEN_DEPENDS}
|
||||||
|
${GENSCRIPTS} h8300sxn "$(tdir_h8300sxn)"
|
||||||
eh8300elf.c: $(srcdir)/emulparams/h8300elf.sh \
|
eh8300elf.c: $(srcdir)/emulparams/h8300elf.sh \
|
||||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||||
${GENSCRIPTS} h8300elf "$(tdir_h8300elf)"
|
${GENSCRIPTS} h8300elf "$(tdir_h8300elf)"
|
||||||
|
@ -1596,6 +1601,10 @@ eh8300sxelf.c: $(srcdir)/emulparams/h8300sxelf.sh \
|
||||||
$(srcdir)/emulparams/h8300elf.sh \
|
$(srcdir)/emulparams/h8300elf.sh \
|
||||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||||
${GENSCRIPTS} h8300sxelf "$(tdir_h8300sxelf)"
|
${GENSCRIPTS} h8300sxelf "$(tdir_h8300sxelf)"
|
||||||
|
eh8300sxnelf.c: $(srcdir)/emulparams/h8300sxnelf.sh \
|
||||||
|
$(srcdir)/emulparams/h8300elf.sh \
|
||||||
|
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||||
|
${GENSCRIPTS} h8300sxnelf "$(tdir_h8300sxnelf)"
|
||||||
eh8500.c: $(srcdir)/emulparams/h8500.sh \
|
eh8500.c: $(srcdir)/emulparams/h8500.sh \
|
||||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500.sc ${GEN_DEPENDS}
|
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500.sc ${GEN_DEPENDS}
|
||||||
${GENSCRIPTS} h8500 "$(tdir_h8500)"
|
${GENSCRIPTS} h8500 "$(tdir_h8500)"
|
||||||
|
|
|
@ -263,11 +263,11 @@ thumb-*-pe) targ_emul=armpe ;
|
||||||
xscale-*-coff) targ_emul=armcoff ;;
|
xscale-*-coff) targ_emul=armcoff ;;
|
||||||
xscale-*-elf) targ_emul=armelf ;;
|
xscale-*-elf) targ_emul=armelf ;;
|
||||||
h8300-*-hms* | h8300-*-coff* | h8300-*-rtems*)
|
h8300-*-hms* | h8300-*-coff* | h8300-*-rtems*)
|
||||||
targ_emul=h8300; targ_extra_emuls="h8300h h8300s h8300hn h8300sn h8300sx"
|
targ_emul=h8300; targ_extra_emuls="h8300h h8300s h8300hn h8300sn h8300sx h8300sxn"
|
||||||
;;
|
;;
|
||||||
h8300-*-elf*)
|
h8300-*-elf*)
|
||||||
targ_emul=h8300elf;
|
targ_emul=h8300elf;
|
||||||
targ_extra_emuls="h8300helf h8300self h8300hnelf h8300snelf h8300sxelf"
|
targ_extra_emuls="h8300helf h8300self h8300hnelf h8300snelf h8300sxelf h8300sxnelf"
|
||||||
;;
|
;;
|
||||||
h8500-*-hms* | h8500-*-coff* | h8500-*-rtems*)
|
h8500-*-hms* | h8500-*-coff* | h8500-*-rtems*)
|
||||||
targ_emul=h8500
|
targ_emul=h8500
|
||||||
|
|
5
ld/emulparams/h8300sxn.sh
Normal file
5
ld/emulparams/h8300sxn.sh
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
SCRIPT_NAME=h8300sxn
|
||||||
|
OUTPUT_FORMAT="coff-h8300"
|
||||||
|
TEXT_START_ADDR=0x8000
|
||||||
|
TARGET_PAGE_SIZE=128
|
||||||
|
ARCH=h8300
|
2
ld/emulparams/h8300sxnelf.sh
Normal file
2
ld/emulparams/h8300sxnelf.sh
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
. ${srcdir}/emulparams/h8300elf.sh
|
||||||
|
ARCH="h8300:h8300sxn"
|
Loading…
Reference in a new issue