These files are some GNU utilities for operating on binary files.
Note that GNU make, which used to be included here, is now distributed
in a separate tar file.

Report bugs in these programs to bug-gnu-utils@prep.ai.mit.edu and use
the date of the main source file as a "version number" for the
program.

Define USG with `-DUSG' when compiling these programs to run on system V.

COFF is not supported, but we do support a way of encapsulating GNU
executable files with COFF headers.  Use -DCOFF_ENCAPSULATE when you
compile, to enable this feature.

In order to use encapsulation, you must use entirely GNU tools,
including these plus GAS, GCC and GDB.  You will need to convert the
system libraries to BSD object file format.  Use the shell script
libconvert (which uses robotussin) for that.

The GNU version of ld has some interesting features:

1. Undefined and multiply-defined global symbol errors
are now associated with specific source files and line numbers,
and printed in a format M-x next-error can parse.

2. Normally no output is written if there are serious errors.
Use the option `-noinhibit-exec' if you want an output file anyway.

3. Global symbols can be defined by indirection to other symbols.
See comments at definition of N_INDR in ld.c

4. LD can accumulate sets of related values from all the object files
that are being linked together, and put them into a vector that can
be accessed at run time.  Thus, you can arrange for each file to have
initializations to be run when your `main' function sees fit, without
having to know the names of all the files that are linked together.
See comments at definition of N_SETA, etc., in ld.c.
