[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: working GNU/FreeBSD chroot



On Thu, May 08, 2003 at 01:35:52AM -0400, Nathan Hawkins wrote:
> On Tue, May 06, 2003 at 10:11:42PM +0200, Robert Millan wrote:
> > 
> > - dynamic executables don't work. Glibc's dynamic
> >   linker triggers a "ELF file OS ABI invalid" error
> >   (see [glibc]/elf/dl-load.c) when loading an
> >   executable that is linked against Glibc. i'm
> >   not sure wether the problem is in ld.so, binutils
> >   or libc.so itself.
> > 
> >   the workaround i used for now is to link
> >   everything staticaly, by either using [BOOT_]CFLAGS
> >   variables or a /usr/bin/gcc wrapper.
> 
> This IIRC, was simply a bug in the ld.so. I attach a patch that might
> fix it.

thanks for the patch, though it didn't work. all the hunks were already
applied in my glibc tree (with Bruno's patches).

however, the sysdeps/unix/bsd/bsd4.4/freebsd/i386/readelflib.c file looked
like an update of sysdeps/unix/bsd/bsd4.4/freebsd/readelflib.c. since i
don't know which of them has priority for Glibc, i overwrote the later,
but that didn't solve the linker problem.

on the other hand, i've found that the FreeBSD native linker does work
fine inside the chroot to load dynamic executables with Glibc, so i'm
using that for now.

I found more fun when linking stuff dynamicaly. many programs that worked
well as static like bash or ls now produce SIGBUS errors. did you had
this problem before? if there's no precedent, i'll go through debugging
it, there must be a wrong pointer use in some Glibc function.

also if you have more patches that are not in Bruno's site [1], or
know about more bugs, please tell about them so i can avoid repeating
your work.

P.S: i have perl! :) it basicaly works but segfaults (SIGBUS) when
running /usr/bin/dpkg-*

[1] http://www.haible.de/bruno/gnu-freebsd/

-- 
Robert Millan

make: *** No rule to make target `war'.  Stop.

Another world is possible - Just say no to genocide



Reply to: