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.


Reply via email to