2.6. Building with GNU tools

You may want to build parts of your application with the GNU toolchain. This section describes the steps that you must take.

Use of armlink or GNU ld

We recommend that applications built with RVCT should be linked with armlink whenever possible. This is for ease of use when linking with a small number of helper functions which must be taken from the RVCT libraries.

When linking with GNU ld, you bear all responsibility for checking that its behavior is as you intend, and does not lead to violation of any license through, for example, the linking of additional libraries.

While it is technically possible to use GNU ld, the GNU tools are not under ARM's control and we cannot provide any guarantees about its behavior. This may be of particular concern when linking closed-source applications; ARM can provide no details or guarantees as to whether your use of the GNU linker will pull in IP covered by a non-closed-source license grant without your explicit intention.

You should seek legal advice regarding any such concerns, and ARM is unable to provide such advice.

Linking an application with GNU ld

You will typically only need to link with GNU ld where your own application is to be built and linked using the GNU tools and you are linking with a third-party library that has been built using RVCT. Alternatively, you may wish to link a static library into your program that has been created using RVCT.

The only special requirement when using GNU ld to link objects compiled with RVCT is to include an appropriate RVCT compiler helper libraries on the command line, for example h_t__un.l. Further details on using the RVCT helper libraries can be found in section 3.1.2.

Copyright © 2005-2006. All rights reserved.DAI0150B
Non-Confidential