LD
==

What
~~~~

ld is a small wrapper for the ARM/RISC OS linker, called drlink, we are
using in GCCSDK.  Users shouldn't invoke ld directly but use 'gcc' to
do the final linking.


Environment variables
~~~~~~~~~~~~~~~~~~~~~

By setting certain environment (system) variables you can control the
behaviour of 'ld':

TLINK_VERBOSE:
  When defined, it should be an integer which with increased value gives
  more verbose output.

      0: no verbose output
   >  0: log ld version number
  >=  1: log recompile (if necessary)
  >=  2: log opening repo file
  >=  3: log command line to execute
  >=  4: log opening via file; demangling symbol names
  >=  5: log ld progress
  >=  7: log temporary file creation
  >= 15: don't remove temporary files

TLINK_CX11
  When defined (value unimportant) and the X11 library is in the link line,
  replace the X11 library with ChoX11 library and add DeskLib library as well.

TLINK_EXTRA
  When defined, its value specifies extra command line arguments for the
  invoked linker.

TLINK_MEMCHECK [only in cross-compile environment]
  "" or "fortify"
    Add the Fortify library and edit the memory allocation routines so that
    the running the resulting executable get its memory allocation and usage
    checked.

  "dmalloc" (http://dmalloc.com/)
    Add the Dmalloc library and edit the memory allocation routines so that
    the running the resulting executable get its memory allocation and usage
    checked.  Use the dmalloc executable to determine the DMALLOC_OPTIONS
    environment variable value suited for current memory debugging.

  Note this currently only works when the UnixLib run-time library is
  used.

TLINK_STRICT
  When defined (value unimportant), pass the option -strict to the linker.

COLLECT_GCC
COLLECT_GCC_OPTIONS
  Deprecated debugging values.  These have little practical use.

COLLECT_NO_DEMANGLE
  If defined, don't demangle C++ symbols reported by drlink

GCC$Linker [not applicable for cross-compile environment]
  When defined, its value specifies the underlying linker to be used
  allowing e.g. the Norcroft linker to be used instead of the standard
  GCCSDK drlink linker.

Note the libm, libc, libpthread and libdl libraries are not passed to
the underlying linker, since these are all implied by UnixLib.


Copyright
~~~~~~~~~

Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004 Nick Burrett
Copyright (C) 2005, 2006 GCCSDK Developers

Written by Nick Burrett (nick@sqrt.co.uk) and licensed under GPL v2.

-EOF-