You copied the Doc URL to your clipboard.

Typical use cases for using ld scripts with armlink

The following are typical use cases for using ld scripts with armlink:

Wrapping libraries

Some libraries have a dynamic and static part. An ld script loads both libraries in the correct order with the INPUT command, for example:

INPUT(libstatic.a)
INPUT(libdynamic.so)

This script instructs the linker to load libstatic.a then libdynamic.so

Partial linking with the --ldpartial option

An ld script can be given to control how the linker combines sections, for example:

SECTIONS
{
    .text :0
    {
        *(.text)
	*(mysection)
    }
}

This script instructs the linker to combine mysection and all the .text sections into a single .text output section.

Fine control over an ARM linux link

You might want to combine sections together in a different order to that given by the default linker script. Also, you might want the linker to define symbols at specific addresses. This information can be given by a custom linker script.

Note

To successfully produce a file that can be run on ARM Linux your image must include some output sections to contain the meta-data that the dynamic loader can use to load the file. It is recommended that you start with one of the example scripts and modify it to suit your purpose.

Was this page helpful? Yes No