[strongSwan] SIGILL in 4.3.5 and above

Bjarke Istrup Pedersen gurli at gurlinet.dk
Thu Jul 22 11:34:04 CEST 2010


2010/7/22 Tobias Brunner <tobias at strongswan.org>:
>> I am unable to find what __fixunsdfdi is.
>> child_cfg.c is indeed the line mentioned above.
>>
>> Anyone who has any ideas?
>
> __fixunsdfdi is a GCC-internal function which converts a double to an uint64.
> It seems that an instruction in that function raises the SIGILL on your
> platform.  This suggests that it's actually a GCC bug.  What version of GCC do
> you use?
>
> Regards,
> Tobias
>

Ahh, now we are getting somewhere.

I'm using GCC 4.4.4 and it builds strongswan with the following flags:
"-march=geode -Os -mmmx -m3dnow -pipe -ggdb"

GCC is installed on another system that builds the packages for the
system (since the geode cpu is a bit slow to build a system on) -
could it be that GCC itself is built for another CPU, and that it
somehow embeds some of it into strongswan, causing it to have
instructions not supported by this CPU?




More information about the Users mailing list