<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
> >><br>> >>> I built that on opensolaris (so sparc64) with gcc 4.5.2. No<br>> >>> cross-compiler needed, although the config script thinks I'm using one.<br>> >><br>> >> Ah that will probably be the problem - config/script/switch-arch contains<br>> >> the logic which detects how NATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH and<br>> >> SWAP_ENDIANNESS should be set and adds them to CFLAGS in Makefile.target as<br>> >> appropriate.<br>> >><br>> > OK. I'll start looking to see how to change that for by build environment.<br>> <br>> What does 'uname -m' report on your machine? We only check for<br>> sun4u/sparc64 or sparc/sparc32.<br>> <br><br>nathan@valhalla:/export/home/nathan/$ uname -m<br>sun4u<br>nathan@valhalla:/export/home/nathan/$ uname -mpi<br>sun4u sparc sun4u<br><br>From SVN, the switch-arch script thinks it has to use a cross-compiler:<br><br>nathan@valhalla:/export/home/nathan/openbios-devel$ env LANG=C sh -x ./config/scripts/switch\-arch sparc32<br>+ MOLPATH=/export/home/nathan//mol-0.9.71<br>+ [ xsparc32 = x -o sparc32 = -help ]<br>+ test -f utils/dist/debian/rules<br>+ chmod 755 utils/dist/debian/rules<br>+ chmod 755 config/scripts/switch-arch<br>+ chmod 755 config/scripts/reldir<br>+ test x = x<br>+ archname<br>+ + head VERSION<br>VERSION=1.0<br>+ echo Configuring OpenBIOS on sparc64 for sparc32<br>Configuring OpenBIOS on sparc64 for sparc32<br>+ target_list=<br>+ target_list= builtin-sparc32 unix-sparc32<br>+ arch_list=<br>+ + echo builtin-sparc32<br>+ sed s/.*-//g<br>arch=sparc32<br>+ test -f config/examples/sparc32_config.xml<br>+ grep -q sparc32<br>+ echo<br>+ arch_list= sparc32<br>+ + echo unix-sparc32<br>+ sed s/.*-//g<br>arch=sparc32<br>+ test -f config/examples/sparc32_config.xml<br>+ grep -q sparc32<br>+ echo sparc32<br>+ unix=no<br>+ builtin=no<br>+ plain=no<br>+ mol=no<br>+ briq=no<br>+ pearpc=no<br>+ qemu=no<br>+ xbox=no<br>+ cross=no<br>+ :<br>+ builtin=yes<br>+ :<br>+ [ sparc32 != sparc64 ]<br>+ continue<br>+ BASEARCH=sparc32<br>+ select_prefix sparc<br>ERROR: no sparc cross-compiler found !<br><br>I got around that by adding the suffix my build of gcc is using:<br><br>--- config/scripts/switch-arch  Thu Apr 28 17:18:40 2011<br>+++ config/scripts/switch-arch-works    Sat Apr 23 20:21:29 2011<br>@@ -97,7 +101,7 @@<br><br> select_prefix()<br> {<br>-    for TARGET in ${1}-linux-gnu- ${1}-linux- ${1}-elf- ${1}-eabi-<br>+    for TARGET in ${1}-linux-gnu- ${1}-linux- ${1}-elf- ${1}-eabi- ${1}-sun-solaris2.11-<br>     do<br>         if type ${TARGET}gcc > /dev/null 2>&1<br>         then<br><br>I'm not sure if that is the best way to get it to use the native compiler. I can't think of a reason my sparc64 build tools couldn't build the sparc32 image.<br><br>Thanks,<br>Nathan<br>                                           </body>
</html>