2003-05-16 Michael Snyder <msnyder@redhat.com>

From Bernd Schmidt  <bernds@redhat.com>
	* archures.c (bfd_mach_h8300sx): New.
	* bfd-in2.h: Regenerate.
	* cpu-h8300.c (h8300_scan)): Add support for h8300sx.
	(h8300sx_info_struct): New.
	(h8300s_info_struct): Link to it.
	* elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
	(elf32_h8_final_write_processing): Likewise.
	(elf32_h8_relax_section): Likewise.
This commit is contained in:
Michael Snyder 2003-05-16 23:39:24 +00:00
parent cf662e211d
commit 5d1db417ca
5 changed files with 48 additions and 3 deletions

View File

@ -1,3 +1,14 @@
2003-05-16 Michael Snyder <msnyder@redhat.com>
From Bernd Schmidt <bernds@redhat.com>
* archures.c (bfd_mach_h8300sx): New.
* bfd-in2.h: Regenerate.
* cpu-h8300.c (h8300_scan)): Add support for h8300sx.
(h8300sx_info_struct): New.
(h8300s_info_struct): Link to it.
* elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
(elf32_h8_final_write_processing): Likewise.
(elf32_h8_relax_section): Likewise.
2003-05-16 Kelley Cook <kelleycook@wideopenwest.com> 2003-05-16 Kelley Cook <kelleycook@wideopenwest.com>
* config.bfd: Accept i[3-7]86 variants. * config.bfd: Accept i[3-7]86 variants.

View File

@ -169,6 +169,7 @@ DESCRIPTION
.#define bfd_mach_h8300s 3 .#define bfd_mach_h8300s 3
.#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
. 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

View File

@ -1635,6 +1635,7 @@ enum bfd_architecture
#define bfd_mach_h8300s 3 #define bfd_mach_h8300s 3
#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
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

View File

@ -81,6 +81,9 @@ h8300_scan (info, string)
if (*string == 'n' || *string == 'N') if (*string == 'n' || *string == 'N')
return (info->mach == bfd_mach_h8300sn); return (info->mach == bfd_mach_h8300sn);
if (*string == 'x' || *string == 'X')
return (info->mach == bfd_mach_h8300sx);
return (info->mach == bfd_mach_h8300s); return (info->mach == bfd_mach_h8300s);
} }
else else
@ -103,6 +106,22 @@ compatible (in, out)
return in; return in;
} }
static const bfd_arch_info_type h8300sx_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_h8300sx,
"h8300sx", /* arch_name */
"h8300sx", /* printable name */
1,
FALSE, /* the default machine */
compatible,
h8300_scan,
0
};
static const bfd_arch_info_type h8300sn_info_struct = static const bfd_arch_info_type h8300sn_info_struct =
{ {
32, /* 32 bits in a word. */ 32, /* 32 bits in a word. */
@ -116,7 +135,7 @@ static const bfd_arch_info_type h8300sn_info_struct =
FALSE, /* The default machine. */ FALSE, /* The default machine. */
compatible, compatible,
h8300_scan, h8300_scan,
0 &h8300sx_info_struct
}; };

View File

@ -579,6 +579,9 @@ elf32_h8_mach (flags)
case E_H8_MACH_H8300SN: case E_H8_MACH_H8300SN:
return bfd_mach_h8300sn; return bfd_mach_h8300sn;
case E_H8_MACH_H8300SX:
return bfd_mach_h8300sx;
} }
} }
@ -615,6 +618,10 @@ elf32_h8_final_write_processing (abfd, linker)
case bfd_mach_h8300sn: case bfd_mach_h8300sn:
val = E_H8_MACH_H8300SN; val = E_H8_MACH_H8300SN;
break; break;
case bfd_mach_h8300sx:
val = E_H8_MACH_H8300SX;
break;
} }
elf_elfheader (abfd)->e_flags &= ~ (EF_H8_MACH); elf_elfheader (abfd)->e_flags &= ~ (EF_H8_MACH);
@ -1023,7 +1030,10 @@ elf32_h8_relax_section (abfd, sec, link_info, again)
&& value >= 0xff00 && value >= 0xff00
&& value <= 0xffff) && value <= 0xffff)
|| ((bfd_get_mach (abfd) == bfd_mach_h8300h || ((bfd_get_mach (abfd) == bfd_mach_h8300h
|| bfd_get_mach (abfd) == bfd_mach_h8300s) /* FIXME: h8300hn? */
|| bfd_get_mach (abfd) == bfd_mach_h8300s
/* FIXME: h8300sn? */
|| bfd_get_mach (abfd) == bfd_mach_h8300sx)
&& value >= 0xffff00 && value >= 0xffff00
&& value <= 0xffffff)) && value <= 0xffffff))
{ {
@ -1081,7 +1091,10 @@ elf32_h8_relax_section (abfd, sec, link_info, again)
&& value >= 0xff00 && value >= 0xff00
&& value <= 0xffff) && value <= 0xffff)
|| ((bfd_get_mach (abfd) == bfd_mach_h8300h || ((bfd_get_mach (abfd) == bfd_mach_h8300h
|| bfd_get_mach (abfd) == bfd_mach_h8300s) /* FIXME: h8300hn? */
|| bfd_get_mach (abfd) == bfd_mach_h8300s
/* FIXME: h8300sn? */
|| bfd_get_mach (abfd) == bfd_mach_h8300sx)
&& value >= 0xffff00 && value >= 0xffff00
&& value <= 0xffffff)) && value <= 0xffffff))
{ {