Keil™, An ARM® Company

RealView Linker and Utilities Guide

Controlling linker behavior

2.2.4. Controlling linker behavior

These options control how objects are linked:

‑‑match crossmangled

Instructs the linker to match the following combinations together:

  • a reference to an unmangled symbol with the mangled definition

  • a reference to a mangled symbol with the unmangled definition.

Libraries and matching operate as follows:

  • If the library members define a mangled definition, and there is an unresolved unmangled reference, the member is loaded to satisfy it.

  • If the library members define an unmangled definition, and there is an unresolved mangled reference, the member is loaded to satisfy it.

Note

This option has no effect if used with partial linking. The partial object contains all the unresolved references to unmangled symbols, even if the mangled definition exists. Matching is done only in the final link step.

‑‑strict

Instructs the linker to report conditions that might result in failure as errors, rather than warnings. An example of such a condition is taking the address of an interworking function from a non-interworking function.

‑‑[no_]strict_relocations

‑‑strict_relocation instructs the linker to report instances of obsolete and deprecated relocations.

Relocation errors and warnings are most likely to occur if you are linking object files built with previous versions of the ARM tools.

This option enables you to ensure ABI compliance of objects. It is off by default, and deprecated and obsolete relocations are handled silently by the linker, where possible.

‑‑unresolved symbol

Matches each reference to an undefined symbol to the global definition of symbol. symbol must be both defined and global, otherwise it appears in the list of undefined symbols and the link step fails. This option is particularly useful during top-down development, because it enables you to test a partially-implemented system by matching each reference to a missing function to a dummy function.

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0377A