[lazarus] lcl powerpc-linux

Marco van de Voort marcov at stack.nl
Tue Dec 30 18:44:32 EST 2003


> The lcl compiles now on powerpc, however, the examples crash:
> 
> Starting program: /mnt/hdb3/fpc/projects/lazarus/examples/hello
> 
> Program received signal SIGSEGV, Segmentation fault.
> $0fcc9bfc in gdk_init_check () from /usr/lib/libgdk-1.2.so.0
> (gdb) where
> #0  $0fcc9bfc in gdk_init_check () from /usr/lib/libgdk-1.2.so.0
> #1  $0fdf5ff0 in gtk_init_check () from /usr/lib/libgtk-1.2.so.0
> #2  $0fdf64a0 in gtk_init () from /usr/lib/libgtk-1.2.so.0
> #3  $100b4e40 in TGTKOBJECT__PASSCMDLINEOPTIONS (this=$101cd414) at 
> gtkobject.inc:242
> #4  $100b4cb0 in TGTKOBJECT__CREATE (vmt=$1019f710, this=$101cd414) at 
> gtkobject.inc:174
> #5  $101363b8 in INTERFACES_init () at interfaces.pp:43
> #6  $10149da8 in fpc_initializeunits ()
> #7  $101554d8 in main () at hello.pp:32
> #8  $10008be4 in _haltproc ()
> (gdb)
> 
> Any clues?

I've problems with cdecl functions too (though it works under FreeBSD).

Maybe I'm blind, but try this, you might have something reproducable:

1. update linux.
2. make cycle OPT='-dFPC_USE_LIBC -al'
(the -al is only for codegen checking)

This fails when ppc1 has to compile system.pp

3. fire up gdb with ppc1
4. run till the line fileeof:=eof(f) in finput.pas
5. start stepping till you get to the fstat line.
6. note that the parameter is clear (3)
7. Now trace into fstat-> the parameter is suddenly negative.
8. on access stack destroyed. (this is probably because stat is different
size on glibc compared to kernel, I'll look into that tomorrow, too tired
now)







More information about the Lazarus mailing list