However, I'm still building with the NetBSD gcc/binutils/libc, and I figured that now would be a good time to switch to a Debian "native" compiler. =) To accomplish this, I have binutils configured with --target=alpha-netbsd --prefix=/some/path and compiled with the netbsd-gcc (egcs-1.1.2), which succeeded so far. Now, if I compile a simple C program with # netbsd-gcc -c foo.c and then link it statically with the _new_ binutils and the _original_ netbsd libc, libgcc and crt*.o stuff, it works out. However, if I try to link it dynamically using the original netbsd stuff (in particular ld.elf_so), it segfaults and running it in the debugger gets gdb severely confused. So I guess I'm doing something really wrong here. I'm about to compile a bootstrap gcc (same configure options as binutils plus --with-gnu-* options) that'll use my new binutils, and then have a try at libc with it (in order to produce a new set of crt*.o), but this is more or less fishing in muddy water. Can anybody shed some light on how the i386 gcc/binutils packages were built?
note that the `i386-netbsdelf' target was only recently added to GCC and isn't in any GCC release yet (they ignored my requests to pull it up to 3.0.1 or something, i don't remember now..) i'm also unsure how stable the alpha-netbsd target is in non-gcc-current or non-netbsd source tree. there are issues with ld.elf_so & modern binutils i think it is -- i don't know if the netbsd-1-5 branch has the patches for ld.elf_so or not but i think so. basically as i understand it netbsd/alpha was using a non-standard PLT entry format, and the newer binutils emits something that the old ld.elf_so can't handle and dumps core.