[OpenBIOS] [commit] r969 - in trunk/openbios-devel/arch: ppc/qemu ppc64/qemu

Andreas Färber andreas.faerber at web.de
Sat Nov 27 02:16:19 CET 2010


Am 26.11.2010 um 20:52 schrieb Blue Swirl:

> On Thu, Nov 25, 2010 at 10:04 PM, Andreas Färber <andreas.faerber at web.de 
> > wrote:
>> Starting with [r969],
>>
>> qemu-system-ppc64 -bios .../obj-ppc64/openbios-qemu.elf -prom-env
>> 'auto-boot?=false'
>>
>> should take you to the Forth prompt.
>
> I still get this:
>  GEN   bootstrap.dict
> panic: segmentation violation at 0x9034862c
> dict=0x2aae90348010 here=0x2aae90348638(dict+0x628) pc=0x0(dict 
> +0x6fcb7ff0)
> dstackcnt=0 rstackcnt=0 instruction=deadbeef
> dstack: 0x0
> rstack: 0x0
> Writing dictionary core file
>
> This happens on a 64 bit host, but not on a 32 bit host.

So I guess it might be an issue with the HOST_EQUALS_NATIVE_BITWIDTH  
path? The addresses are not confined to lower 32 bits so cannot be  
saved in ucells.

> I built forthstrap on a 32 bit host to get further, but then I got:
>  LINK  openbios-qemu.elf
> libqemu.a(init.o): In function `go':
> /src/openbios-devel/obj-ppc64/../arch/ppc/qemu/init.c:533: undefined
> reference to `.call_elf'
[snip]

Sounds as if -m32 or the like is being passed to powerpc64-linux-ld?  
Dotted symbols only get generated for ppc64 target.

> This is with powerpc64-linux-gcc compiler:
> $ powerpc64-linux-gcc -v
> Using built-in specs.
> COLLECT_GCC=powerpc64-linux-gcc
> COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/powerpc64-linux/4.6.0/lto- 
> wrapper
> Target: powerpc64-linux
> Configured with: ../configure --target=powerpc64-linux
> --enable-targets=powerpc64-linux --disable-nls --disable-threads
> --enable-languages=c --disable-shared --disable-libssp
> --disable-multilib --disable-decimal-float
> Thread model: single
> gcc version 4.6.0 20100925 (experimental) (GCC)

I used:

$ powerpc64-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=powerpc64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/Users/andreas/QEMU/OpenBIOS/bin/libexec/gcc/ 
powerpc64-linux-gnu/4.5.1/lto-wrapper
Target: powerpc64-linux-gnu
Configured with: ../gcc-4.5.1/configure --prefix=/Users/andreas/QEMU/ 
OpenBIOS/bin --target=powerpc64-linux-gnu --enable-targets=all -- 
disable-nls --disable-threads --enable-languages=c --disable-shared -- 
disable-libssp --disable-decimal-float --disable-libmudflap --disable- 
libgomp --without-headers --enable-checking=release --with-gmp=/Users/ 
andreas/QEMU/OpenBIOS/bin --with-mpfr=/Users/andreas/QEMU/OpenBIOS/bin
Thread model: single
gcc version 4.5.1 (GCC)

Same with powerpc64-linux-gcc 4.5.1 on Darwin/x86. binutils are 2.20.1.

Andreas


More information about the OpenBIOS mailing list