Readme
上传用户:yuppie_zhu
上传日期:2007-01-08
资源大小:535k
文件大小:2k
源码类别:

编译器/解释器

开发平台:

C/C++

  1. This directory contains the necessary files to port the C compiler
  2. ``LCC'' (available by FTP from sunsite.doc.ic.ac.uk in the directory
  3. /computing/programming/languages/c/lcc) to compile for Linux (a.out or
  4. ELF) or other supported operating systems by using NASM as a back-end
  5. code generator.
  6. This patch has been tested on lcc version 4.0.
  7. To install:
  8. - Copy `x86nasm.md' into the `src' directory of the lcc tree.
  9. - Copy either `lin-elf.c' or `lin-aout.c' into the `etc' directory.
  10. - With previous versions, you had to modify x86-nasm.md if you weren't
  11.   using ELF.  There is now inbuilt support within NASM in the shape
  12.   of the __CDECL__ macro, so this modification is no longer necessary.
  13. - Make the following changes to `bind.c' in the `src' directory:
  14.   - Near the top of the file, add a line that reads
  15. extern Interface x86nasmIR;
  16.   - In the `bindings' array, add the lines
  17.         "x86-nasm",      &x86nasmIR,
  18.         "x86/nasm",      &x86nasmIR,
  19.     (in sensible looking places...)
  20.   A sample `bind.c' has been provided to show what the result of
  21.   this might look like. You might be able to get away with using it
  22.   directly...
  23. - Modify the lcc makefile to include rules for x86nasm.o: this will
  24.   have to be done in about three places. Just copy any line with
  25.   `x86' on it and modify it to read `x86nasm' everywhere. (Except
  26.   that in the list of object files that rcc is made up from, do
  27.   remember to ensure that every line but the last has a trailing
  28.   backslash...)
  29. - You may have to modify the contents of `lin-elf.c' or `lin-aout.c'
  30.   to reflect the true locations of files such as crt0.o, crt1.o,
  31.   ld-linux.so and so forth. If you don't know where to find these,
  32.   compile a short C program with `gcc -v' and see what command line
  33.   gcc feeds to `ld'.
  34. - You should now be able to build lcc, using `lin-elf.c' or
  35.   `lin-aout.c' as the system-dependent part of the `lcc' wrapper
  36.   program.
  37. - Symlink x86nasm.c into the `src' directory before attempting the
  38.   triple test, or the compile will fail.
  39. - Now it should pass the triple test, on either ELF or a.out. Voila!