Looks like the problem is only specific to ..
./os/src/drivers/audio_out
./os/src/drivers/nic

everything else builds 32bit version on 64bit host platform.

Sorry for the excess traffic. I'll be getting black balled from this list.

Daniel


On 03/14/2011 09:46 AM, Daniel Waddington wrote:
It looks like I need to add -m32 -L/usr/lib32 to the linux-compiled build flags - not sure how to do this, CC_OPT doesn't seem to percolate through.

Daniel


On 03/12/2011 04:11 AM, Norman Feske wrote:
Hi David,

as outlined by Stefan, the 'linux_x86' platform looks for the host
system and automatically decides whether to build for 32bit or 64bit. If
the host system is 64bit, then Genode is built for 64bit. This is
because our only current use case for the linux version is running
Genode on the host. However, in your case, this causes trouble.

I'll try to briefly describe what is going on: You can find the
detection-magic at 'base-linux/etc/specs.conf'. Depending on the host
system, the 'spec.conf' file will set the 'linux_x86_64' or
'linux_x86_32' spec value, which triggers the inclusion of
'base-linux/mk/spec-linux_x86_32.mk' or
'base-linux/mk/spec-linux_x86_64.mk' respectively. In these files, the
spec value 'x86_32' (or 'x86_64') get defined, which gets further broken
up in 'base/mk/spec-x86_32.mk' (analogously for 64bit). This spec file
adds the '32bit' spec value. If you like to peek onto the result of the
successive spec decomposition, you might add the following line to
'<build-dir>/Makefile' (right after the 'export SPECS' line:

  $(warning SPECS=$(SPECS))

As Stefan already mentioned, you can override the default SPECS
definition by a custom '<build-dir>/etc/specs.conf' file. Note the use
of the assignment in contrast to the version found in
'base-linux/etc/specs.conf'.

I tried to force LIB_MK to the right syscall.mk but it then followed 
with a load of redefinition errors.  Below is the make VERBOSE_DIR= output.

...
/home/dwaddington/git/omnios/genode/base-linux/../base-linux/sr
/platform/x86_64/lx_clone.S:21:
Error: bad register name `%rsi'
It seems that the build system has not picked up your custom SPECS
definition and still tries to use the SPECS as defined in
'base-linux/etc/specs.conf'. Hence, the build system keeps trying to
build the 64bit code with the 32bit compiler. As a quick work-around,
just to see if the code works, you may modify the
'base-linux/etc/specs.conf' file. But we should investigate why the
build system ignores your '<build-dir>/etc/specs.conf' file. Could I
have a look at your version of the file?

Best regards
Norman


--

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...

   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

--

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...

   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.