


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, if the linker is given the -N  option  also
              the  output  format will be the hosts native format
              if possible.

       -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.


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.

       The linker produces a broken a.out object  file  if  given
       one  input  and  the -r option this is so it is compatible
       with pre-dev86 versions.



















                            Jan, 1997                           2


