Keil Logo

Technical Support

On-Line Manuals

Compiler Reference Guide

Preface Arm Compiler Tools Overview armclang Reference armlink Reference fromelf Reference fromelf Command-line Options --base [[object_file::]load_region_ID=]num --bin --bincombined --bincombined_base=address --bincombined_padding=size,num --cad --cadcombined --compare=option[,option,…] --continue_on_error --coprocN=value (fromelf) --cpu=list (fromelf) --cpu=name (fromelf) --datasymbols --debugonly --decode_build_attributes --diag_error=tag[,tag,…] (fromelf) --diag_remark=tag[,tag,…] (fromelf) --diag_style={arm|ide|gnu} (fromelf) --diag_suppress=tag[,tag,…] (fromelf) --diag_warning=tag[,tag,…] (fromelf) --disassemble --dump_build_attributes --elf --emit=option[,option,…] --expandarrays --extract_build_attributes --fieldoffsets --fpu=list (fromelf) --fpu=name (fromelf) --globalize=option[,option,…] --help (fromelf) --hide=option[,option,…] --hide_and_localize=option[,option,…] --i32 --i32combined --ignore_section=option[,option,…] --ignore_symbol=option[,option,…] --in_place --info=topic[,topic,…] (fromelf) input_file (fromelf) --interleave=option --linkview, --no_linkview --localize=option[,option,…] --m32 --m32combined --only=section_name --output=destination --privacy (fromelf) --qualify --relax_section=option[,option,…] --relax_symbol=option[,option,…] --rename=option[,option,…] --select=select_options --show=option[,option,…] --show_and_globalize=option[,option,…] --show_cmdline (fromelf) --source_directory=path --strip=option[,option,…] --symbolversions, --no_symbolversions --text --version_number (fromelf) --vhx --via=file (fromelf) --vsn (fromelf) -w --wide64bit --widthxbanks armar Reference armasm Legacy Assembler Reference Appendixes

--cpu=name (fromelf)

D1.12 --cpu=name (fromelf)

Affects the way machine code is disassembled by options such as -c or --disassemble, so that it is disassembled in the same way that the specified processor or architecture interprets it.

Syntax

--cpu=name

Where name is the name of a processor or architecture:

Processor and architecture names are not case-sensitive.

Wildcard characters are not accepted.

The following table shows the supported architectures. For a complete list of the supported architecture and processor names, specify the --cpu=list option.

Table D1-2 Supported Arm® architectures

Architecture name Description
6-M

Armv6 architecture microcontroller profile.

6S-M

Armv6 architecture microcontroller profile with OS extensions.

7-A Armv7 architecture application profile.
7-A.security Armv7‑A architecture profile with Security Extensions and includes the SMC instruction (formerly SMI).

7-R

Armv7 architecture real-time profile.

7-M Armv7 architecture microcontroller profile.
7E-M Armv7‑M architecture profile with DSP extension.
8-A.32 Armv8‑A architecture profile, AArch32 state.
8-A.32.crypto Armv8‑A architecture profile, AArch32 state with cryptographic instructions.
8-A.64 Armv8‑A architecture profile, AArch64 state.
8-A.64.crypto Armv8‑A architecture profile, AArch64 state with cryptographic instructions.

8.1-A.32

Armv8.1, for Armv8‑A architecture profile, AArch32 state.

8.1-A.32.crypto

Armv8.1, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions.

8.1-A.64

Armv8.1, for Armv8‑A architecture profile, AArch64 state.

8.1-A.64.crypto

Armv8.1, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions.

8.2-A.32

Armv8.2, for Armv8‑A architecture profile, AArch32 state.

8.2-A.32.crypto

Armv8.2, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions.

8.2-A.32.crypto.dotprod

Armv8.2, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions and the VSDOT and VUDOT instructions.

8.2-A.32.dotprod

Armv8.2, for Armv8‑A architecture profile, AArch32 state with the VSDOT and VUDOT instructions.

8.2-A.64

Armv8.2, for Armv8‑A architecture profile, AArch64 state.

8.2-A.64.crypto

Armv8.2, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions.

8.2-A.64.crypto.dotprod

Armv8.2, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions and the SDOT and UDOT instructions.

8.2-A.64.dotprod

Armv8.2, for Armv8‑A architecture profile, AArch64 state with the SDOT and UDOT instructions.

8.3-A.32

Armv8.3, for Armv8‑A architecture profile, AArch32 state.

8.3-A.32.crypto

Armv8.3, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions.

8.3-A.32.crypto.dotprod

Armv8.3, for Armv8‑A architecture profile, AArch32 state with cryptographic instructions and the VSDOT and VUDOT instructions.

8.3-A.32.dotprod

Armv8.3, for Armv8‑A architecture profile, AArch32 state with the VSDOT and VUDOT instructions.

8.3-A.64

Armv8.3, for Armv8‑A architecture profile, AArch64 state.

8.3-A.64.crypto

Armv8.3, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions.

8.3-A.64.crypto.dotprod

Armv8.3, for Armv8‑A architecture profile, AArch64 state with cryptographic instructions and the SDOT and UDOT instructions.

8.3-A.64.dotprod

Armv8.3, for Armv8‑A architecture profile, AArch64 state with the SDOT and UDOT instructions.

8-R Armv8‑R architecture profile.
8-M.Base Armv8‑M baseline architecture profile. Derived from the Armv6‑M architecture.
8-M.Main Armv8‑M mainline architecture profile. Derived from the Armv7‑M architecture.
8-M.Main.dsp

Armv8‑M mainline architecture profile with DSP extension.

8.1-M.Main

Armv8.1-M mainline architecture profile extension.

8.1-M.Main.dsp

Armv8.1-M mainline architecture profile with DSP extension.

8.1-M.Main.mve

Armv8.1-M mainline architecture profile with MVE for integer operations.

8.1-M.Main.mve.fp

Armv8.1-M mainline architecture profile with MVE for integer and floating-point operations.

Note:

  • The full list of supported architectures and processors depends on your license.

Note:

You cannot specify targets with Armv8.4-A or later architectures on the fromelf command line. To disassemble instructions for such targets, you must not specify the --cpu option when invoking fromelf.

Usage

The following general points apply to processor and architecture options:

Processors
  • Selecting the processor selects the appropriate architecture, Floating-Point Unit (FPU), and memory organization.

Architectures
  • If you specify an architecture name for the --cpu option, options such as -c or --disassemble disassemble machine code for that architecture. If you specify --disassemble, then the disassembly can be assembled for any processor supporting that architecture.

    For example, --cpu=7-A --disassemble produces disassembly that can be assembled for the Cortex®‑A7 processor.

FPU
  • Some specifications of --cpu imply an --fpu selection.

    Note:

    Any explicit FPU, set with --fpu on the command line, overrides an implicit FPU.
  • If no --fpu option is specified and no --cpu option is specified, then fromelf disassembles FPU instructions according to the default architecture settings.

Default

If you do not specify a --cpu option, then by default for AArch32, fromelf disassembles all the instructions it knows about from the A and R profiles of the architecture. For M-profile architectures, you must specify the required architecture with fromelf --cpu.

Note:

To disassemble M-profile Vector Extension (MVE) instructions, you must specify the --cpu option for Armv8.1-M and later architectures. For example, --cpu=8.1-M.Main.mve.

To disassemble Scalable Vector Extension (SVE) instructions, you must not specify the --cpu option. fromelf cannot disassemble Armv8.4-A and later instructions without also disassembling Scalable Vector Extension SVE instructions.

Example

To specify the Cortex-M4 processor, use:

--cpu=Cortex-M4

Non-ConfidentialPDF file icon PDF version101754_0614_00_en
Copyright © 2019, 2020 Arm Limited or its affiliates. All rights reserved. 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.