Hi Stefan, I didn't realize that the linux_x86 would build with the 64bit compiler. This now works fine on a 64bit host. However, I couldn't get the 32bit compiler to work with your suggested SPECS flags though - it still trys to compile the 64bit version.
Daniel
On 03/11/2011 07:52 AM, Stefan Kalkowski wrote:
Hi Daniel,
On 03/11/2011 04:29 PM, Daniel Waddington wrote:
Hi Stefan, Good news is that the x86_64 build seemed to work. Bad news is that it *may* have broken the linux_x86 build...see below. You might want to check this yourself.
I don't think this has something to do with the 64-bit patch for Fiasco.OC.
I guess you tried to build Genode's Linux version on a 64-bit system with Gendode's 32-bit toolchain.
The Genode build system uses some heuristic to determine which Linux version to build for you, by analyzing the underlying system, so it tries to build a 64-bit version for you, while using a compiler targeting 32-bit. To circumvent this heuristic, you can explicitly state in the 'etc/specs.conf' to build the 32-bit version:
SPECS = genode linux_x86_32 sdl
or change the compiler to target 64bit.
I hope that helps.
Best regards. Stefan
Thanks Daniel
Library thread Library signal Library syscall COMPILE lx_clone.o /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S: Assembler messages: /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:21: Error: bad register name `%rsi' /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:22: Error: bad register name `%rcx' /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:26: Error: bad register name `%rdi' /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:29: Error: bad register name `%rdx' /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:30: Error: bad register name `%r8' /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:31: Error: bad register name `%r9' /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:32: Error: bad register name `%rsp)' /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:40: Error: bad register name `%rax' /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:50: Error: bad register expression /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:57: Error: bad register name `%rax' /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:58: Error: bad register name `%rdi' /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:59: Error: bad register name `%rax' /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:61: Error: bad register name `%rax' /home/dwaddington/git/omnios/genode/base-linux/../base-linux/src/platform/x8 6_64/lx_clone.S:62: Error: bad register name `%rax' make[2]: *** [lx_clone.o] Error 1 make[1]: *** [syscall.lib] Error 2 make: *** [gen_deps_and_build_targets] Error 2
-----Original Message----- From: Stefan Kalkowski [mailto:stefan.kalkowski@...1...] Sent: Thursday, March 10, 2011 5:38 AM To: genode-main@lists.sourceforge.net Subject: Re: 64bit Genode and Fiasco.OC
Hello Daniel,
Now, the Fiasco.OC/Genode variant is 64-bit ready. Please, checkout the last revision from our subversion repository. You need to create a new build-directory with the 'create_builddir' tool. There are new platform-specifications available to it, namely: 'foc_x86_32' and 'foc_x86_64'.
Alternatively, you might place a 'specs.conf' file in the 'etc' directory of an existing Fiasco.OC/Genode build-directory, and put the following line into it:
SPECS = genode foc_x86_64
Moreover, you've to build a 64-bit version of a Genode-compliant gcc by yourself. This is simply done by executing, the 'toolchain' script in Genode's 'tool' directory:
toolchain all
This will build gcc for 64-Bit (when executed in 64-bit Linux). You have to install MPFR, GMP, MPC, PPL, and CLooG development libraries beforehand. The resulting tool-chain gets installed at '/usr/local/genode-gcc'.
I hope that helps.
Best regards Stefan
On 03/04/2011 01:33 AM, Daniel Waddington wrote:
Hi,
Is Genode+Fiasco.OC x86_64 known not to work? After various fiddling about with include files, and –m64 flags I got as far as the
following..
Thanks
Daniel
Program drivers/framebuffer/vesa/vesa_drv
COMPILE decode.o COMPILE fpu.o COMPILE framebuffer.o COMPILE hw_emul.o COMPILE ifx86emu.o COMPILE&n> COMPILE ops.o COMPILE ops2.o COMPILE prim_ops.o COMPILE sys.o LINK vesa_drv
ifx86emu.o: In function `unsigned int inx<unsigned int>(unsigned
short)':
ifx86emu.cc:(.text+0x4c8): undefined reference to `bool hw_emul_handle_port_read<unsigned int>(unsigned short, unsigned
int*)'
ifx86emu.o: In function `void outx<unsigned int>(unsigned short, unsigned int)':
ifx86emu.cc:(.text+0x649): undefined reference to `bool hw_emul_handle_port_write<unsigned int>(unsigned short, unsigned
int)'
collect2: ld returned 1 exit lass=MsoNormal>make[2]: *** [vesa_drv]
Error 1
make[1]: *** [vesa_drv.prg] Error 2
make: *** [gen_deps_and_build_targets] Error 2
What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d
Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
-- Stefan Kalkowski Genode Labs
http://www.genode-labs.com/ · http://genode.org/
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Colocation vs. Managed Hosting A question and answer guide to determining the best fit for your organization - today and in the future. http://p.sf.net/sfu/internap-sfd2d _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Colocation vs. Managed Hosting A question and answer guide to determining the best fit for your organization - today and in the future. http://p.sf.net/sfu/internap-sfd2d _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main