Next: , Up: AArch64-Dependent


9.1.1 Options

-EB
This option specifies that the output generated by the assembler should be marked as being encoded for a big-endian processor.


-EL
This option specifies that the output generated by the assembler should be marked as being encoded for a little-endian processor.


-mabi=abi
Specify which ABI the source code uses. The recognized arguments are: ilp32 and lp64, which decides the generated object file in ELF32 and ELF64 format respectively. The default is lp64.


-mcpu=processor[+extension...]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: cortex-a35, cortex-a53, cortex-a55, cortex-a57, cortex-a72, cortex-a73, cortex-a75, cortex-a76, ares, exynos-m1, falkor, neoverse-n1, neoverse-e1, qdf24xx, saphira, thunderx, vulcan, xgene1 and xgene2. The special name all may be used to allow the assembler to accept instructions valid for any supported processor, including all optional extensions.

In addition to the basic instruction set, the assembler can be told to accept, or restrict, various extension mnemonics that extend the processor. See AArch64 Extensions.

If some implementations of a particular processor can have an extension, then then those extensions are automatically enabled. Consequently, you will not normally have to specify any additional extensions.


-march=architecture[+extension...]
This option specifies the target architecture. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target architecture. The following architecture names are recognized: armv8-a, armv8.1-a, armv8.2-a, armv8.3-a, armv8.4-a and armv8.5-a.

If both -mcpu and -march are specified, the assembler will use the setting for -mcpu. If neither are specified, the assembler will default to -mcpu=all.

The architecture option can be extended with the same instruction set extension options as the -mcpu option. Unlike -mcpu, extensions are not always enabled by default, See AArch64 Extensions.


-mverbose-error
This option enables verbose error messages for AArch64 gas. This option is enabled by default.


-mno-verbose-error
This option disables verbose error messages in AArch64 gas.