Datasheet
Migrating Projects from SDT to ADS
4-10 Copyright © 1999-2001 ARM Limited. All rights reserved. ARM DUI 0064D
Error: L6242E: Cannot link object _main.o as its attributes are incompatible
with the image attributes.
If possible, it is recommended that you rebuild your entire project, including the old
objects, with ADS. However, if you do not have the source code for an object or library,
try rebuilding your ADS application code with the
-fpu softfpa
option. See Object and
library compatibility on page 2-42 for a detailed explanation of how and when you can
link old library code. See Floating-point support on page 2-33 for more information on
changes to the floating-point defaults.
Not all AOF relocations are recognized in ADS. This means that some AOF objects
cannot be translated to ELF. The linker faults an attempt to link with an AOF object that
cannot be translated:
Error : (Fatal) L6027U: Relocation #17 in obj.o (SYMBOL_NAME) has
invalid/unknown type.
In this case, you must rebuild the object or library with ADS.
Linking old libraries
The library file format has changed between SDT and ADS. SDT libraries are in the
ARM proprietary ALF format. The ADS library format is ar and armar replaces armlib
as the library manager.
For backwards compatibility, the ADS linker accepts object files in the SDT AOF
format and libraries in the SDT ALF format. However, these formats are obsolete and
will not be supported in future releases. It is recommended that you rebuild your entire
project, including the libraries, with ADS. See Linking old objects on page 4-9 for more
information.
Unused section elimination
In SDT, the
-noremove
linker option is the default. The linker does not remove unused
code or data sections unless instructed to do so with the
-remove
option.
In ADS,
-remove
is the default. Unused code and data sections are removed by default.
Use the
-info unused
option to generate a list of sections that have been removed.
To ensure that important sections, such as the vector table, are not removed you must
mark them as an entry point. For example, use the assembler
ENTRY
directive. The linker
does not remove sections that are marked as an entry point.