|
|
DataMuseum.dkPresents historical artifacts from the history of: ICL Comet 32 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about ICL Comet 32 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6221 (0x184d)
Types: TextFile
Notes: UNIX file
Names: »ld.1«
└─⟦26887b7e0⟧ Bits:30009717 Comet 32 harddisk image
└─⟦28c352965⟧ »/a« UNIX Filesystem
└─⟦this⟧ »usr/man/man1/ld.1«
.ig @(#)ld.1 2.1 7/1/84 @(#)Copyright (C) 1983 by National Semiconductor Corp. .. .if t .ds U _\ .if n .ds U _ .TH LD 1 .SH NAME ld \- \fISeries 32000\fP link editor (nmeld for cross-support) .SH SYNOPSIS .B ld [ option ] ... .I module ... .sp 1 .B nmeld [ option ] ... .I module ... .SH DESCRIPTION .I Ld combines several object modules into one and resolves external references. In the simplest case several object .I modules are given, and .I ld combines them, producing an .I a.out file which is ready for execution. The output of .I ld is left on the file .IR a.out . This file is deleted if errors occurred during the load. .PP The argument modules are concatenated in the order specified. The entry point of the output is the symbol .B start (unless the \f3\-e\fP option is specified). Module zero is unused. .PP The resulting image consists of the module table, followed by each module's program and link table. The link table for a module begins after the program segment for that module. Finally, the static base segment for each module is concatenated at the end of the image. Each segment begins on a 32 bit boundary except for the first static base segment, which begins on a 1024 byte boundary if the user has not specified the .B \-p option. .PP If common symbols are left unresolved, .I ld exports them and allocates space for them. These symbols are defined in the %initfun module (see below). Common symbols are aligned on 32 bit boundaries. .PP Symbols with the special name .B %initfun are coalesced into one %initfun module. .I Ld makes each unique by appending relative mod number and creating a dummy module containing calls to all %initfun entry points. This feature is currently used by the compilers for initializing run-time addresses. .PP The symbols .BR \*Uetext , .BR \*Uedata , and .BR \*Uend , are defined as follows: .B \*Uetext is the first address past the text segment; .B \*Uedata is the first address past the last static base area; .B \*Uend is the first address past the end of the bss area. .PP .I Ld understands several options. Options should be specified upon invocation barring -l. All options should be specified before any .I module. Otherwise errors may result that the loader will not bring to your attention. These errors will manifest themselves during program execution. .TP .SM .B "\-R \*S\f2address module" Exclude program segment of the text segment of the .I module from the image. .B \-R assumes that .I module is already in shared memory or is present in ROM at .I address. Program relative exports are computed accordingly. This option ensures that the .I module's link table is retained. The value of .I address is the address of the .I module's text segment. .TP .SM .B "\-T \*S\f2base-address" Load entire image at .IR base-address . (Note: This option is only supported on a \fISeries 32000\fP Development Board.) .TP .I "-number" Where 0 \(<= number \(<= 4095. Leave this number of blank module table entries at the beginning of the table in the .I a.out file. Default is 2. .TP .B \-w Disable warnings. Presently, warnings are issued when a static, base relative symbol is imported as an external procedure descriptor. .TP .B "\-e \f2symbol" Obtain the transfer address from the value of .IR symbol . .TP .B \-v List the utilities .I ld calls and their arguments on standard output. Information produced by the verbose .B \-v flag is useful for debugging. .TP .B "\-o \f2filename" Use .I filename instead of .I a.out for output. .TP .B \-m Print a load map on the file .BR ldmap . .TP .B "\-m\\f2 mapfilename" Print a load map on the file .I mapfilename instead of on .BR ldmap . .TP .SM .B \-M Produce a primitive load map on standard output, listing the names of the files which will be loaded. .TP .B \-p Do not page-align the static base segment. This saves space if it is going into a ROM. .TP .B \-r Allow the output file of .I ld to be ``re-linked,'' i.e. to be the input to another run of .IR ld . .I Ld will not define any common symbols and does not give error messages for undefined symbols. The -T option should .B not be specified together with the -r option, as they are mutually exclusive. .TP .B \-l\f2 libname Search the library (/usr/lib/lib<libname>.a) for all unresolved symbols and load the necessary object files. If no .B \-e option is given, the start address of the image will be the symbol .BR start . Upon invocation, ensure that all options, barring -l, are specified before any module is named, as errors may result, which the loader will \f3not\fP echo to the screen. These errors will show up during execution. .IP .I Ld searches a library when it encounters the library name in the option line so the placement of the .B \-l switch is significant (especially when more than one .B \-l is used), and it should probably go at the end of the .I ld command. .IP If an archive file is given to the loader, it assumes that the file is a library. .IP Library searches are multipass operations, continuing until no furthur symbols can be resolved from that library. All libraries must be archive libraries created with .IR ranlib (1) and contain a _\*U.SYMDEF file as the first file in the library. .TP .B \-s Strip the symbol table and string table from the output file. .TP .B \-am .IR address specifies the starting address of the module table. .TP .B \-as .IR address specifies the starting address for the static area. .SH FILES .nr aa \w'/usr/lib/lib*.a' .ta \n(aau+(3n) .br /usr/lib/lib*.a libraries .br a.out default output file .SH "SEE ALSO" as(1), ar(1), cc(1), ranlib(1) .SH "CROSS-SUPPORT" In a cross-support environment, .I ld is called .IR nmeld , and the default output file is .IR a16.out . .B Nmeld locates libraries under the .B -l flag in /usr/NSC/lib. The file that .I nmeld builds is not executable. .SH BUGS Many flags that are defined in .I ld in the Berkeley version of the command are not yet supported fully. Some of these flags will be supported in the future. Unsupported flags are currently ignored, but cause a message to be printed out explaining that the features are not implemented. These flags are: .BR "\-S \-x \-X \-y \-z \-n \-N \-t \-A \-D \-d" .