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