mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 13:27:26 +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>
|
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>:
|
Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
|
||||||
* config/tc-m68k.c (m68k_index_width_default): New static
|
* config/tc-m68k.c (m68k_index_width_default): New static
|
||||||
variable.
|
variable.
|
||||||
|
@ -96,6 +96,9 @@ static int m68k_quick = 1;
|
|||||||
be 32 bits. */
|
be 32 bits. */
|
||||||
static int m68k_rel32 = 1;
|
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
|
/* The default width to use for an index register when using a base
|
||||||
displacement. */
|
displacement. */
|
||||||
static enum m68k_size m68k_index_width_default = SIZE_LONG;
|
static enum m68k_size m68k_index_width_default = SIZE_LONG;
|
||||||
@ -3443,7 +3446,8 @@ md_begin ()
|
|||||||
{
|
{
|
||||||
flag_reg_prefix_optional = 1;
|
flag_reg_prefix_optional = 1;
|
||||||
m68k_abspcadd = 1;
|
m68k_abspcadd = 1;
|
||||||
m68k_rel32 = 0;
|
if (! m68k_rel32_from_cmdline)
|
||||||
|
m68k_rel32 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
op_hash = hash_new ();
|
op_hash = hash_new ();
|
||||||
@ -3723,7 +3727,8 @@ m68k_mri_mode_change (on)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
m68k_abspcadd = 1;
|
m68k_abspcadd = 1;
|
||||||
m68k_rel32 = 0;
|
if (! m68k_rel32_from_cmdline)
|
||||||
|
m68k_rel32 = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -3739,7 +3744,8 @@ m68k_mri_mode_change (on)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
m68k_abspcadd = 0;
|
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},
|
{"base-size-default-16", no_argument, NULL, OPTION_BASE_SIZE_DEFAULT_16},
|
||||||
#define OPTION_BASE_SIZE_DEFAULT_32 (OPTION_MD_BASE + 4)
|
#define OPTION_BASE_SIZE_DEFAULT_32 (OPTION_MD_BASE + 4)
|
||||||
{"base-size-default-32", no_argument, NULL, OPTION_BASE_SIZE_DEFAULT_32},
|
{"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}
|
{NULL, no_argument, NULL, 0}
|
||||||
};
|
};
|
||||||
size_t md_longopts_size = sizeof(md_longopts);
|
size_t md_longopts_size = sizeof(md_longopts);
|
||||||
@ -6506,6 +6516,16 @@ md_parse_option (c, arg)
|
|||||||
m68k_index_width_default = SIZE_LONG;
|
m68k_index_width_default = SIZE_LONG;
|
||||||
break;
|
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:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -6538,7 +6558,9 @@ md_show_usage (stream)
|
|||||||
--bitwise-or do not treat `|' as a comment character\n");
|
--bitwise-or do not treat `|' as a comment character\n");
|
||||||
fprintf (stream, "\
|
fprintf (stream, "\
|
||||||
--base-size-default-16 base reg without size is 16 bits\n\
|
--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
|
#ifdef TEST2
|
||||||
|
Reference in New Issue
Block a user