ldand the Intel 960 Family
You can use the ‘-Aarchitecture’ command line option to specify one of the two-letter names identifying members of the 960 family; the option specifies the desired output target, and warns of any incompatible instructions in the input files. It also modifies the linker’s search strategy for archive libraries, to support the use of libraries specific to each particular architecture, by including in the search loop names suffixed with the string identifying the architecture.
For example, if your
ld command line included ‘-ACA’ as
well as ‘-ltry’, the linker would look (in its built-in search
paths, and in any paths you specify with ‘-L’) for a library with
try libtry.a tryca libtryca.a
The first two possibilities would be considered in any event; the last two are due to the use of ‘-ACA’.
You can meaningfully use ‘-A’ more than once on a command line, since the 960 architecture family allows combination of target architectures; each use will add another pair of name variants to search for when ‘-l’ specifies a library.
ld supports the ‘--relax’ option for the i960 family. If
you specify ‘--relax’,
ld finds all
calx instructions whose targets are within 24 bits, and turns
them into 24-bit program-counter relative
ld also turns
bal instructions when it determines that the
target subroutine is a leaf routine (that is, the target subroutine does
not itself call any subroutines).