> > 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 :