From: Luca S. <Luc...@li...> - 2011-10-24 15:02:50
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, we are the developers of Marionnet (http://www.marionnet.org). Sorry for asking such an obvious question, but we couldn't find any information on the official documentation: how do we cross-compile a UML kernel for a 32-bit x86 machine on an x86-64 machine? Since from the point of view of the kernel build system UML is an architecture, I couldn't find a way of specifying the actual *CPU* architecture to use: I tried to pass -m32 within the CFLAGS, but that doesn't suffice: in the end we get errors such as ake: *** [arch/um/os-Linux] Error 2 arch/um/sys-i386/setjmp.S: Assembler messages: arch/um/sys-i386/setjmp.S:27: Error: invalid instruction suffix for `pop' arch/um/sys-i386/setjmp.S:31: Error: invalid instruction suffix for `push' make[1]: *** [arch/um/sys-i386/setjmp.o] Error 1 arch/um/sys-i386/stub.S: Assembler messages: arch/um/sys-i386/stub.S:28: Error: operand type mismatch for `pop' arch/um/sys-i386/stub.S:31: Error: operand type mismatch for `pop' arch/um/sys-i386/stub.S:32: Error: operand type mismatch for `pop' arch/um/sys-i386/stub.S:33: Error: operand type mismatch for `pop' arch/um/sys-i386/stub.S:34: Error: operand type mismatch for `pop' arch/um/sys-i386/stub.S:35: Error: operand type mismatch for `pop' arch/um/sys-i386/stub.S:36: Error: operand type mismatch for `pop' arch/um/sys-i386/stub.S:42: Error: operand type mismatch for `pop' , showing that at least some data width mismatch still happens. Notice that the error is at compile time, rather than link time. I'm sure a clean solution exists, but I can't seem to find it at the moment; I suppose it should also be a frequent question... Thanks for your time (and for UML), - -- Luca Saiu http://www-lipn.univ-paris13.fr/~saiu GNU epsilon: http://www.gnu.org/software/epsilon Marionnet: http://www.marionnet.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6leXIACgkQvzOavibF0obb2wCfc6pIMDRjCo+5r2hGiRLdTB3u pKEAoIsPLoQ3p0QI4tdyFM6a6eQwx5tv =VgfJ -----END PGP SIGNATURE----- |
From: richard -r. w. <ric...@gm...> - 2011-10-24 16:47:35
|
On Mon, Oct 24, 2011 at 4:42 PM, Luca Saiu <Luc...@li...> wrote: > Sorry for asking such an obvious question, but we couldn't find any > information on the official documentation: how do we cross-compile a UML > kernel for a 32-bit x86 machine on an x86-64 machine? > Try: make linux ARCH=um SUBARCH=i386 -- Thanks, //richard |
From: Luca S. <Luc...@li...> - 2011-10-24 17:43:08
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/24/2011 06:47 PM, richard -rw- weinberger wrote: > Try: > > make linux ARCH=um SUBARCH=i386 I didn't know SUBARCH; silly me. Thanks for your quick response! :-) - -- Luca Saiu http://www-lipn.univ-paris13.fr/~saiu GNU epsilon: http://www.gnu.org/software/epsilon Marionnet: http://www.marionnet.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6lo1wACgkQvzOavibF0oZlcACcDBAjQLUnplMTMFqgK7pV4dIS xN4AoIfFf5CJuG1mZ/ui7dcuqr913ttV =cTkE -----END PGP SIGNATURE----- |