From 1a64c35996054f06a951edc1d22a85ee20ddda07 Mon Sep 17 00:00:00 2001 From: "Michael J. Eager" Date: Thu, 28 Sep 2023 13:08:49 -0700 Subject: [PATCH] Added support in gas for mlittle-endian and mbig-endian flags as options. Updated show usage for MicroBlaze specific assembler options to include new entries. This patch has been tested for years of AMD Xilinx Yocto releases as part of the following patch set: https://github.com/Xilinx/meta-xilinx/tree/master/meta-microblaze/recipes-devtools/binutils/binutils Signed-off-by: nagaraju Signed-off-by: Neal Frager --- V1->V2: - removed new options which were unnecessary - added documentation for MicroBlaze specific options Signed-off-by: Michael J. Eager --- gas/config/tc-microblaze.c | 5 +++++ gas/doc/as.texi | 2 +- gas/doc/c-microblaze.texi | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c index 564e0b786e2..aa85174befd 100644 --- a/gas/config/tc-microblaze.c +++ b/gas/config/tc-microblaze.c @@ -1854,6 +1854,8 @@ struct option md_longopts[] = { {"EB", no_argument, NULL, OPTION_EB}, {"EL", no_argument, NULL, OPTION_EL}, + {"mlittle-endian", no_argument, NULL, OPTION_EL}, + {"mbig-endian", no_argument, NULL, OPTION_EB}, { NULL, no_argument, NULL, 0} }; @@ -2524,6 +2526,9 @@ md_show_usage (FILE * stream ATTRIBUTE_UNUSED) /* fprintf(stream, _("\ MicroBlaze options:\n\ -noSmall Data in the comm and data sections do not go into the small data section\n")); */ + fprintf (stream, _(" MicroBlaze specific assembler options:\n")); + fprintf (stream, " -%-23s%s\n", "mbig-endian", N_("assemble for a big endian cpu")); + fprintf (stream, " -%-23s%s\n", "mlittle-endian", N_("assemble for a little endian cpu")); } diff --git a/gas/doc/as.texi b/gas/doc/as.texi index 6a3e5eed39f..52571d95dd2 100644 --- a/gas/doc/as.texi +++ b/gas/doc/as.texi @@ -439,7 +439,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}. @end ifset @ifset MICROBLAZE @emph{Target MICROBLAZE options:} -@c MicroBlaze has no machine-dependent assembler options. + [@b{-mlittle-endian}] [@b{-mbig-endian}] @end ifset @ifset MIPS diff --git a/gas/doc/c-microblaze.texi b/gas/doc/c-microblaze.texi index fabc5ba54df..4e5fdb43b3d 100644 --- a/gas/doc/c-microblaze.texi +++ b/gas/doc/c-microblaze.texi @@ -22,6 +22,7 @@ Reference Guide (UG081)} available at www.xilinx.com. @menu * MicroBlaze Directives:: Directives for MicroBlaze Processors. * MicroBlaze Syntax:: Syntax for the MicroBlaze +* MicroBlaze Options:: Options for MicroBlaze Processors. @end menu @node MicroBlaze Directives @@ -97,3 +98,18 @@ preprocessor control command (@pxref{Preprocessing}). @cindex MicroBlaze line separator The @samp{;} character can be used to separate statements on the same line. + +@node MicroBlaze Options +@section Options + +MicroBlaze processors support the following options: + +@cindex MicroBlaze Options + +@table @code +@item -mbig-endian +Build for MicroBlaze in Big Endian configuration. + +@item -mlittle-endian +Build for MicroBlaze in Little Endian configuration. +@end table -- 2.30.2