mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 20:28:28 +08:00
Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
* config/tc-m68k.c (m68k_rel32_from_cmdline): New static variable. (md_begin): Check m68k_rel32_from_cmdline before setting m68k_rel32. (m68k_mri_mode_change): Likewise. (md_longopts): Add --disp-size-default-16 and --disp-size-default-32. (md_parse_option): Handle new options. (md_show_usage): Mention new options. * doc/c-m68k.texi (M68K-Opts): Document new options.
This commit is contained in:
@ -1,5 +1,17 @@
|
||||
Thu Jan 2 13:37:29 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
|
||||
* config/tc-m68k.c (m68k_rel32_from_cmdline): New static
|
||||
variable.
|
||||
(md_begin): Check m68k_rel32_from_cmdline before setting
|
||||
m68k_rel32.
|
||||
(m68k_mri_mode_change): Likewise.
|
||||
(md_longopts): Add --disp-size-default-16 and
|
||||
--disp-size-default-32.
|
||||
(md_parse_option): Handle new options.
|
||||
(md_show_usage): Mention new options.
|
||||
* doc/c-m68k.texi (M68K-Opts): Document new options.
|
||||
|
||||
Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
|
||||
* config/tc-m68k.c (m68k_index_width_default): New static
|
||||
variable.
|
||||
|
@ -96,6 +96,9 @@ static int m68k_quick = 1;
|
||||
be 32 bits. */
|
||||
static int m68k_rel32 = 1;
|
||||
|
||||
/* This is non-zero if m68k_rel32 was set from the command line. */
|
||||
static int m68k_rel32_from_cmdline;
|
||||
|
||||
/* The default width to use for an index register when using a base
|
||||
displacement. */
|
||||
static enum m68k_size m68k_index_width_default = SIZE_LONG;
|
||||
@ -3443,7 +3446,8 @@ md_begin ()
|
||||
{
|
||||
flag_reg_prefix_optional = 1;
|
||||
m68k_abspcadd = 1;
|
||||
m68k_rel32 = 0;
|
||||
if (! m68k_rel32_from_cmdline)
|
||||
m68k_rel32 = 0;
|
||||
}
|
||||
|
||||
op_hash = hash_new ();
|
||||
@ -3723,7 +3727,8 @@ m68k_mri_mode_change (on)
|
||||
#endif
|
||||
}
|
||||
m68k_abspcadd = 1;
|
||||
m68k_rel32 = 0;
|
||||
if (! m68k_rel32_from_cmdline)
|
||||
m68k_rel32 = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3739,7 +3744,8 @@ m68k_mri_mode_change (on)
|
||||
#endif
|
||||
}
|
||||
m68k_abspcadd = 0;
|
||||
m68k_rel32 = 1;
|
||||
if (! m68k_rel32_from_cmdline)
|
||||
m68k_rel32 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -6366,6 +6372,10 @@ struct option md_longopts[] = {
|
||||
{"base-size-default-16", no_argument, NULL, OPTION_BASE_SIZE_DEFAULT_16},
|
||||
#define OPTION_BASE_SIZE_DEFAULT_32 (OPTION_MD_BASE + 4)
|
||||
{"base-size-default-32", no_argument, NULL, OPTION_BASE_SIZE_DEFAULT_32},
|
||||
#define OPTION_DISP_SIZE_DEFAULT_16 (OPTION_MD_BASE + 5)
|
||||
{"disp-size-default-16", no_argument, NULL, OPTION_DISP_SIZE_DEFAULT_16},
|
||||
#define OPTION_DISP_SIZE_DEFAULT_32 (OPTION_MD_BASE + 6)
|
||||
{"disp-size-default-32", no_argument, NULL, OPTION_DISP_SIZE_DEFAULT_32},
|
||||
{NULL, no_argument, NULL, 0}
|
||||
};
|
||||
size_t md_longopts_size = sizeof(md_longopts);
|
||||
@ -6506,6 +6516,16 @@ md_parse_option (c, arg)
|
||||
m68k_index_width_default = SIZE_LONG;
|
||||
break;
|
||||
|
||||
case OPTION_DISP_SIZE_DEFAULT_16:
|
||||
m68k_rel32 = 0;
|
||||
m68k_rel32_from_cmdline = 1;
|
||||
break;
|
||||
|
||||
case OPTION_DISP_SIZE_DEFAULT_32:
|
||||
m68k_rel32 = 1;
|
||||
m68k_rel32_from_cmdline = 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
@ -6538,7 +6558,9 @@ md_show_usage (stream)
|
||||
--bitwise-or do not treat `|' as a comment character\n");
|
||||
fprintf (stream, "\
|
||||
--base-size-default-16 base reg without size is 16 bits\n\
|
||||
--base-size-default-32 base reg without size is 32 bits (default)\n");
|
||||
--base-size-default-32 base reg without size is 32 bits (default)\n\
|
||||
--disp-size-default-16 displacement with unknown size is 16 bits\n\
|
||||
--disp-size-default-32 displacement with unknown size is 32 bits (default)\n");
|
||||
}
|
||||
|
||||
#ifdef TEST2
|
||||
|
Reference in New Issue
Block a user