<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://gunkies.org/index.php?action=history&amp;feed=atom&amp;title=32v_1m_ld</id>
		<title>32v 1m ld - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://gunkies.org/index.php?action=history&amp;feed=atom&amp;title=32v_1m_ld"/>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=32v_1m_ld&amp;action=history"/>
		<updated>2026-05-06T15:40:10Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.1</generator>

	<entry>
		<id>https://gunkies.org/w/index.php?title=32v_1m_ld&amp;diff=6976&amp;oldid=prev</id>
		<title>Neozeed: New page: LD(1)               UNIX Programmer's Manual                LD(1)    == NAME ==      ld - link editor  == SYNOPSIS ==      ld [ option ] ... file ...  == DESCRIPTION ==      _L_d combines ...</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=32v_1m_ld&amp;diff=6976&amp;oldid=prev"/>
				<updated>2009-10-26T14:28:55Z</updated>
		
		<summary type="html">&lt;p&gt;New page: LD(1)               UNIX Programmer&amp;#039;s Manual                LD(1)    == NAME ==      ld - link editor  == SYNOPSIS ==      ld [ option ] ... file ...  == DESCRIPTION ==      _L_d combines ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;LD(1)               UNIX Programmer's Manual                LD(1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NAME ==&lt;br /&gt;
     ld - link editor&lt;br /&gt;
&lt;br /&gt;
== SYNOPSIS ==&lt;br /&gt;
     ld [ option ] ... file ...&lt;br /&gt;
&lt;br /&gt;
== DESCRIPTION ==&lt;br /&gt;
     _L_d combines several object programs into one, resolves&lt;br /&gt;
     external references, and searches libraries.  In the sim-&lt;br /&gt;
     plest case several object _f_i_l_e_s are given, and _l_d combines&lt;br /&gt;
     them, producing an object module which can be either exe-&lt;br /&gt;
     cuted or become the input for a further _l_d run.  (In the&lt;br /&gt;
     latter case, the -r option must be given to preserve the&lt;br /&gt;
     relocation bits.)  The output of _l_d is left on a.out.  This&lt;br /&gt;
     file is made executable only if no errors occurred during&lt;br /&gt;
     the load.&lt;br /&gt;
&lt;br /&gt;
     The argument routines are concatenated in the order speci-&lt;br /&gt;
     fied.  The entry point of the output is the beginning of the&lt;br /&gt;
     first routine (unless the -e option is specified).&lt;br /&gt;
&lt;br /&gt;
     If any argument is a library, it is searched exactly once at&lt;br /&gt;
     the point it is encountered in the argument list.  Only&lt;br /&gt;
     those routines defining an unresolved external reference are&lt;br /&gt;
     loaded.  If a routine from a library references another rou-&lt;br /&gt;
     tine in the library, the referenced routine must appear&lt;br /&gt;
     after the referencing routine in the library.  Thus the&lt;br /&gt;
     order of programs within libraries is important.&lt;br /&gt;
&lt;br /&gt;
     The symbols `_etext', `_edata' and `_end' (`etext', `edata'&lt;br /&gt;
     and `end' in C) are reserved, and if referred to, are set to&lt;br /&gt;
     the first location above the program, the first location&lt;br /&gt;
     above initialized data, and the first location above all&lt;br /&gt;
     data respectively.  It is erroneous to define these symbols.&lt;br /&gt;
&lt;br /&gt;
     _L_d understands several options.  Except for -l, they should&lt;br /&gt;
     appear before the file names.&lt;br /&gt;
&lt;br /&gt;
     -D   Take the next argument as a hexadecimal number and pad&lt;br /&gt;
          the data segment with zero bytes to the indicated&lt;br /&gt;
          length.&lt;br /&gt;
&lt;br /&gt;
     -d   Force definition of common storage even if the -r flag&lt;br /&gt;
          is present.&lt;br /&gt;
&lt;br /&gt;
     -e   The following argument is taken to be the name of the&lt;br /&gt;
          entry point of the loaded program; location 0 is the&lt;br /&gt;
          default.&lt;br /&gt;
&lt;br /&gt;
     -l_x  This option is an abbreviation for the library name&lt;br /&gt;
          `/lib/lib_x.a', where _x is a string.  If that does not&lt;br /&gt;
          exist, _l_d tries `/usr/lib/lib_x.a' A library is searched&lt;br /&gt;
          when its name is encountered, so the placement of a -l&lt;br /&gt;
          is significant.&lt;br /&gt;
&lt;br /&gt;
     -N   Do not make the text portion read only or sharable.&lt;br /&gt;
          (Use &amp;quot;magic number&amp;quot; 0407.)&lt;br /&gt;
&lt;br /&gt;
     -n   Arrange (by giving the output file a 0410 &amp;quot;magic&lt;br /&gt;
          number&amp;quot;) that when the output file is executed, the&lt;br /&gt;
          text portion will be read-only and shared among all&lt;br /&gt;
          users executing the file.  This involves moving the&lt;br /&gt;
          data areas up to the first possible 512 byte boundary&lt;br /&gt;
          following the end of the text.  This option is the&lt;br /&gt;
          default under UNIX/32V; the only other choice is -N.&lt;br /&gt;
&lt;br /&gt;
     -o   The _n_a_m_e argument after -o is used as the name of the&lt;br /&gt;
          _l_d output file, instead of a.out.&lt;br /&gt;
&lt;br /&gt;
     -r   Generate relocation bits in the output file so that it&lt;br /&gt;
          can be the subject of another _l_d run.  This flag also&lt;br /&gt;
          prevents final definitions from being given to common&lt;br /&gt;
          symbols, and suppresses the `undefined symbol' diagnos-&lt;br /&gt;
          tics.&lt;br /&gt;
&lt;br /&gt;
     -S   `Strip' the output by removing all symbols except&lt;br /&gt;
          locals and globals.&lt;br /&gt;
&lt;br /&gt;
     -s   `Strip' the output, that is, remove the symbol table&lt;br /&gt;
          and relocation bits to save space (but impair the use-&lt;br /&gt;
          fulness of the debugger).  This information can also be&lt;br /&gt;
          removed by _s_t_r_i_p(1).&lt;br /&gt;
&lt;br /&gt;
     -T   The next argument is a hexadecimal number which sets&lt;br /&gt;
          the text segment origin.  The default origin is 0.&lt;br /&gt;
&lt;br /&gt;
     -t   (&amp;quot;trace&amp;quot;)  Print the name of each file as it is pro-&lt;br /&gt;
          cessed.&lt;br /&gt;
&lt;br /&gt;
     -u   Take the following argument as a symbol and enter it as&lt;br /&gt;
          undefined in the symbol table.  This is useful for&lt;br /&gt;
          loading wholly from a library, since initially the sym-&lt;br /&gt;
          bol table is empty and an unresolved reference is&lt;br /&gt;
          needed to force the loading of the first routine.&lt;br /&gt;
&lt;br /&gt;
     -X   Save local symbols except for those whose names begin&lt;br /&gt;
          with `L'.  This option is used by _c_c(1) to discard&lt;br /&gt;
          internally-generated labels while retaining symbols&lt;br /&gt;
          local to routines.&lt;br /&gt;
&lt;br /&gt;
     -x   Do not preserve local (non-.globl) symbols in the out-&lt;br /&gt;
          put symbol table; only enter external symbols.  This&lt;br /&gt;
          option saves some space in the output file.&lt;br /&gt;
&lt;br /&gt;
== FILES ==&lt;br /&gt;
     /lib/lib*.a      libraries&lt;br /&gt;
     /usr/lib/lib*.a  more libraries&lt;br /&gt;
     a.out            output file&lt;br /&gt;
&lt;br /&gt;
== SEE ALSO ==&lt;br /&gt;
     [[32v 1m as|as(1)]], [[32v 1m ar|ar(1)]], [[32v 1m cc|cc(1)]]&lt;br /&gt;
&lt;br /&gt;
== BUGS ==&lt;br /&gt;
&lt;br /&gt;
[[Category:32v man section 1]]&lt;/div&gt;</summary>
		<author><name>Neozeed</name></author>	</entry>

	</feed>