diff --git a/gas/ChangeLog b/gas/ChangeLog index 8cba2dbbb0..6f03d9230a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,22 @@ +2008-08-06 DJ Delorie + + * NEWS: Mention these changes. + + * config/tc-h8300.h (H_TICK_HEX): Define. + * config/tc-h8300.c (OPTION_H_TICK_HEX): New. + (md_longopts): Add "-h-tick-hex". + (md_parse_option): Support it. + * doc/c-h8300.texi (H8/300 Options): Document it. + * doc/as.texinfo (Overview): Likewise. + + * config/tc-sh.h (H_TICK_HEX): Define. + * config/tc-sh.c (OPTION_H_TICK_HEX): New. + (md_longopts): Add "-h-tick-hex". + (md_parse_option): Support it. + * doc/c-sh.texi (SH Options): Document it. + * doc/c-sh64.texi (SH64 Options): Document it. + * doc/as.texinfo (Overview): Likewise. + 2008-08-05 Alan Modra PR gas/6656 diff --git a/gas/NEWS b/gas/NEWS index da7fe0d316..e3d2f0f22d 100644 --- a/gas/NEWS +++ b/gas/NEWS @@ -1,4 +1,7 @@ -*- text -*- +* New command line option, -h-tick-hex, for sh, m32c, and h8/300 targets, which + adds compatibility with H'00 style hex constants. + * New command line option, -msse-check=[none|error|warning], for x86 targets. diff --git a/gas/config/tc-h8300.c b/gas/config/tc-h8300.c index 95864f3bf4..86b2450d83 100644 --- a/gas/config/tc-h8300.c +++ b/gas/config/tc-h8300.c @@ -2018,8 +2018,11 @@ md_atof (int type, char *litP, int *sizeP) return ieee_md_atof (type, litP, sizeP, TRUE); } +#define OPTION_H_TICK_HEX (OPTION_MD_BASE) + const char *md_shortopts = ""; struct option md_longopts[] = { + { "h-tick-hex", no_argument, NULL, OPTION_H_TICK_HEX }, {NULL, no_argument, NULL, 0} }; @@ -2028,7 +2031,16 @@ size_t md_longopts_size = sizeof (md_longopts); int md_parse_option (int c ATTRIBUTE_UNUSED, char *arg ATTRIBUTE_UNUSED) { - return 0; + switch (c) + { + case OPTION_H_TICK_HEX: + enable_h_tick_hex = 1; + break; + + default: + return 0; + } + return 1; } void diff --git a/gas/config/tc-h8300.h b/gas/config/tc-h8300.h index 58849a2f00..4a2427cf3b 100644 --- a/gas/config/tc-h8300.h +++ b/gas/config/tc-h8300.h @@ -89,3 +89,5 @@ extern int SXmode; /* This target is buggy, and sets fix size too large. */ #define TC_FX_SIZE_SLACK(FIX) 1 + +#define H_TICK_HEX 1 diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c index ac6e17f190..2ed1b8eddb 100644 --- a/gas/config/tc-sh.c +++ b/gas/config/tc-sh.c @@ -3096,6 +3096,7 @@ enum options OPTION_NO_EXPAND, OPTION_PT32, #endif + OPTION_H_TICK_HEX, OPTION_DUMMY /* Not used. This is just here to make it easy to add and subtract options from this enum. */ }; @@ -3122,6 +3123,7 @@ struct option md_longopts[] = {"no-expand", no_argument, NULL, OPTION_NO_EXPAND}, {"expand-pt32", no_argument, NULL, OPTION_PT32}, #endif /* HAVE_SH64 */ + { "h-tick-hex", no_argument, NULL, OPTION_H_TICK_HEX }, {NULL, no_argument, NULL, 0} }; @@ -3252,6 +3254,10 @@ md_parse_option (int c, char *arg ATTRIBUTE_UNUSED) break; #endif /* HAVE_SH64 */ + case OPTION_H_TICK_HEX: + enable_h_tick_hex = 1; + break; + default: return 0; } diff --git a/gas/config/tc-sh.h b/gas/config/tc-sh.h index 8f2af484d8..dfdabd479c 100644 --- a/gas/config/tc-sh.h +++ b/gas/config/tc-sh.h @@ -247,3 +247,5 @@ extern int sh_regname_to_dw2regnum (char *regname); #define DWARF2_CIE_DATA_ALIGNMENT (-4) #endif /* OBJ_ELF */ + +#define H_TICK_HEX 1 diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo index 2a373da383..9426f5a7ae 100644 --- a/gas/doc/as.texinfo +++ b/gas/doc/as.texinfo @@ -293,7 +293,9 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}. [@b{-O}|@b{-n}|@b{-N}] @end ifset @ifset H8 -@c Renesas family chips have no machine-dependent assembler options + +@emph{Target H8/300 options:} + [-h-tick-hex] @end ifset @ifset HPPA @c HPPA has no machine-dependent assembler options (yet). diff --git a/gas/doc/c-h8300.texi b/gas/doc/c-h8300.texi index d75f7381d7..c725abd206 100644 --- a/gas/doc/c-h8300.texi +++ b/gas/doc/c-h8300.texi @@ -20,10 +20,16 @@ @node H8/300 Options @section Options -@cindex H8/300 options (none) -@cindex options, H8/300 (none) -@code{@value{AS}} has no additional command-line options for the -Renesas (formerly Hitachi) H8/300 family. +@cindex H8/300 options +@cindex options, H8/300 +The Renesas H8/300 version of @code{@value{AS}} has one +machine-dependent option: + +@table @code +@item -h-tick-hex +Support H'00 style hex constants in addition to 0x00 style. + +@end table @node H8/300 Syntax @section Syntax diff --git a/gas/doc/c-m32c.texi b/gas/doc/c-m32c.texi index 026f6a2fba..2adc2a6547 100644 --- a/gas/doc/c-m32c.texi +++ b/gas/doc/c-m32c.texi @@ -30,7 +30,7 @@ change the default to the M32C microprocessor. @cindex options, M32C @cindex M32C options -The Renesas M32C version of @code{@value{AS}} has two +The Renesas M32C version of @code{@value{AS}} has these machine-dependent options: @table @code diff --git a/gas/doc/c-sh.texi b/gas/doc/c-sh.texi index e6dbe4bf5c..75d2191769 100644 --- a/gas/doc/c-sh.texi +++ b/gas/doc/c-sh.texi @@ -63,6 +63,9 @@ Enable sh2e, sh3e, sh4, and sh4a insn sets. @item --isa=all Enable sh1, sh2, sh2e, sh3, sh3e, sh4, sh4a, and sh-dsp insn sets. +@item -h-tick-hex +Support H'00 style hex constants in addition to 0x00 style. + @end table @node SH Syntax diff --git a/gas/doc/c-sh64.texi b/gas/doc/c-sh64.texi index c38d14e0d8..b24190e2da 100644 --- a/gas/doc/c-sh64.texi +++ b/gas/doc/c-sh64.texi @@ -65,6 +65,9 @@ Do not expand MOVI, PT, PTA or PTB instructions. @item -expand-pt32 With -abi=64, expand PT, PTA and PTB instructions to 32 bits only. +@item -h-tick-hex +Support H'00 style hex constants in addition to 0x00 style. + @end table @node SH64 Syntax