64bit Genode and Fiasco.OC
Stefan Kalkowski
stefan.kalkowski at ...1...
Fri Mar 11 16:52:33 CET 2011
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 at ...1...]
>> Sent: Thursday, March 10, 2011 5:38 AM
>> To: genode-main at 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 at 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 at 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 at 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
More information about the users
mailing list