


ld86(1)                                                   ld86(1)


NAME
       ld86 - Linker for as86(1)

SYNOPSIS
       ld86   [-03MNdimrstz[-]]   [-llib_extension]  [-o outfile]
       [-Ccrtfile]    [-Llibdir]     [-Olibfile]     [-Ttextaddr]
       [-Hheapsize] [-Ddataaddr] infile...


DESCRIPTION
       This  linker understands only the object files produced by
       the as86 assembler, it can link them into either an impure
       or a separate I&D executable.

       The linking defaults are everything off or none except for
       -0 and the output file is a.out.  There is not a  standard
       library location defined in the linker.


OPTIONS
       -0     produce header with 16-bit magic

       -3     produce header with 32-bit magic

       -d     delete  the  header  from the output file, used for
              MSDOS  COM  files.  As  a  side  effect  this  also
              includes  -s  as  there's  nowhere  to put a symbol
              table.

       -Cx    add file libdir-from-search/crtx.o to list of files
              linked

       -D     data  base  address follows (in format suitable for
              strtoul)

       -H     the top of heap (initial stack) address (in  format
              suitable for strtoul)

       -Lx    add  dir  name x to the head of the list of library
              dirs searched

       -M     print symbols linked on stdout

       -N     Create a native Linux OMAGIC output  file.  If  the
              contents  are  i386  code  the binary can be either
              linked by GCC or executed by linux.

       -Ox    add library libdir-from-search/x to list  of  files
              linked

       -T     text  base  address follows (in format suitable for
              strtoul)

       -i     separate I&D output



                            Jan, 1997                           1





ld86(1)                                                   ld86(1)


       -lx    add library libdir-from-search/libx.a  to  list  of
              files linked

       -m     print modules linked on stdout

       -o     output file name follows

       -s     strip symbols

       -r     Generate  a  relocatable  object  from  one  source
              object, note this only works when  creating  native
              (-N) binaries.

       -t     trace modules being looked at on stdout

       -z     produce "unmapped zero page" executables

       All  the  options not taking an argument may be turned off
       by following the option letter by a '-', as for cc1.

HISTORY
       The 6809 version does not support -i.

       The previous versions of the linker could produce an  8086
       executable  with  segments  of  a size >64k, now only i386
       executables may have segments this large.

       The output format for the -r option has changed.


BUGS
       The linker cannot deal with reverse seeks  caused  by  org
       instructions  in the object file. Unlike previous versions
       the current one traps the error rather than trying to fill
       up the hard disk.






















                            Jan, 1997                           2


