Annotation of lucent/sys/man/1/2l, revision 1.1

1.1     ! root        1: .TH 2L 1 
        !             2: .SH NAME
        !             3: 2l, 6l, 8l, kl, vl, xl \- loaders
        !             4: .SH SYNOPSIS
        !             5: .B 2l
        !             6: [
        !             7: .I option ...
        !             8: ]
        !             9: [
        !            10: .I file ...
        !            11: ]
        !            12: .br
        !            13: .B 6l
        !            14: [
        !            15: .I option ...
        !            16: ]
        !            17: [
        !            18: .I file ...
        !            19: ]
        !            20: .br
        !            21: .B 8l
        !            22: [
        !            23: .I option ...
        !            24: ]
        !            25: [
        !            26: .I file ...
        !            27: ]
        !            28: .br
        !            29: .B kl
        !            30: [
        !            31: .I option ...
        !            32: ]
        !            33: [
        !            34: .I file ...
        !            35: ]
        !            36: .br
        !            37: .B vl
        !            38: [
        !            39: .I option ...
        !            40: ]
        !            41: [
        !            42: .I file ...
        !            43: ]
        !            44: .br
        !            45: .B xl
        !            46: [
        !            47: .I option ...
        !            48: ]
        !            49: [
        !            50: .I file ...
        !            51: ]
        !            52: .SH DESCRIPTION
        !            53: .IR 2l ,
        !            54: .IR 6l ,
        !            55: .IR 8l ,
        !            56: .IR kl ,
        !            57: .IR vl ,
        !            58: and
        !            59: .IR xl
        !            60: load the named
        !            61: .I files
        !            62: into MC68020, i960, i386, SPARC, MIPS,
        !            63: and ATT3210 executable files.
        !            64: The files should be object files or libraries (archives of object files)
        !            65: for the appropriate architecture.
        !            66: Also, a name like
        !            67: .BI -l ext
        !            68: represents the library
        !            69: .BI lib ext .a
        !            70: in
        !            71: .BR /$objtype/lib ,
        !            72: where
        !            73: .I objtype
        !            74: is one of
        !            75: .BR 68020 ,
        !            76: .BR 960 ,
        !            77: .BR 386 ,
        !            78: .BR sparc ,
        !            79: .BR mips ,
        !            80: or
        !            81: .BR 3210 .
        !            82: The libraries must have tables of contents
        !            83: (see
        !            84: .IR ar (1)).
        !            85: .PP
        !            86: In practice, 
        !            87: .B -l
        !            88: options are rarely necessary as the header files for
        !            89: the libraries cause their archives to be included automatically in the load
        !            90: (see
        !            91: .IR 2c (1)).
        !            92: For example, any program that includes header file
        !            93: .B libc.h
        !            94: causes the loader
        !            95: to search the C library
        !            96: .BR /$objtype/lib/libc.a .
        !            97: Also, the loader creates an undefined symbol
        !            98: .B _main
        !            99: (or
        !           100: .B _mainp
        !           101: if profiling is enabled) to force loading of the
        !           102: startup linkage from the C library.
        !           103: .PP
        !           104: The order of search to resolve undefined symbols is to load all files and libraries
        !           105: mentioned explicitly on the command line, and then to resolve remaining symbols
        !           106: by searching in topological order
        !           107: libraries mentioned in header files included by files already loaded.
        !           108: When scanning such libraries, the algorithm is to scan each library repeatedly until
        !           109: no new undefined symbols are picked up, then to start on the next library.  Thus if library
        !           110: .I A
        !           111: needs
        !           112: .I B
        !           113: which needs
        !           114: .I A
        !           115: again, it may be necessary to mention
        !           116: .I A
        !           117: explicitly so it will be read a second time.
        !           118: .PP
        !           119: The loader options are:
        !           120: .TP 1i
        !           121: .B -l
        !           122: (As a bare option.)
        !           123: Suppress the default loading of the startup linkage and libraries
        !           124: specified by header files.
        !           125: .TP
        !           126: .BI -o " out"
        !           127: Place output in file
        !           128: .IR out .
        !           129: Default is
        !           130: .IB O .out\f1,
        !           131: where
        !           132: .I O
        !           133: is the first letter of the loader name.
        !           134: .TP
        !           135: .B -p
        !           136: Insert profiling code into the executable output; no special action is needed
        !           137: during compilation or assembly.
        !           138: .TP
        !           139: .B -s
        !           140: Strip the symbol tables from the output file.
        !           141: .TP
        !           142: .B -a
        !           143: Print the object code in assembly language, with addresses.
        !           144: .TP
        !           145: .B -v
        !           146: Print debugging output that annotates the activities of the load.
        !           147: .TP
        !           148: .BI -c function
        !           149: .RI ( Xl
        !           150: only) Place the
        !           151: .I function
        !           152: in the internal RAM of the DSP3210.
        !           153: .TP
        !           154: .BI -M
        !           155: .RI ( Kl
        !           156: only) Generate instructions rather than calls to emulation routines
        !           157: for multiply and divide.
        !           158: .TP
        !           159: .BI -m size
        !           160: .RI ( Xl
        !           161: only) Use
        !           162: .I size
        !           163: (default 0, maximum 8192)
        !           164: bytes of internal RAM of the DSP3210 for functions and small data items.
        !           165: .TP
        !           166: .BI -E symbol
        !           167: The entry point for the binary is
        !           168: .I symbol
        !           169: (default
        !           170: .BR _main ;
        !           171: .B _mainp
        !           172: under
        !           173: .BR -p ).
        !           174: .TP
        !           175: .BI -H n
        !           176: Executable header is type
        !           177: .IR n .
        !           178: The meaning of the types is architecture-dependent; typically
        !           179: type 1 is Plan 9 boot format and type 2 is the
        !           180: regular Plan 9 format, the default.  These are reversed on the MIPS.
        !           181: The Next boot format is 3.  Type 4 in
        !           182: .I vl
        !           183: creates a MIPS executable for an SGI Unix system.
        !           184: .TP
        !           185: .BI -T t
        !           186: The text segment starts at address
        !           187: .IR t .
        !           188: .TP
        !           189: .BI -D d
        !           190: The data segment starts at address
        !           191: .IR d .
        !           192: .TP
        !           193: .BI -R r
        !           194: The text segment is rounded to a multiple of
        !           195: .I r
        !           196: (if
        !           197: .I r
        !           198: is nonzero).
        !           199: .PP
        !           200: The numbers in the above options can begin with
        !           201: .L 0x
        !           202: or
        !           203: .L 0
        !           204: to change the default base from decimal to hexadecimal or octal.
        !           205: The defaults for the values depend on the compiler and the
        !           206: header type.
        !           207: .PP
        !           208: The loaded image has several symbols inserted by the loader:
        !           209: .B etext
        !           210: is the address of the end of the text segment;
        !           211: .B bdata
        !           212: is the address of the beginning of the data segment;
        !           213: .B edata
        !           214: is the address of the end of the data segment;
        !           215: and
        !           216: .B end
        !           217: is the address of the end of the bss segment, and of the program.
        !           218: .SH FILES
        !           219: .TF /$objtype/lib
        !           220: .TP
        !           221: .B /$objtype/lib
        !           222: for
        !           223: .BI -l lib
        !           224: arguments.
        !           225: .SH SOURCE
        !           226: .B /sys/src/cmd/2l
        !           227: etc.
        !           228: .SH "SEE ALSO"
        !           229: .IR 2c (1),
        !           230: .IR 2a (1),
        !           231: .IR alef (1),
        !           232: .IR ar (1),
        !           233: .IR nm (1),
        !           234: .IR db (1),
        !           235: .IR prof (1)
        !           236: .PP
        !           237: Rob Pike,
        !           238: ``How to Use the Plan 9 C Compiler''

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.