Annotation of coherent/a/usr/man/COHERENT/l.out.h, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: l.out.h                    Header File                    l.out.h
                      4: 
                      5: 
                      6: 
                      7: 
                      8: Object file format
                      9: 
                     10: #include <l.out.h>
                     11: 
                     12: The header  file l.out.h describes  the format for  the output of
                     13: compilers, assemblers, and the linker.
                     14: 
                     15: The assembler  outputs an unlinked  object module, which  must be
                     16: bound with any required libraries (leaving no unresolved symbols)
                     17: to produce an executable file, or  load module.  A call to one of
                     18: the exec routines can then execute the load module directly.
                     19: 
                     20: The link module begins with a header, which gives global and size
                     21: information about  each segment.  Segments of  the indicated size
                     22: follow  the header  in a  fixed order.   The header  file l.out.h
                     23: defines the header structure for the Z8000 and M68000 as follows:
                     24: 
                     25: 
                     26: struct  ldheader {
                     27:         short     l_magic;
                     28:         short     l_flag;
                     29:         short     l_machine;
                     30:         short     l_tbase;
                     31:         size_t    l_ssize[NLSEG];
                     32:         long      l_entry;
                     33: };
                     34: 
                     35: 
                     36: It describes  the header structure for  the i8086, i8088, i80286,
                     37: and PDP-11 as follows:
                     38: 
                     39: 
                     40: struct  ldheader {
                     41:         int            l_magic;
                     42:         int            l_flag;
                     43:         int            l_machine;
                     44:         vaddr_t        l_entry;
                     45:         size_t         l_ssize[NLSEG];
                     46: };
                     47: 
                     48: 
                     49: l_magic is the magic number that identifies a link module; it al-
                     50: ways contains L_MAGIC.  l_flag contains flags indicating the type
                     51: of the object.  l_machine is the processor identifier, as defined
                     52: in the  header file  mtype.h.  l_tbase is  the start of  the text
                     53: segment.  l_entry contains the machine address where execution of
                     54: the module commences.  l_ssize gives the size of each segment.
                     55: 
                     56: ***** Files *****
                     57: 
                     58: ll.oouutt -- Default load module name
                     59: <l.out.h>
                     60: <mmttyyppee.hh> -- Machine identifiers
                     61: 
                     62: 
                     63: 
                     64: COHERENT Lexicon                                           Page 1
                     65: 
                     66: 
                     67: 
                     68: 
                     69: l.out.h                    Header File                    l.out.h
                     70: 
                     71: 
                     72: 
                     73: ***** See Also *****
                     74: 
                     75: as, cc, COHERENT system calls, core, exec, ld, mtype, nm
                     76: 
                     77: ***** Notes *****
                     78: 
                     79: In  the early  releases  of COHERENT,  the  header structure  was
                     80: defined only as shown above  for i8086.  It was changed to handle
                     81: 32-bit addresses.   In the  future, the header  structure defined
                     82: above for Z8000 and  M68000 machines will be implemented on i8086
                     83: and i80286 systems as well.
                     84: 
                     85: 
                     86: 
                     87: 
                     88: 
                     89: 
                     90: 
                     91: 
                     92: 
                     93: 
                     94: 
                     95: 
                     96: 
                     97: 
                     98: 
                     99: 
                    100: 
                    101: 
                    102: 
                    103: 
                    104: 
                    105: 
                    106: 
                    107: 
                    108: 
                    109: 
                    110: 
                    111: 
                    112: 
                    113: 
                    114: 
                    115: 
                    116: 
                    117: 
                    118: 
                    119: 
                    120: 
                    121: 
                    122: 
                    123: 
                    124: 
                    125: 
                    126: 
                    127: 
                    128: 
                    129: 
                    130: COHERENT Lexicon                                           Page 2
                    131: 
                    132: 

unix.superglobalmegacorp.com

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