# title
Arm Compiler for Embedded FuSa Reference Guide

# topic.label
Arm® Compiler for Embedded FuSa Reference Guide

# topic.topics[].label
Arm Compiler for Embedded FuSa Tools Overview

# topic.topics[].topics[].label
Overview of the Arm Compiler for Embedded FuSa tools

# topic.topics[].topics[].topics[].label
Arm Compiler for Embedded FuSa tool command-line syntax

# topic.topics[].topics[].topics[].label
Summary of armclang command-line options

# topic.topics[].topics[].topics[].label
-g, -gdwarf-2, -gdwarf-3, -gdwarf-4 (armclang)

# topic.topics[].topics[].label
Compiler-specific Function, Variable, and Type Attributes

# topic.topics[].topics[].topics[].label
#pragma weak symbol, #pragma weak symbol1 = symbol2

# topic.topics[].topics[].topics[].label
Supported architecture feature combinations for specific processors

# topic.topics[].topics[].topics[].label
Syntax of assembly files for integrated assembler

# topic.topics[].topics[].topics[].label
Integrated assembler support for the CSDB instruction

# topic.topics[].topics[].topics[].label
Inline assembly statements within a function

# topic.topics[].topics[].topics[].topics[].label
Constraint codes common to AArch32 state and AArch64 state

# topic.topics[].topics[].topics[].topics[].label
Using multiple alternative operand constraints

# topic.topics[].topics[].topics[].topics[].label
Template modifiers common to AArch32 state and AArch64 state

# topic.topics[].topics[].topics[].label
Forcing inline assembly operands into specific registers

# topic.topics[].topics[].topics[].label
Symbol references and branches into and out of inline assembly

# topic.topics[].topics[].topics[].label
Duplication of labels in inline assembly statements

# topic.topics[].topics[].topics[].label
Base Platform Application Binary Interface (BPABI) linking model overview

# topic.topics[].topics[].topics[].label
Concepts common to both BPABI and SysV linking models

# topic.topics[].topics[].topics[].topics[].label
Input sections, output sections, regions, and program segments

# topic.topics[].topics[].topics[].topics[].label
Load view and execution view of an image

# topic.topics[].topics[].topics[].topics[].label
Methods of specifying an image memory map with the linker

# topic.topics[].topics[].topics[].topics[].label
Type 1 image structure, one load region and contiguous execution regions

# topic.topics[].topics[].topics[].topics[].label
Type 2 image structure, one load region and non-contiguous execution regions

# topic.topics[].topics[].topics[].topics[].label
Type 3 image structure, multiple load regions and non-contiguous execution regions

# topic.topics[].topics[].topics[].topics[].topics[].label
Relationship between the default armclang-generated sections and scatter-loading input sections

# topic.topics[].topics[].topics[].topics[].label
Section placement with the FIRST and LAST attributes

# topic.topics[].topics[].topics[].label
Linker support for creating demand-paged files

# topic.topics[].topics[].topics[].label
Linker reordering of execution regions containing T32 code

# topic.topics[].topics[].topics[].topics[].label
Generation of position independent to absolute veneers

# topic.topics[].topics[].topics[].label
Command-line options used to control the generation of C++ exception tables

# topic.topics[].topics[].topics[].label
How the linker performs library searching, selection, and scanning

# topic.topics[].topics[].topics[].label
How the linker searches for the Arm standard libraries

# topic.topics[].topics[].topics[].topics[].label
Options available to override the compression algorithm used by the linker

# topic.topics[].topics[].topics[].topics[].label
Considerations when working with RW data compression

# topic.topics[].topics[].topics[].label
Factors that influence function inlining

# topic.topics[].topics[].topics[].label
Linker reordering of tail calling sections

# topic.topics[].topics[].topics[].label
Restrictions on reordering of tail calling sections

# topic.topics[].topics[].label
Accessing and Managing Symbols with armlink

# topic.topics[].topics[].topics[].topics[].label
Region name values when not scatter-loading

# topic.topics[].topics[].topics[].topics[].label
Linker defined symbols and scatter files

# topic.topics[].topics[].topics[].topics[].label
Methods of importing linker-defined symbols in C and C++

# topic.topics[].topics[].topics[].topics[].label
Methods of importing linker-defined symbols in Arm assembly language

# topic.topics[].topics[].topics[].topics[].label
Outputting a subset of the global symbols

# topic.topics[].topics[].topics[].label
Edit the symbol tables with a steering file

# topic.topics[].topics[].topics[].topics[].label
Specifying steering files on the linker command-line

# topic.topics[].topics[].topics[].topics[].label
Hide and rename global symbols with a steering file

# topic.topics[].topics[].topics[].label
Use of $Super$$ and $Sub$$ to patch symbol definitions

# topic.topics[].topics[].topics[].topics[].label
Linker-defined symbols that are not defined when scatter-loading

# topic.topics[].topics[].topics[].topics[].label
Placing the stack and heap with a scatter file

# topic.topics[].topics[].topics[].topics[].label
Scatter-loading images with a simple memory map

# topic.topics[].topics[].topics[].topics[].label
Scatter-loading images with a complex memory map

# topic.topics[].topics[].topics[].topics[].label
Effect of the ABSOLUTE attribute on a root region

# topic.topics[].topics[].topics[].topics[].label
Effect of the FIXED attribute on a root region

# topic.topics[].topics[].topics[].topics[].label
Methods of placing functions and data at specific addresses

# topic.topics[].topics[].topics[].topics[].topics[].label
Placement of functions and data at specific addresses

# topic.topics[].topics[].topics[].topics[].topics[].label
Placing a variable at a specific address without scatter-loading

# topic.topics[].topics[].topics[].topics[].topics[].label
Example of how to place a variable in a named section with scatter-loading

# topic.topics[].topics[].topics[].topics[].topics[].label
Placing a variable at a specific address with scatter-loading

# topic.topics[].topics[].topics[].topics[].label
Placing functions and data in a named section

# topic.topics[].topics[].topics[].topics[].label
Placement of __at sections at a specific address

# topic.topics[].topics[].topics[].topics[].label
Place a key in flash memory with an __at section

# topic.topics[].topics[].topics[].label
Example of how to explicitly place a named section with scatter-loading

# topic.topics[].topics[].topics[].topics[].label
Default rules for placing unassigned sections

# topic.topics[].topics[].topics[].topics[].label
Command-line options for controlling the placement of unassigned sections

# topic.topics[].topics[].topics[].topics[].label
Prioritizing the placement of unassigned sections

# topic.topics[].topics[].topics[].topics[].label
Specify the maximum region size permitted for placing unassigned sections

# topic.topics[].topics[].topics[].topics[].label
Examples of using placement algorithms for .ANY sections

# topic.topics[].topics[].topics[].topics[].label
Example of next_fit algorithm showing behavior of full regions, selectors, and priority

# topic.topics[].topics[].topics[].topics[].label
Examples of using sorting algorithms for .ANY sections

# topic.topics[].topics[].topics[].topics[].label
Behavior when .ANY sections overflow because of linker-generated content

# topic.topics[].topics[].topics[].label
Placement of CMSE veneer sections for a Secure image

# topic.topics[].topics[].topics[].topics[].label
Characteristics of a reserved empty block of memory

# topic.topics[].topics[].topics[].topics[].label
Example of reserving an empty block of memory

# topic.topics[].topics[].topics[].label
Alignment of execution regions and input sections

# topic.topics[].topics[].topics[].topics[].label
Default behavior for armclang -E in a scatter file

# topic.topics[].topics[].topics[].topics[].label
Use of other preprocessors in a scatter file

# topic.topics[].topics[].topics[].label
Example of using expression evaluation in a scatter file to avoid padding

# topic.topics[].topics[].topics[].label
Equivalent scatter-loading descriptions for simple images

# topic.topics[].topics[].topics[].topics[].label
Command-line options for creating simple images

# topic.topics[].topics[].topics[].topics[].label
Type 1 image, one load region and contiguous execution regions

# topic.topics[].topics[].topics[].topics[].label
Type 2 image, one load region and non-contiguous execution regions

# topic.topics[].topics[].topics[].topics[].label
Type 3 image, multiple load regions and non-contiguous execution regions

# topic.topics[].topics[].topics[].label
How the linker resolves multiple matches when processing scatter files

# topic.topics[].topics[].topics[].label
How the linker resolves path names when processing scatter files

# topic.topics[].topics[].topics[].label
BNF notation used in scatter-loading description syntax

# topic.topics[].topics[].topics[].topics[].label
Inheritance rules for load region address attributes

# topic.topics[].topics[].topics[].topics[].label
Inheritance rules for the RELOC address attribute

# topic.topics[].topics[].topics[].topics[].label
Considerations when using a relative address +offset for a load region

# topic.topics[].topics[].topics[].topics[].label
Components of an execution region description

# topic.topics[].topics[].topics[].topics[].label
Syntax of an execution region description

# topic.topics[].topics[].topics[].topics[].label
Inheritance rules for execution region address attributes

# topic.topics[].topics[].topics[].topics[].label
Considerations when using a relative address +offset for execution regions

# topic.topics[].topics[].topics[].topics[].label
Components of an input section description

# topic.topics[].topics[].topics[].topics[].label
Examples of module and input section specifications

# topic.topics[].topics[].topics[].topics[].label
Execution address built-in functions for use in scatter files

# topic.topics[].topics[].topics[].topics[].label
ScatterAssert function and load address related functions

# topic.topics[].topics[].topics[].topics[].label
Symbol related function in a scatter file

# topic.topics[].topics[].topics[].topics[].label
Example of aligning a base address in execution space but still tightly packed in load space

# topic.topics[].topics[].topics[].topics[].label
Scatter files containing relative base address load regions and a ZI execution region

# topic.topics[].topics[].label
BPABI and SysV Shared Libraries and Executables

# topic.topics[].topics[].topics[].label
About the Base Platform Application Binary Interface (BPABI)

# topic.topics[].topics[].topics[].topics[].label
About importing and exporting symbols for BPABI models

# topic.topics[].topics[].topics[].topics[].label
Automatic import and export for BPABI models

# topic.topics[].topics[].topics[].topics[].label
Manual import and export for BPABI models

# topic.topics[].topics[].topics[].topics[].label
Requirements and restrictions for using scatter files with SysV linking model

# topic.topics[].topics[].topics[].topics[].label
Automatic dynamic symbol table rules in the SysV linking model

# topic.topics[].topics[].topics[].topics[].label
Symbol definitions defined for SysV compatibility with glibc

# topic.topics[].topics[].topics[].topics[].label
Addressing modes in the SysV linking model

# topic.topics[].topics[].topics[].topics[].label
Thread local storage in the SysV linking model

# topic.topics[].topics[].topics[].topics[].label
Linker command-line options for the SysV linking model

# topic.topics[].topics[].topics[].topics[].label
Customization of the BPABI standard memory model

# topic.topics[].topics[].topics[].topics[].label
Linker command-line options for bare metal and DLL-like models

# topic.topics[].topics[].topics[].topics[].label
Mandatory symbol versioning in the BPABI DLL-like model

# topic.topics[].topics[].topics[].topics[].label
Automatic dynamic symbol table rules in the BPABI DLL-like model

# topic.topics[].topics[].topics[].topics[].label
Addressing modes in the BPABI DLL-like model

# topic.topics[].topics[].topics[].topics[].label
Thread local storage in the bare metal and DLL-like linking models

# topic.topics[].topics[].topics[].topics[].label
C++ initialization in the BPABI DLL-like model

# topic.topics[].topics[].topics[].topics[].label
Linker options for enabling implicit symbol versioning

# topic.topics[].topics[].label
Features of the Base Platform Linking Model

# topic.topics[].topics[].topics[].label
Restrictions on the use of scatter files with the Base Platform model

# topic.topics[].topics[].topics[].label
Scatter files for the Base Platform linking model

# topic.topics[].topics[].topics[].label
Placement of PLT sequences with the Base Platform model

# topic.topics[].topics[].label
Structure of armasm Assembly Language Modules

# topic.topics[].topics[].topics[].label
Syntax of source lines in armasm syntax assembly language

# topic.topics[].topics[].topics[].label
An example armasm syntax assembly language module

# topic.topics[].topics[].label
Writing A32/T32 Instructions in armasm Syntax Assembly Language

# topic.topics[].topics[].topics[].label
Syntax differences between UAL and A64 assembly language

# topic.topics[].topics[].topics[].label
Load immediate values using LDR Rd, =const

# topic.topics[].topics[].topics[].label
Load addresses to a register using LDR Rd, =label

# topic.topics[].topics[].topics[].label
Load and store multiple register instructions

# topic.topics[].topics[].topics[].label
Load and store multiple register instructions in A32 and T32

# topic.topics[].topics[].topics[].label
Specify command-line options with an environment variable

# topic.topics[].topics[].topics[].label
Using stdin to input source code to the assembler

# topic.topics[].topics[].topics[].label
Identifying versions of armasm in source code

# topic.topics[].topics[].topics[].label
Automatic IT block generation in T32 code

# topic.topics[].topics[].topics[].label
A32 and T32 instruction portability diagnostics

# topic.topics[].topics[].label
Symbols, Literals, Expressions, and Operators in armasm Assembly Language

# topic.topics[].topics[].topics[].label
Addition, subtraction, and logical operators

# topic.topics[].topics[].topics[].label
Difference between operator precedence in assembly language and C

# topic.topics[].topics[].topics[].label
Alphabetical list of directives armasm assembly language directives

# topic.topics[].topics[].topics[].label
About armasm assembly language control directives

# topic.topics[].topics[].topics[].label
Directives that can be omitted in pass 2 of the assembler

# topic.topics[].topics[].label
armasm-Specific A32 and T32 Instruction Set Features

# topic.topics[].topics[].topics[].label
Implementation definition (ISO C Standard)

# topic.topics[].topics[].topics[].label
Structures, unions, enumerations, and bitfields

# topic.topics[].topics[].topics[].label
Preprocessing directives ( ISO C Standard)

# topic.topics[].topics[].topics[].label
Implementation definition (ISO C++ Standard)

# topic.topics[].topics[].topics[].label
Preprocessing directives ( ISO C++ Standard)

# topic.topics[].topics[].label
Arm Compiler for Embedded FuSa Reference Guide Changes

# topic.topics[].topics[].topics[].label
Changes for the Arm Compiler for Embedded FuSa Reference Guide

# metadata.contentDescription
The Arm Compiler for Embedded FuSa Reference Guide provides reference information for each tool in the Arm Compiler for Embedded FuSa toolchain.