1<html lang="en"> 2<head> 3<title>i960 - Untitled</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Untitled"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="Machine-Dependent.html#Machine-Dependent" title="Machine Dependent"> 9<link rel="prev" href="H8_002f300.html#H8_002f300" title="H8/300"> 10<link rel="next" href="ARM.html#ARM" title="ARM"> 11<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 12<!-- 13This file documents the GNU linker LD 14(Sourcery CodeBench Lite 2011.09-69) 15version 2.21.53. 16 17Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 182001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. 19 20Permission is granted to copy, distribute and/or modify this document 21under the terms of the GNU Free Documentation License, Version 1.3 22or any later version published by the Free Software Foundation; 23with no Invariant Sections, with no Front-Cover Texts, and with no 24Back-Cover Texts. A copy of the license is included in the 25section entitled ``GNU Free Documentation License''.--> 26<meta http-equiv="Content-Style-Type" content="text/css"> 27<style type="text/css"><!-- 28 pre.display { font-family:inherit } 29 pre.format { font-family:inherit } 30 pre.smalldisplay { font-family:inherit; font-size:smaller } 31 pre.smallformat { font-family:inherit; font-size:smaller } 32 pre.smallexample { font-size:smaller } 33 pre.smalllisp { font-size:smaller } 34 span.sc { font-variant:small-caps } 35 span.roman { font-family:serif; font-weight:normal; } 36 span.sansserif { font-family:sans-serif; font-weight:normal; } 37--></style> 38<link rel="stylesheet" type="text/css" href="../cs.css"> 39</head> 40<body> 41<div class="node"> 42<a name="i960"></a> 43<p> 44Next: <a rel="next" accesskey="n" href="ARM.html#ARM">ARM</a>, 45Previous: <a rel="previous" accesskey="p" href="H8_002f300.html#H8_002f300">H8/300</a>, 46Up: <a rel="up" accesskey="u" href="Machine-Dependent.html#Machine-Dependent">Machine Dependent</a> 47<hr> 48</div> 49 50<h3 class="section">4.2 <samp><span class="command">ld</span></samp> and the Intel 960 Family</h3> 51 52<p><a name="index-i960-support-572"></a> 53You can use the ‘<samp><span class="samp">-A</span><var>architecture</var></samp>’ command line option to 54specify one of the two-letter names identifying members of the 960 55family; the option specifies the desired output target, and warns of any 56incompatible instructions in the input files. It also modifies the 57linker's search strategy for archive libraries, to support the use of 58libraries specific to each particular architecture, by including in the 59search loop names suffixed with the string identifying the architecture. 60 61 <p>For example, if your <samp><span class="command">ld</span></samp> command line included ‘<samp><span class="samp">-ACA</span></samp>’<!-- /@w --> as 62well as ‘<samp><span class="samp">-ltry</span></samp>’<!-- /@w -->, the linker would look (in its built-in search 63paths, and in any paths you specify with ‘<samp><span class="samp">-L</span></samp>’) for a library with 64the names 65 66<pre class="smallexample"> try 67 libtry.a 68 tryca 69 libtryca.a 70</pre> 71 <p class="noindent">The first two possibilities would be considered in any event; the last 72two are due to the use of ‘<samp><span class="samp">-ACA</span></samp>’<!-- /@w -->. 73 74 <p>You can meaningfully use ‘<samp><span class="samp">-A</span></samp>’ more than once on a command line, since 75the 960 architecture family allows combination of target architectures; each 76use will add another pair of name variants to search for when ‘<samp><span class="samp">-l</span></samp>’<!-- /@w --> 77specifies a library. 78 79 <p><a name="index-g_t_0040option_007b_002d_002drelax_007d-on-i960-573"></a><a name="index-relaxing-on-i960-574"></a><samp><span class="command">ld</span></samp> supports the ‘<samp><span class="samp">--relax</span></samp>’ option for the i960 family. If 80you specify ‘<samp><span class="samp">--relax</span></samp>’, <samp><span class="command">ld</span></samp> finds all <code>balx</code> and 81<code>calx</code> instructions whose targets are within 24 bits, and turns 82them into 24-bit program-counter relative <code>bal</code> and <code>cal</code> 83instructions, respectively. <samp><span class="command">ld</span></samp> also turns <code>cal</code> 84instructions into <code>bal</code> instructions when it determines that the 85target subroutine is a leaf routine (that is, the target subroutine does 86not itself call any subroutines). 87 88 <p><a name="index-Cortex_002dA8-erratum-workaround-575"></a><a name="index-g_t_002d_002dfix_002dcortex_002da8-576"></a><a name="index-g_t_002d_002dno_002dfix_002dcortex_002da8-577"></a>The ‘<samp><span class="samp">--fix-cortex-a8</span></samp>’ switch enables a link-time workaround for an erratum in certain Cortex-A8 processors. The workaround is enabled by default if you are targeting the ARM v7-A architecture profile. It can be enabled otherwise by specifying ‘<samp><span class="samp">--fix-cortex-a8</span></samp>’, or disabled unconditionally by specifying ‘<samp><span class="samp">--no-fix-cortex-a8</span></samp>’. 89 90 <p>The erratum only affects Thumb-2 code. Please contact ARM for further details. 91 92 <p><a name="index-g_t_002d_002dmerge_002dexidx_002dentries-578"></a><a name="index-g_t_002d_002dno_002dmerge_002dexidx_002dentries-579"></a>The ‘<samp><span class="samp">--no-merge-exidx-entries</span></samp>’ switch disables the merging of adjacent exidx entries in debuginfo. 93 94 </body></html> 95 96