<div dir="ltr">OK, thank you for your help.<br><br>For now I did not find anything that is different on the function that is causing the termination of the program.<br><br>Does anyone here knows what/where else I should be looking for, or how to better debug the problem ?<br>

<br>Thanks,<br>Ido<br><br clear="all"><a href="http://ik.homelinux.org/">http://ik.homelinux.org/</a><br>
<br><br><div class="gmail_quote">On Tue, Dec 1, 2009 at 9:08 PM, Jonas Maebe <span dir="ltr"><<a href="mailto:jonas.maebe@elis.ugent.be">jonas.maebe@elis.ugent.be</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div><div></div><div class="h5"><br>
On 01 Dec 2009, at 19:36, ik wrote:<br>
<br>
> gdb ./hello<br>
> GNU gdb (GDB) 7.0<br>
> Copyright (C) 2009 Free Software Foundation, Inc.<br>
> License GPLv3+: GNU GPL version 3 or later <<a href="http://gnu.org/licenses/gpl.html" target="_blank">http://gnu.org/licenses/gpl.html</a><br>
>><br>
> This is free software: you are free to change and redistribute it.<br>
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"<br>
> and "show warranty" for details.<br>
> This GDB was configured as "arm-oe-linux-gnueabi".<br>
> For bug reporting instructions, please see:<br>
> <<a href="http://www.gnu.org/software/gdb/bugs/" target="_blank">http://www.gnu.org/software/gdb/bugs/</a>>...<br>
> Reading symbols from /var/volatile/tmp/hello...done.<br>
> (gdb) break 1<br>
> Breakpoint 1 at 0x807c: file ../../../../../tmp/hello.pp, line 1.<br>
> (gdb) break 4<br>
> Note: breakpoint 1 also set at pc 0x807c.<br>
> Breakpoint 2 at 0x807c: file ../../../../../tmp/hello.pp, line 4.<br>
> (gdb) r<br>
> Starting program: /var/volatile/tmp/hello<br>
><br>
> Program received signal SIGILL, Illegal instruction.<br>
> 0x00008abc in SYSTEM_FPC_CPUCODEINIT ()<br>
> (gdb) bt<br>
> #0  0x00008abc in SYSTEM_FPC_CPUCODEINIT ()<br>
> #1  0x0000fbbc in SYSTEM_init ()<br>
> #2  0x0000b268 in fpc_initializeunits ()<br>
> #3  0x0000807c in $main () at ../../../../../tmp/hello.pp:3<br>
> (gdb) c<br>
> Continuing.<br>
><br>
> Program received signal SIGSEGV, Segmentation fault.<br>
> 0x00000000 in ?? ()<br>
> (gdb) bt<br>
> #0  0x00000000 in ?? ()<br>
> #1  0x0000f670 in SYSTEM_REENABLE_SIGNAL$LONGINT$$BOOLEAN ()<br>
> #2  0x00000000 in ?? ()<br>
> (gdb) c<br>
> Continuing.<br>
><br>
> Program exited with code 0330.<br>
<br>
</div></div>This does not appear to correspond to what you previously said about strace, since strace normally also show signals. I would guess (but these are really just wild guesses)  that the problem is one or more of the following:<br>


a) the sigprocmask system call on your device has a different interface than the one expected by the rtl, or its sigset has a different number of elements<br>
b) the definition of the signal handler context in the rtl does not correspond to whatever the kernel on your device uses. You can compare the definitions in rtl/linux/arm/sighndh.inc with similar ones referred to from ucontext_t or a similar type in your C headers; it doesn't matter if those structs contain more fields *after* the ones defined in the Pascal include file, but if they use a different order or other fields are defined in between, then that is a problem.<br>


<br>
I'm not really interested in digging further in this though (I have too many things on my plate as it is), so I hope that someone else can continue helping you to debug and fix your problem.<br>
<div><div></div><div class="h5"><br>
<br>
Jonas_______________________________________________<br>
fpc-devel maillist  -  <a href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/mailman/listinfo/fpc-devel" target="_blank">http://lists.freepascal.org/mailman/listinfo/fpc-devel</a><br>
</div></div></blockquote></div><br></div>