Q. Is the lcc source tree available in a Subversion repository?
A. Yes; the CVS repository mentioned below has been migrated to Subversion and is now the ‘official’ lcc repository. This repository is hosted at drh.svnrepository.com. The command
svn co http://drh.svnrepository.com/svn/lcc/trunk lcc
creates the directory lcc and populates it with the latest revision from the source tree. You can also browse the complete repository tree.
Q. Is the lcc source tree available via anonymous CVS?
A. Yes, but the CVS repository is now frozen in favor of the Subversion repository described above. The CVS repository is hosted at cvs.cs.princeton.edu. The command
cvs -d :ext:anon-lcc@cvs.cs.princeton.edu:/cvs co -d lcc .
creates the directory lcc and populates it from the source tree. This command is equivalent to the commands
mkdir lcc
cd lcc
cvs -d :ext:anon-lcc@cvs.cs.princeton.edu:/cvs co .
Hit return if you're prompted for a password, and ignore diagnostics about missing home directories. Visit http://cvs.cs.princeton.edu for more information about the Princeton CVS server.
Q. What backends come with lcc?
A. The distribution on ftp.cs.princeton.edu in /pub/packages/lcc includes code generators for the ALPHA (DEC OSF/1), SPARC (Solaris), MIPS R3000 (SGI Irix), and X86 (Windows 95/98/NT and Linux). Backends for some other targets are available in /pub/packages/lcc/contrib, which holds user-contributed software and documentation.
Q. What happened to the SunOS (SPARC) and DEC Ultrix (MIPS) backends for lcc 4.1?
A. These backends are still supported and are included in the distribution, but the test baselines (sparc/sun/tst and mips/ultrix/tst) and the driver support files (etc/sun.c and etc/ultrix.c) are not included in the 4.1 distribution, because we no longer have access to these systems. You can use the 4.0 driver support files with 4.1.
Q. Is there a version of the X86 backend for Linux?
A. Yes; version 4.1 of lcc supports the X86 running Linux; it's been tested on both RedHat 5.1 and Slackware 3.4. Be warned: lcc version 4.1 uses a different, but similar code generation interface (PDF 256K) than the one described in the book and used in lcc version 3.x.
Q. Does lcc support the long long type?
A. Yes, lcc 4.1 supports long long, but all of its backends currently use the same representation for long and long long, i.e., 32 bits on 32-bit targets and 64 bits on 64-bit targets.
Q. What about licensing lcc or parts of it for commercial use?
A. See the copyright notice. Per-copy and unlimited use licenses are available; for more information, contact
Kim Boedigheimer
Addison Wesley
75 Arlington St., Suite 300
Boston, MA 02116
617/848-6559 kim.boedigheimer@pearsoned.com
Q. How to I report a bug?
A. See Reporting Bugs in the installation guide.
Q. Is there a list of typos in the first and second printings of the book?
A. Yes; see the errata for the first and second printings.
Q. Has anyone reviewed A Retargetable C Compiler: Design and Implementation?
A. Yes; here is a review that was posted to comp.compilers on 4/28/95.
Q. Is there any documentation on those parts of lcc that are not covered in A Retargetable C Compiler: Design and Implementation?
A. Yes, sort of; see the additional documentation WWW page.