GNU libc snapshots work again on the Hurd
Hi,
Good news. As of 2.0.105, the pre 2.1 GNU libc snapshots work again
on the Hurd. You can find it on alpha.gnu.org, and it should
cross-compile (almost) without problems. Native compilation is still
untested, but should also work, except for the installation, which
will probably not work because the statically linked sln program will
not work. Here are some thinks you should be aware of:
* Sometimes libhurduser.so gets built incorrectly. It happens for me
if I do a build from scratch, and randomly when I don't. Removing
the bogus libhurduser.so and running make again should solve the
problem.
* There is a problem with generating statically linked binaries. You
will need to patch you gcc specs file. I use the patch at the end
of this message for gcc 2.8.1. Remeber to backup your specs file.
We intend to provide a better solution for the problem in the future
which does not need this patch.
* You need a recent Hurd. The version in CVS is fine, and I will ask
Roland to make a new snapshot that works. Compiling & running older
Hurd versions will fail because with the introduction of symbol
versioning in GNU libc 2.1 we don't export all Hurd-specific
symbols. Ordinary user programs are not affected. There should be
no need to recompile those. When you recompile your hurd, remeber
to change the gcc specs (to your cross-compiler if you're
cross-compiling).
Keep in mind that upgrading libc is not an easy operation. Please
backup your old libc & hurd before running make install.
Mark
--- specs~ Sun Sep 6 00:07:27 1998
+++ specs Thu Oct 1 18:54:29 1998
@@ -26,7 +26,7 @@
-lgcc
*startfile:
-%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}
+%{!shared: %{!static: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} %{static:crt0.o%s}} crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}
*switches_need_spaces:
Reply to: