Stefan, Sorry, I should have clarified that I am using the tools.conf already to set the compiler prefix to the right compiler. Still didn't help ;-( Daniel
On 03/11/2011 09:07 AM, Stefan Kalkowski wrote:
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: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
--
*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
d.waddington@...60...mailto:d.waddington@...60...
- ****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 Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main