i960.html 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- This file documents the GNU linker LD
  4. (GNU Binutils)
  5. version 2.28.
  6. Copyright (C) 1991-2017 Free Software Foundation, Inc.
  7. Permission is granted to copy, distribute and/or modify this document
  8. under the terms of the GNU Free Documentation License, Version 1.3
  9. or any later version published by the Free Software Foundation;
  10. with no Invariant Sections, with no Front-Cover Texts, and with no
  11. Back-Cover Texts. A copy of the license is included in the
  12. section entitled "GNU Free Documentation License". -->
  13. <!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
  14. <head>
  15. <title>LD: i960</title>
  16. <meta name="description" content="LD: i960">
  17. <meta name="keywords" content="LD: i960">
  18. <meta name="resource-type" content="document">
  19. <meta name="distribution" content="global">
  20. <meta name="Generator" content="makeinfo">
  21. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  22. <link href="index.html#Top" rel="start" title="Top">
  23. <link href="LD-Index.html#LD-Index" rel="index" title="LD Index">
  24. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  25. <link href="Machine-Dependent.html#Machine-Dependent" rel="up" title="Machine Dependent">
  26. <link href="M68HC11_002f68HC12.html#M68HC11_002f68HC12" rel="next" title="M68HC11/68HC12">
  27. <link href="H8_002f300.html#H8_002f300" rel="prev" title="H8/300">
  28. <style type="text/css">
  29. <!--
  30. a.summary-letter {text-decoration: none}
  31. blockquote.smallquotation {font-size: smaller}
  32. div.display {margin-left: 3.2em}
  33. div.example {margin-left: 3.2em}
  34. div.indentedblock {margin-left: 3.2em}
  35. div.lisp {margin-left: 3.2em}
  36. div.smalldisplay {margin-left: 3.2em}
  37. div.smallexample {margin-left: 3.2em}
  38. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  39. div.smalllisp {margin-left: 3.2em}
  40. kbd {font-style:oblique}
  41. pre.display {font-family: inherit}
  42. pre.format {font-family: inherit}
  43. pre.menu-comment {font-family: serif}
  44. pre.menu-preformatted {font-family: serif}
  45. pre.smalldisplay {font-family: inherit; font-size: smaller}
  46. pre.smallexample {font-size: smaller}
  47. pre.smallformat {font-family: inherit; font-size: smaller}
  48. pre.smalllisp {font-size: smaller}
  49. span.nocodebreak {white-space:nowrap}
  50. span.nolinebreak {white-space:nowrap}
  51. span.roman {font-family:serif; font-weight:normal}
  52. span.sansserif {font-family:sans-serif; font-weight:normal}
  53. ul.no-bullet {list-style: none}
  54. -->
  55. </style>
  56. </head>
  57. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  58. <a name="i960"></a>
  59. <div class="header">
  60. <p>
  61. Next: <a href="M68HC11_002f68HC12.html#M68HC11_002f68HC12" accesskey="n" rel="next">M68HC11/68HC12</a>, Previous: <a href="H8_002f300.html#H8_002f300" accesskey="p" rel="prev">H8/300</a>, Up: <a href="Machine-Dependent.html#Machine-Dependent" accesskey="u" rel="up">Machine Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="LD-Index.html#LD-Index" title="Index" rel="index">Index</a>]</p>
  62. </div>
  63. <hr>
  64. <a name="ld-and-the-Intel-960-Family"></a>
  65. <h3 class="section">4.2 <code>ld</code> and the Intel 960 Family</h3>
  66. <a name="index-i960-support"></a>
  67. <p>You can use the &lsquo;<samp>-A<var>architecture</var></samp>&rsquo; command line option to
  68. specify one of the two-letter names identifying members of the 960
  69. family; the option specifies the desired output target, and warns of any
  70. incompatible instructions in the input files. It also modifies the
  71. linker&rsquo;s search strategy for archive libraries, to support the use of
  72. libraries specific to each particular architecture, by including in the
  73. search loop names suffixed with the string identifying the architecture.
  74. </p>
  75. <p>For example, if your <code>ld</code> command line included &lsquo;<samp><span class="nolinebreak">-ACA</span></samp>&rsquo;<!-- /@w --> as
  76. well as &lsquo;<samp><span class="nolinebreak">-ltry</span></samp>&rsquo;<!-- /@w -->, the linker would look (in its built-in search
  77. paths, and in any paths you specify with &lsquo;<samp>-L</samp>&rsquo;) for a library with
  78. the names
  79. </p>
  80. <div class="smallexample">
  81. <pre class="smallexample">try
  82. libtry.a
  83. tryca
  84. libtryca.a
  85. </pre></div>
  86. <p>The first two possibilities would be considered in any event; the last
  87. two are due to the use of &lsquo;<samp><span class="nolinebreak">-ACA</span></samp>&rsquo;<!-- /@w -->.
  88. </p>
  89. <p>You can meaningfully use &lsquo;<samp>-A</samp>&rsquo; more than once on a command line, since
  90. the 960 architecture family allows combination of target architectures; each
  91. use will add another pair of name variants to search for when &lsquo;<samp><span class="nolinebreak">-l</span></samp>&rsquo;<!-- /@w -->
  92. specifies a library.
  93. </p>
  94. <a name="index-_002d_002drelax-on-i960"></a>
  95. <a name="index-relaxing-on-i960"></a>
  96. <p><code>ld</code> supports the &lsquo;<samp>--relax</samp>&rsquo; option for the i960 family. If
  97. you specify &lsquo;<samp>--relax</samp>&rsquo;, <code>ld</code> finds all <code>balx</code> and
  98. <code>calx</code> instructions whose targets are within 24 bits, and turns
  99. them into 24-bit program-counter relative <code>bal</code> and <code>cal</code>
  100. instructions, respectively. <code>ld</code> also turns <code>cal</code>
  101. instructions into <code>bal</code> instructions when it determines that the
  102. target subroutine is a leaf routine (that is, the target subroutine does
  103. not itself call any subroutines).
  104. </p>
  105. <hr>
  106. <div class="header">
  107. <p>
  108. Next: <a href="M68HC11_002f68HC12.html#M68HC11_002f68HC12" accesskey="n" rel="next">M68HC11/68HC12</a>, Previous: <a href="H8_002f300.html#H8_002f300" accesskey="p" rel="prev">H8/300</a>, Up: <a href="Machine-Dependent.html#Machine-Dependent" accesskey="u" rel="up">Machine Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="LD-Index.html#LD-Index" title="Index" rel="index">Index</a>]</p>
  109. </div>
  110. </body>
  111. </html>