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

Reply via email to