README 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. These files are some GNU utilities for operating on binary files.
  2. Note that GNU make, which used to be included here, is now distributed
  3. in a separate tar file.
  4. Report bugs in these programs to bug-gnu-utils@prep.ai.mit.edu and use
  5. the date of the main source file as a "version number" for the
  6. program.
  7. Define USG with `-DUSG' when compiling these programs to run on system V.
  8. COFF is not supported, but we do support a way of encapsulating GNU
  9. executable files with COFF headers. Use -DCOFF_ENCAPSULATE when you
  10. compile, to enable this feature.
  11. In order to use encapsulation, you must use entirely GNU tools,
  12. including these plus GAS, GCC and GDB. You will need to convert the
  13. system libraries to BSD object file format. Use the shell script
  14. libconvert (which uses robotussin) for that.
  15. The GNU version of ld has some interesting features:
  16. 1. Undefined and multiply-defined global symbol errors
  17. are now associated with specific source files and line numbers,
  18. and printed in a format M-x next-error can parse.
  19. 2. Normally no output is written if there are serious errors.
  20. Use the option `-noinhibit-exec' if you want an output file anyway.
  21. 3. Global symbols can be defined by indirection to other symbols.
  22. See comments at definition of N_INDR in ld.c
  23. 4. LD can accumulate sets of related values from all the object files
  24. that are being linked together, and put them into a vector that can
  25. be accessed at run time. Thus, you can arrange for each file to have
  26. initializations to be run when your `main' function sees fit, without
  27. having to know the names of all the files that are linked together.
  28. See comments at definition of N_SETA, etc., in ld.c.