Hi Daniel, On 03/11/2011 05:39 PM, Daniel Waddington wrote: > Hi Stefan, > I didn't realize that the linux_x86 would build with the 64bit > compiler.
in fact, it doesn't chooses the compiler, but which include pathes and assembler-files to use. The build-system simply uses the compiler found at '/usr/local/genode-gcc/bin/genode-x86-...' by default, and uses its default target. So if you have installed a compiler, which targets only 32bit or 64bit, of course you can only build for that platform. Unfortunately, our 'toolchain'-script produces a compiler, that only targets the underlying platform, and not both (the pre-compiled version targets 32bit only). We'll fix that issue, and thereby use -m<arch> switches for building Genode to circumvent such problems in the future. By now, a preliminary solution for you might be to install both compiler variants, and tell Genode's build-system which compiler to use, by overriding the following variable in 'etc/tools.conf': CROSS_DEV_PREFIX = /usr/local/genode-gcc/bin/genode-gcc- By stating compiler and spec-variables explicitly, you should be able to build all platforms in the same environment. Regards Stefan > 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:[email protected]] >>>> Sent: Thursday, March 10, 2011 5:38 AM >>>> To: [email protected] >>>> 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 >>>>> [email protected] >>>>> 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 >>>> [email protected] >>>> 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 >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/genode-main >>> > > -- > > *Daniel G. Waddington Ph.D. C.Sci. **| **Samsung Information Systems > America (SISA)* > > Principal Engineer/Research Manager, Systems Research Group, Computer > Science Lab > > t: 408-544-5675 f: 408-544-5540 c: 408-890-0479 > > [email protected] <mailto:[email protected]> > > * ****P*lease consider the environment before printing this email. > > > > This message is intended only for the named recipient(s) above and may > contain confidential or privileged informat ion or protected attorney > work product. If you are not the intended recipient, any review, > dissemination, distribution or copying is strictly prohibited. If you > have received this message in error, please immediately notify the > sender and delete this message and its attachments from your computer > and dispose of all other copies or printouts. Thank you. > > > > > > ------------------------------------------------------------------------------ > 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 > [email protected] > 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 [email protected] https://lists.sourceforge.net/lists/listinfo/genode-main
