ARM Compiler toolchain Using the Linker - ARM Information Center
ARM Compiler toolchain Using the Linker - ARM Information Center
ARM Compiler toolchain Using the Linker - ARM Information Center
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Change Topics affected<br />
Revisions for <strong>Using</strong> <strong>the</strong> <strong>Linker</strong><br />
Table A-3 Differences between Issue A and Issue B<br />
Added a note about <strong>the</strong> 64-bit linker support. About <strong>the</strong> linker on page 2-2<br />
Added links to new command-line options in <strong>the</strong> <strong>Linker</strong><br />
Reference.<br />
<strong>Linker</strong> command-line options listed in groups on<br />
page 2-5<br />
Added a note about Program Segment size limit. • The image structure on page 4-3<br />
• Input sections, output sections, regions, and<br />
Program Segments on page 4-5.<br />
Added a table to compare scatter file with equivalent<br />
command-line options.<br />
Methods of specifying an image memory map with<br />
<strong>the</strong> linker on page 4-8<br />
Added information on handling unassigned sections. Section placement with <strong>the</strong> linker on page 4-19<br />
The PROTECTED keyword also prevents overlapping of load<br />
regions.<br />
Reuse of veneers when scatter-loading on page 4-30<br />
Added an overview topic for mapping symbols. About mapping symbols on page 7-3<br />
Added Load$$ ZI output section symbols. Load$$ execution region symbols on page 7-7<br />
Added a topic to show how to import linker-defined symbols<br />
in <strong>ARM</strong> assembler.<br />
Added examples to show how to place code and data at<br />
specific addresses.<br />
Added topics that describe <strong>the</strong> use of <strong>the</strong> .ANY module<br />
selector.<br />
Added information about <strong>the</strong> affect various linker features<br />
have when using __attribute__((section("name"))).<br />
Added information about +offset execution region and<br />
overlay execution regions.<br />
Removed <strong>the</strong> GNU ld script keywords ABSOLUTE, ADDR,<br />
ALIGNOF, DEFINED, EXTERN, LOADADDR, and SIZEOF from <strong>the</strong> list<br />
of unsupported keywords, because <strong>the</strong>y are now supported.<br />
Modified <strong>the</strong> default ld scripts for executable and shared<br />
objects to align to 4 bytes after .bss region.<br />
Importing linker-defined symbols in <strong>ARM</strong> assembler<br />
on page 7-13<br />
Placing functions and data at specific addresses on<br />
page 8-18<br />
• Placing unassigned sections with <strong>the</strong> .ANY<br />
module selector on page 8-25<br />
• Examples of using placement algorithms for<br />
.ANY sections on page 8-28<br />
• Example of next_fit algorithm showing<br />
behavior of full regions, selectors, and<br />
priority on page 8-30<br />
• Examples of using sorting algorithms for<br />
.ANY sections on page 8-32.<br />
<strong>Using</strong> __attribute__((section("name"))) on<br />
page 8-35<br />
Placement of sections with overlays on page 8-44<br />
Specific restrictions for using ld scripts with armlink<br />
on page 9-6<br />
Default GNU ld scripts used by armlink on page 9-8<br />
Added <strong>the</strong> default ld script that is used for --ldpartial. Default GNU ld scripts used by armlink on page 9-8<br />
Moved <strong>the</strong> Base Platform linking model topics to Features<br />
of <strong>the</strong> Base Platform linking model.<br />
• Restrictions on <strong>the</strong> use of scatter files with <strong>the</strong><br />
Base Platform model on page 11-2<br />
• Example scatter file for <strong>the</strong> Base Platform<br />
linking model on page 11-5<br />
• Placement of PLT sequences with <strong>the</strong> Base<br />
Platform model on page 11-7.<br />
<strong>ARM</strong> DUI 0474C Copyright © 2010-2011 <strong>ARM</strong>. All rights reserved. A-2<br />
ID080411 Non-Confidential