You copied the Doc URL to your clipboard.

Revisions for Using the Linker

The following technical changes have been made to Using the Linker:

Table 20. Differences between Issue E and Issue F
ChangeTopics affected

Where appropriate:

  • prefixed Thumb with 16-bit

  • changed Thumb-2 to 32-bit Thumb.

Updated the list of environment variables to the new version numbering scheme, for example ARMCC5INC.

Table 21. Differences between Issue D and Issue E
ChangeTopics affected
Added links to --api, --no_api and --veneerinject, --no_veneerinject option descriptions.Linker command-line options listed in groups
Added links to the options that work around the ARM 1176 erratum.Linker command-line options listed in groups
Enhanced the topic title.Using __attribute__((section("name"))) to place code and data
Added example C/C++ code.

Table 22. Differences between Issue C and Issue D
ChangeTopics affected
Removed the items about LTCG and profiling from the list of linker features.About the linker

Removed the note about profiling.

Added a note about the LTCG feature being deprecated.

About link-time code generation

Table 23. Differences between Issue B and Issue C
ChangeTopics affected
New topic about the strict family of options.Use of the strict family of options in the linker
Added details on specifying the maximum size permitted for placing unassigned sections with the ANY_SIZE keyword for an execution region.Placing unassigned sections with the .ANY module selector
Added a new topic about placing ARM library helper functions with scatter files.Example of placing ARM library helper functions

Table 24. Differences between Issue A and Issue B
ChangeTopics affected
Added a note about the 64-bit linker support.About the linker
Added links to new command-line options in the Linker Reference.Linker command-line options listed in groups
Added a note about Program Segment size limit.
Added a table to compare scatter file with equivalent command-line options.Methods of specifying an image memory map with the linker
Added information on handling unassigned sections.Section placement with the linker
The PROTECTED keyword also prevents overlapping of load regions.Reuse of veneers when scatter-loading
Added an overview topic for mapping symbols.About mapping symbols
Added Load$$ ZI output section symbols.Load$$ execution region symbols
Added a topic to show how to import linker-defined symbols in ARM assembler.Importing linker-defined symbols in ARM assembler
Added examples to show how to place code and data at specific addresses.Placing functions and data at specific addresses
Added topics that describe the use of the .ANY module selector.
Added information about the affect various linker features have when using __attribute__((section("name"))).Using __attribute__((section("name"))) to place code and data
Added information about +offset execution region and overlay execution regions.Placement of sections with overlays
Removed the GNU ld script keywords ABSOLUTE, ADDR, ALIGNOF, DEFINED, EXTERN, LOADADDR, and SIZEOF from the list of unsupported keywords, because they are now supported.Specific restrictions for using ld scripts with armlink
Modified the default ld scripts for executable and shared objects to align to 4 bytes after .bss region.Default GNU ld scripts used by armlink
Added the default ld script that is used for --ldpartial.Default GNU ld scripts used by armlink
Moved the Base Platform linking model topics to Features of the Base Platform linking model.

Was this page helpful? Yes No