[OpenSER-Users] SIGILL when starting openser

Henning Westerholt henning.westerholt at 1und1.de
Mon Apr 28 12:45:44 CEST 2008


On Monday 28 April 2008, Christian Koch wrote:
> I tried replacing the rand() function in that line, but afterwards I got
> a core file at another line. Still with SIGILL.
>
> But I think I've found a solution: In "Makefile.defs", for i386 with gcc
> 3.x I removed the following line (line 592):
>
> -march=$(CPU_TYPE)
>
> CPU_TYPE would be set to "prescott" in that case, but the manpage of gcc
> states prescott is "Improved version of Intel Pentium4 CPU...". My
> machine is a Pentium III, so it doesn't understand the P4 code generated
> by gcc. I recompiled openser without "-march" and it seems everything
> works fine now.
> I think the Makefile still needs to be fixed for the other architectures
> and gcc versions.

Hi Christian,

i think the correct statement for (a recent) 3.X gcc would be 
either 'mcpu=prescott' or 'mtune=prescott'. I don't know why march is used in 
this case, for the x86_64 case its correct. Then the compiler will only 
optimize for this special processor, but the code will nevertheless run on 
i386 machines too.

The 'prescott' type is unfortunally not available on older gcc, so i 
used 'pentium4' instead. I'll make a fix on svn, could you perhaps test this?

Thank you,

Henning




More information about the sr-users mailing list