Subject: Re: Shared-library snapshot on ftp.netbsd.org
To: Erik Bertelsen <erik@sockdev.uni-c.dk>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: port-pmax
Date: 11/17/1996 11:52:31
>Have binutils and/or gcc been modified from their FSF releases to
>do this ?

gcc has been changed. The diffs are in the tree -- albeit in a wrong
and broken way -- so that anyone who wants to can try rebuilding this
gcc.

I also recently replaced one source file in binutils 2.7:
bfd/elf32-mips.c.   (This works around ld coredumping when
linking against the constructor functions in libgcc.a.)

The replacement source file is in the ~ftp/pub/NetBSD/arch/pmax/toolchain/
directory on ftp.netbsd.org.

One more thing that isn't in the NetBSD tree yet,  is the changes to
/usr/share/mk to build and use shared libraries on mips systems.
For anyone who feels inclined to rebuild a shared-lib userland
themselves, Manuel Bouyer's patches to /usr/src/share/mk/ are a good
starting point.

I haven't yet committed them because, with the shared-lib  toolchain,
they bloat static binaries  by up to 45%.  (or a total of about
_twice_ the  a.out sizes of the obsolete 0.9-ish a.out toolchain).
That makes /sbin/ and /bin too big to fit into my root partition.

One solution to that would be to require users to specify -static
(or -Bstatic) when compiling static binaries, and to compile
non-profiled, non-shared libraries as non-PIC.

I don't know if that's worth the pain, and incompatiblity with
other NetBSD ports (e.g., for Makefiles), though.