GNU/FreeBSD source pieces
This directory contains some sources and patches that I use for my port
of glibc to FreeBSD. Here is the raw directory listing: ls
-l and ls -lrt.
config-accepted-diffs is a patch to
config..guess, config.sub. It has already been accepted (see ftp://ftp.gnu.org/pub/gnu/config/),
but is here so you can easily patch autoconfiguring packages.
glibc-20021003-diffs and glibc-20021003-diffs.tgz.
These diffs are relative to a CVS glibc snapshot glibc-20021003.tar.bz2,
which is effectively identical to glibc-2.3 with glibc-linuxthreads-2.3
add-on Look at the sysdeps/unix/bsd/bsd4.4/freebsd/README file. Also pick
one of two kernel-includes packages that matches your kernel version:
After unpacking a kernel includes package, you need to cd into it and
run "./patchit" once.
is a patch, relative to the Linux binutils found on ftp://ftp.kernel.org/pub/linux/devel/.
It has been accepted into the CVS binutils.
gcc-3.2-diffs is a patch, relative to the official
gcc-3.2 (yes you need gcc-3.2 now - this version of glibc refuses to compile
with gcc <= 3.1).
gnu-port is the list of steps I'm making to rebuild
the system from source on i386.
gnu-alpha-port [OUTDATED] is the list of steps
I'm making to crosscompile a glibc from source for alpha.
glibc-port [OUTDATED] is a set of personal notes
I make during the glibc port.
The glibc port currently compiles fine for i386 and alpha, and passes
"make check" for i386, except for 3 test failures (tst-dir.c - rewinddir
problem, linuxthreads/ex10 - strange crash, some mtrace thing - __cxa_atexit
I use FreeBSD 4.0, and the kernel-includes come from this version and
from FreeBSD 4.6.
Earlier versions used symbol versioning starting at GLIBC_2.2.6. Now
I use GLIBC_2.3.
This is an incompatible change that breaks all binaries. If
you don't want to rebuild world, you can patch the shlib-versions files
Earlier versions used libc.so.6, libm.so.6. Now I use libc.so.1, libm.so.1.
To keep your old binaries running, you can make symlinks libc.so.6 -> libc.so.1
and libm.so.6 -> libm.so.1 and remove all lib*2..2.90*. (The last step
is so that ldconfig doesn't replace your handmade symlinks by its own).
gdb-5.2.1-diffs or gdb-5.2-diffs
(works only well when compiled with native gcc against native libc),
of strace, better than truss)
libtool-diffs (to be applied to every package
containing a copy of libtool), libtool-1.4.2-diffs
(to be applied to libtool-1.4.2 only)
sh-utils-2.0.11-diffs (note: the coreutils-4.5.1
compile without problems)
pth-1.4.1-diffs (you really don't need this
since linuxthreads works)