Subject: I've been playing with GCC 3.2/3.2.1
To: None <tech-toolchain@netbsd.org>
From: Lloyd Parkes <lloyd@must-have-coffee.gen.nz>
List: tech-toolchain
Date: 01/09/2003 12:21:37
Just some random thoughts, and commentary on a couple of speed bumps.
I have ld from binutils 2.13 installed in /usr/local/bin and GCC 3.2.1
installed in /usr/local/.... I have deleted /usr/bin/gcc, /usr/bin/g++,
/usr/local/bin/cc and /usr/local/bin/c++. This gives me a system C compiler
called cc and the GNU addon called gcc, just like every other computer I use.
This distinction becomes important because of ABI changes in C++ (not that I
know what those changes are).
The C compiler seems to work really well. At least one codegen bug has been
fixed, and I'm going to start checking one or two other codegen bugs I found
in 2.95.3.
The C++ compiler seems to have a problem because binaries it builds use
libgcc, and it looks as if the shared version of libgcc is built with non-PIC
code. The error I get is 'Undefined symbol "" (reloc type = 12, symnum = 21)',
but I haven't bothered trying to find out what this means. Using
-static-libgcc works, and I have noticed that libgcc.mk seems to use the same
.o files for libgcc.a and libgcc_s.so.1.
The NetBSD gcc prints out its version number as '2.95.3' while GCC 3.2.1
prints several lines of text and warranty information. This causes
pkgsrc/lang/gcc/buildlink2.mk to become unhappy.
Cheers,
Lloyd