> Message: 2 Date: Wed, 18 Oct 2006 01:49:46 +0200 From: Blaisorblade <[EMAIL > PROTECTED]> Subject: Re: [uml-user] [newbie] guest compiled with SUBARCH=i386 > in deadloop To: Jeff Dike <[EMAIL PROTECTED]> Cc: Frank Marien <[EMAIL > PROTECTED]>, [email protected] Message-ID: <[EMAIL > PROTECTED]> Content-Type: text/plain; charset="iso-8859-1" On Monday 16 > October 2006 16:52, Jeff Dike wrote: > >>> On Sat, Oct 14, 2006 at 02:52:21AM +0200, Blaisorblade wrote: >> >>>> > Sorry Jeff, here you are wrong (partly because it was me to fix that >>>> > piece, and you never used it, as it seems). I made sure that SUBARCH=i386 >>>> > does everything which is needed to build a working 32bit UML binary, and >>>> > I rarely build UML otherwise - I've used it on Gentoo, Ubuntu 6.06 now >>>> > and for a while on Suse 10.1 (if it was 10.1... - the newest one which >>>> > was available this July). >> >>> >>> OK, I never noticed that - and I never tried a crossbuild (until >>> recently, see below), as you guessed. >>> >>> Andrew recently complained about it not working, and I tried it, >>> getting this very early in the build: >>> >>> In file included from /usr/include/features.h:352, >>> from /usr/include/stdio.h:28, >>> from >>> /home/jdike/linux/2.6/linux-2.6.17/arch/um/sys-i386/user-offsets.c:1: >>> /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or >>> directory >>> >>> When I get compilation errors from inside gcc headers, I get the >>> feeling that either I'm trying something that isn't supposed to work >>> or something is very wrong with gcc. >>> >>> Any ideas? > > > stubs.h redirecting to stubs-32.h? I deduce that stubs.h, on your distro > (Fedora/RH, right?) is (correctly) deciding to use the 32bit version of that > header, and I can suppose it is maybe packaged elsewhere, or that it is > located somewhere else (in this case we have screwed the search path somehow, > even if I can't realize how). > > On my Ubuntu system, stubs.h has no such switch, while /usr/include/asm/* > redirect to either asm-i386 or asm-x86_64 (I remember this also on Gentoo): > > /usr/include/asm/a.out.h > > /* All asm/ files are generated and point to the corresponding > * file in asm-i386 or asm-x86_64. To regenerate, run "generate-asm" > */ > > #ifndef __i386STUB__A_OUT_H__ > #define __i386STUB__A_OUT_H__ > > #ifdef __x86_64__ > #include <asm-x86_64/a.out.h> > #else > #include <asm-i386/a.out.h> > #endif > > #endif /* !__i386STUB__A_OUT_H__ */ > > This is the reason for which I removed -U__i386__ and -U__x86_64__ from > command line for userspace files.
I reported previously that a kernel build before a gcc/glibc update worked and stopped working after a rebuild with the new toolchain. This was a false conclusion. I misnamed a kernel. It was a 64-bit version which worked. So I'm stuck with this. I can build UML just fine (apart for the registers.c patches I need to apply) both with and without SUBARCH=i386, but the latter 32-bit binary won't run on my amd64.. Won't even produce an error. Nothing at all. Just sits there until I interrupt it. Must be something about my system, since I don't see any such cases on this list at all. Always *some* output with the cases on the list. It would be nice if someone could either suggest a possible course of action, something I can test for you guys, where to start looking it you haven't the time, or some statement saying it's not supposed to work.. (like IA32 emulation inside a UML). Prethanks!! Frank. ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ User-mode-linux-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user
