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:
kernel-include-4.0.tar.gz
kernel-include-4.6.tar.gz
After unpacking a kernel includes package, you need to cd into it and
run "./patchit" once.
binutils-2.13.90.0.4-diffs or
binutils-2.12.90.0.14-diffs
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
problem).
I use FreeBSD 4.0, and the kernel-includes come from this version and
from FreeBSD 4.6.
Upgrade:
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
(trivial).
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).
Other ports:
gdb-5.2.1-diffs or gdb-5.2-diffs
(works only well when compiled with native gcc against native libc),
strace-4.4-freebsd.tar.gz (port
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)
bison-1.35-diffs
sh-utils-2.0.11-diffs (note: the coreutils-4.5.1
compile without problems)
tar-1.13.25-diffs
cpio-2.5-diffs
findutils-4.1.7-diffs
diffutils-2.8.1-diffs
m4-1.4o-diffs
make-3.79.2a1-diffs
ncurses-5.2-diffs
sharutils-4.3.72-diffs
pth-1.4.1-diffs (you really don't need this
since linuxthreads works)
gmp-4.0.1-diffs
gdbm-1.8.0-diffs
db-4.0.14-diffs
pciutils-2.1.9-diffs
perl-5.8.0-diffs
ElectricFence-2.2.2-diffs
ash-freebsdgnu-diffs
gdbm-1.8.2-diffs
libxml-1.8.16-diffs
libxml2-2.4.12-diffs
mktemp-1.5-diffs
patch-2.5.4-diffs
pcre-3.9-diffs
sash-3.4-diffs
texi2roff-2.0-freebsd-diffs
zlib-1.1.3-diffs
ndbm.tar.gz
-- Bruno