[fpc-pascal] SIGTERM problem

Jonas Maebe jonas.maebe at elis.ugent.be
Thu Nov 25 10:47:20 CET 2010


On 25 Nov 2010, at 01:28, Евгений Семенов (Evgeniy  
Semenov) wrote:

> 24.11.2010 12:25, Jonas Maebe пишет:
>>
>> On 23 Nov 2010, at 22:01, Евгений Семенов (Evgeniy  
>> Semenov) wrote:
>>
>>> Help me anybody, please. My program runs on arm-linux system and  
>>> when it receive SIGTERM i can't handle this signal, program  
>>> instantly terminate. Can someone suggest to me, what's the  
>>> problem? May be it bug? Or where i can see rtl code which handle  
>>> linux signals. Exact same program normally handle SIGTERM signal  
>>> on i386-linux system.
>>
>> Which FPC version, which ARM-linux system (eabi, oabi), how was  
>> your compiler/rtl compiled?
>
> fpc 2.4.0 eabi linux

FPC 2.4.0 had broken return trampolines for signals on EABI. This was  
fixed in 2.4.2, but that version still contains a serious bug in the  
handling of syscalls with 5 parameters or more that causes random  
errors.

> making crosscompiler
>
> make all OS_TARGET=linux CPU_TARGET=arm BINUTILSPREFIX=/home/sem/gcc/ 
> arm-none-linux-gnueabi/bin/ NOGDB=1 OPT='-O-' CROSSOPT='-Xd -CfSOFT - 
> CaEABI -darm -dFPC_ARMEL -gl -O- -CpARMV5 -Fl/home/sem/gcc/arm-none- 
> linux-gnueabi/libc/marvell-f/lib -Fl/home/sem/gcc/arm-none-linux- 
> gnueabi/libc/marvell-f/usr/lib -Xr/home/sem/gcc/arm-none-linux- 
> gnueabi/libc/marvell-f/lib' CROSSINSTALL=1 PREFIX=/usr

You have to move -dFPC_ARMEL from CROSSOPT to OPT. The above command  
will compile an OABI cross-compiler.


Jonas


More information about the fpc-pascal mailing list