diff options
-rw-r--r-- | gas/ChangeLog | 10 | ||||
-rw-r--r-- | gas/as.c | 15 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 3 | ||||
-rw-r--r-- | gas/doc/as.texi | 96 |
4 files changed, 90 insertions, 34 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 6bca7ad..018ce60 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,13 @@ +2022-09-28 Nick Clifton <nickc@redhat.com> + + PR 29623 + * as.c (show_usage): Document the --dump-config, + --gdwarf-cie-version, --hash-size, --multibyte-handling, + and --reduce-memory-overheads options. + * config/tc-i386.c (md_show_usage): Document the -O option. + * doc/as.texi: Document the --dump-config, --emulation, + --hash-size, and --reduce-memory-overheads options. + 2022-09-08 Nick Clifton <nickc@redhat.com> PR 29559 @@ -268,6 +268,8 @@ Options:\n\ fprintf (stream, _("\ -D produce assembler debugging messages\n")); fprintf (stream, _("\ + --dump-config display how the assembler is configured and then exit\n")); + fprintf (stream, _("\ --debug-prefix-map OLD=NEW\n\ map OLD to NEW in debug information\n")); fprintf (stream, _("\ @@ -278,7 +280,7 @@ Options:\n\ const char *def_em; fprintf (stream, "\ - --em=["); + --emulation=["); for (i = 0; i < n_emulations - 1; i++) fprintf (stream, "%s | ", emulations[i]->name); fprintf (stream, "%s]\n", emulations[i]->name); @@ -331,8 +333,14 @@ Options:\n\ fprintf (stream, _("\ --gdwarf-<N> generate DWARF<N> debugging information. 2 <= <N> <= 5\n")); fprintf (stream, _("\ + --gdwarf-cie-version=<N> generate version 1, 3 or 4 DWARF CIEs\n")); + fprintf (stream, _("\ --gdwarf-sections generate per-function section names for DWARF line information\n")); fprintf (stream, _("\ + --hash-size=<N> ignored\n")); + fprintf (stream, _("\ + --help show all assembler options\n")); + fprintf (stream, _("\ --target-help show target specific options\n")); fprintf (stream, _("\ -I DIR add DIR to search list for .include directives\n")); @@ -347,6 +355,9 @@ Options:\n\ fprintf (stream, _("\ --MD FILE write dependency information in FILE (default none)\n")); fprintf (stream, _("\ + --multibyte-handling=<method>\n\ + what to do with multibyte characters encountered in the input\n")); + fprintf (stream, _("\ -nocpp ignored\n")); fprintf (stream, _("\ -no-pad-sections do not pad the end of sections to alignment boundaries\n")); @@ -355,6 +366,8 @@ Options:\n\ fprintf (stream, _("\ -R fold data section into text section\n")); fprintf (stream, _("\ + --reduce-memory-overheads ignored\n")); + fprintf (stream, _("\ --statistics print various measured statistics from execution\n")); fprintf (stream, _("\ --strip-local-absolute strip local absolute symbols\n")); diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 6598b0e..1c31f37 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -13813,7 +13813,8 @@ md_show_usage (FILE *stream) -k ignored\n")); #endif fprintf (stream, _("\ - -n Do not optimize code alignment\n\ + -n do not optimize code alignment\n\ + -O{012s} attempt some code optimizations\n\ -q quieten some warnings\n")); #if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) fprintf (stream, _("\ diff --git a/gas/doc/as.texi b/gas/doc/as.texi index 01f4943..a0384cf 100644 --- a/gas/doc/as.texi +++ b/gas/doc/as.texi @@ -226,27 +226,41 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}. @c to be limited to one line for the header. @smallexample @c man begin SYNOPSIS -@value{AS} [@b{-a}[@b{cdghlns}][=@var{file}]] [@b{--alternate}] [@b{-D}] - [@b{--compress-debug-sections}] [@b{--nocompress-debug-sections}] +@value{AS} [@b{-a}[@b{cdghlns}][=@var{file}]] + [@b{--alternate}] + [@b{--compress-debug-sections}] [@b{--nocompress-debug-sections}] + [@b{-D}] + [@b{--dump-config}] [@b{--debug-prefix-map} @var{old}=@var{new}] - [@b{--defsym} @var{sym}=@var{val}] [@b{-f}] [@b{-g}] [@b{--gstabs}] - [@b{--gstabs+}] [@b{--gdwarf-<N>}] [@b{--gdwarf-sections}] + [@b{--defsym} @var{sym}=@var{val}] + [@b{--elf-stt-common=[no|yes]}] + [@b{--emulation}=@var{name}] + [@b{-f}] + [@b{-g}] [@b{--gstabs}] [@b{--gstabs+}] + [@b{--gdwarf-<N>}] [@b{--gdwarf-sections}] [@b{--gdwarf-cie-version}=@var{VERSION}] - [@b{--help}] [@b{-I} @var{dir}] [@b{-J}] - [@b{-K}] [@b{-L}] [@b{--listing-lhs-width}=@var{NUM}] - [@b{--listing-lhs-width2}=@var{NUM}] [@b{--listing-rhs-width}=@var{NUM}] - [@b{--listing-cont-lines}=@var{NUM}] [@b{--keep-locals}] + [@b{--generate-missing-build-notes=[no|yes]}] + [@b{--hash-size}=@var{N}] + [@b{--help}] [@b{--target-help}] + [@b{-I} @var{dir}] + [@b{-J}] + [@b{-K}] + [@b{--keep-locals}] + [@b{-L}] + [@b{--listing-lhs-width}=@var{NUM}] + [@b{--listing-lhs-width2}=@var{NUM}] + [@b{--listing-rhs-width}=@var{NUM}] + [@b{--listing-cont-lines}=@var{NUM}] + [@b{--multibyte-handling=[allow|warn|warn-sym-only]}] [@b{--no-pad-sections}] [@b{-o} @var{objfile}] [@b{-R}] + [@b{--sectname-subst}] + [@b{--size-check=[error|warning]}] [@b{--statistics}] [@b{-v}] [@b{-version}] [@b{--version}] [@b{-W}] [@b{--warn}] [@b{--fatal-warnings}] [@b{-w}] [@b{-x}] [@b{-Z}] [@b{@@@var{FILE}}] - [@b{--sectname-subst}] [@b{--size-check=[error|warning]}] - [@b{--elf-stt-common=[no|yes]}] - [@b{--generate-missing-build-notes=[no|yes]}] - [@b{--multibyte-handling=[allow|warn|warn-sym-only]}] - [@b{--target-help}] [@var{target-options}] + [@var{target-options}] [@b{--}|@var{files} @dots{}] @c @c man end @@ -733,7 +747,8 @@ targets except the x86/x86_64, but a configure time option can be used to override this. @item -D -Ignored. This option is accepted for script compatibility with calls to +Enable denugging in target specific backends, if supported. Otherwise ignored. +Even if ignored, this option is accepted for script compatibility with calls to other assemblers. @item --debug-prefix-map @var{old}=@var{new} @@ -747,6 +762,21 @@ indicates a hexadecimal value, and a leading @samp{0} indicates an octal value. The value of the symbol can be overridden inside a source file via the use of a @code{.set} pseudo-op. +@item --dump-config +Displays how the assembler is configured and then exits. + +@ifset ELF +@item --elf-stt-common=no +@itemx --elf-stt-common=yes +These options control whether the ELF assembler should generate common +symbols with the @code{STT_COMMON} type. The default can be controlled +by a configure option @option{--enable-elf-stt-common}. +@end ifset + +@item --emulation=@var{name} +If the assembler is configured to support multiple different target +configurations then this option can be used to select the desired form. + @item -f ``fast''---skip whitespace and comment preprocessing (assume source is compiler output). @@ -811,25 +841,17 @@ When this flag is not specificed the default is version 1, though some targets can modify this default. Other possible values for @var{version} are 3 or 4. @ifset ELF -@item --size-check=error -@itemx --size-check=warning -Issue an error or warning for invalid ELF .size directive. - -@item --elf-stt-common=no -@itemx --elf-stt-common=yes -These options control whether the ELF assembler should generate common -symbols with the @code{STT_COMMON} type. The default can be controlled -by a configure option @option{--enable-elf-stt-common}. - @item --generate-missing-build-notes=yes @itemx --generate-missing-build-notes=no These options control whether the ELF assembler should generate GNU Build attribute notes if none are present in the input sources. The default can be controlled by the @option{--enable-generate-build-notes} configure option. - @end ifset +@item --hash-size @var{N} +Ignored. Supported for command line compatibility with other assemblers. + @item --help Print a summary of the command-line options and exit. @@ -878,6 +900,7 @@ to @var{number} + 1. @item --multibyte-handling=allow @itemx --multibyte-handling=warn @itemx --multibyte-handling=warn-sym-only +@itemx --multibyte-handling=warn_sym_only Controls how the assembler handles multibyte characters in the input. The default (which can be restored by using the @option{allow} argument) is to allow such characters without complaint. Using the @option{warn} argument will @@ -898,12 +921,20 @@ Name the object-file output from @command{@value{AS}} @var{objfile}. @item -R Fold the data section into the text section. +@item --reduce-memory-overheads +Ignored. Supported for compatibility with tools that apss the same option to +both the assembler and the linker. + @ifset ELF @item --sectname-subst Honor substitution sequences in section names. @ifclear man @xref{Section Name Substitutions,,@code{.section @var{name}}}. @end ifclear + +@item --size-check=error +@itemx --size-check=warning +Issue an error or warning for invalid ELF .size directive. @end ifset @item --statistics @@ -2101,7 +2132,7 @@ If you use (or have used) the @sc{gnu} assembler on one architecture, you should find a fairly similar environment when you use it on another architecture. Each version has much in common with the others, including object file formats, most assembler directives (often called -@dfn{pseudo-ops}) and assembler syntax.@refill +@dfn{pseudo-ops}) and assembler syntax. @cindex purpose of @sc{gnu} assembler @command{@value{AS}} is primarily intended to assemble the output of the @@ -2368,7 +2399,7 @@ assembler.) @menu * a:: -a[cdghlns] enable listings * alternate:: --alternate enable alternate macro syntax -* D:: -D for compatibility +* D:: -D for compatibility and debugging * f:: -f to work faster * I:: -I for .include search path @ifclear DIFF-TBL-KLUGE @@ -2456,8 +2487,9 @@ Begin in alternate macro mode, see @ref{Altmacro,,@code{.altmacro}}. @section @option{-D} @kindex -D -This option has no effect whatsoever, but it is accepted to make it more -likely that scripts written for other assemblers also work with +This option enables debugging, if it is supported by the assembler's +configuration. Otherwise it does nothing as is ignored. This allows scripts +designed to work with other assemblers to also work with GAS. @command{@value{AS}}. @node f @@ -3013,7 +3045,7 @@ exception: they do not end statements. @cindex newline, required at file end @cindex EOF, newline must precede It is an error to end any statement with end-of-file: the last -character of any input file should be a newline.@refill +character of any input file should be a newline. An empty statement is allowed, and may include whitespace. It is ignored. @@ -3033,7 +3065,7 @@ assembles into a machine language instruction. Different versions of @command{@value{AS}} for different computers recognize different instructions. In fact, the same symbol may represent a different instruction in a different computer's assembly -language.@refill +language. @end ifset @cindex @code{:} (label) @@ -3232,7 +3264,7 @@ immediately following an acute accent is taken as a literal character and does not count as the end of a statement. The value of a character constant in a numeric expression is the machine's byte-wide code for that character. @command{@value{AS}} assumes your character code is ASCII: -@kbd{'A} means 65, @kbd{'B} means 66, and so on. @refill +@kbd{'A} means 65, @kbd{'B} means 66, and so on. @node Numbers @subsection Number Constants |