> > I have no idea what I've done different!
I was using mrproper, but I've scripted the whole thing to test all the
combinations from scratch again (with a brand new tree each time - not
just mrproper) and the error only occurs when using the hardened gcc,
and I'm not too bothered about that (it's easy enough to switch, except
in SELinux enforcing mode - but that's another matter...)
So I guess that the patch is good enough as it is.
It is available here:
http://uml.nagafix.co.uk/uml-2.4.32-bs2.patch.bz2
it cumulates:
* 2.4.28-bs2
* offsets for 2.4.32 and removed the whitespace no-change in
drivers/char/tty_io.c.rej
* tiny patch (attached) for tt/Makefile to cope with duplicate symbols
in newer glibc
(done properly this time)
* mconsole-exec patch backported to 2.4:
http://uml.nagafix.co.uk/mconsole-exec.patch-2.4.bz2
(unlike in 2.6 there is no config option for it)
> > How would I go about building a 32-bit pcap enabled kernel in the
> > chroot? Do I copy the pcap.a from outside the chroot?
>
> No, pcap.a is a static library so you don't need that. The problem is that
> you
> need a matching glibc inside the chroot and outside for the libraries which
> are dlopen()ed by glibc, i.e. the whole libnss + helpers called
> by /etc/nsswitch.conf for instance. On my system the linker spits out a
> warning to say that ("You must have the same glibc used for compiling, even
> if you're linking statically").
Same here. I wish it could tell me which ones so I could place them in
the chroot without guessing or tracing it (we have discussed this a
while back)
So in this case, on a multilib amd64 system, I should be able to build a
chroot using a bind mount to preserve /lib32 and /usr/lib32 to guarantee
that the libs are exactly the same? (and add a 32bit bash, gcc, make...)
> > I'll send a patch when the whole thing works.
>
> The patch is for review, and please don't send any whole patch on the ML -
Sure, I meant just the diffs with 2.4.28-bs2!
Antoine
--- linux-2.4.32/arch/um/kernel/tt/Makefile 2005-12-13 03:29:03.000000000 +0000
+++ linux-2.4.32-bs2/arch/um/kernel/tt/Makefile 2005-12-13 03:27:52.000000000 +0000
@@ -26,7 +26,7 @@
include $(TOPDIR)/Rules.make
$(USER_OBJS) : %.o: %.c
- $(CC) $(CFLAGS_$@) $(USER_CFLAGS) -c -o $@ $<
+ $(CC) $(USER_CFLAGS) $(CFLAGS_$@) -c -o $@ $<
$(O_TARGET) : unmap_fin.o
@@ -34,6 +34,7 @@
$(CC) $(UNMAP_CFLAGS) -c -o $@ $<
unmap_fin.o : unmap.o
- ld -r -o $@ $< -lc -L/usr/lib
+ ld -r -o unmap_tmp.o unmap.o -lc -L/usr/lib
+ objcopy unmap_tmp.o unmap_fin.o -G switcheroo
clean :