Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 84939

Summary: codec_lpc10.so fails on an EPIA system
Product: Gentoo Security Reporter: Shawn Rutledge <e_cloud>
Component: VulnerabilitiesAssignee: voip herd (OBSOLETE) <voip+disabled>
Status: RESOLVED FIXED    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Shawn Rutledge 2005-03-11 23:33:04 UTC
I tried to rebuild several times with different versions of asterisk, and always got the same result when starting up verbosely (asterisk -vvvvvvvvvvgc):

 [app_softhangup.so] => (Hangs up the requested channel)
  == Registered application 'SoftHangup'
 [codec_lpc10.so] => (LPC10 2.4kbps (signed linear) Voice Coder)
Illegal instruction (core dumped)

I took a guess and deleted /usr/lib/asterisk/modules/codec_lpc10.so (hope I won't need it), and this problem went away.  Maybe this is actually a gcc bug, if it works on most machines but not on EPIA machines?  I have a 600 MHz one. CPU: Centaur VIA Samuel 2 stepping 03
Running 2.6.8-gentoo-r3 FWIW.
I have had more problems in general compiling for this machine than for any other x86, so lately I'm just compiling plain 386 code for it:
CFLAGS="-Os -march=i386 -fomit-frame-pointer -pipe"
CHOST="i386-pc-linux-gnu"

I'm new to asterisk, and this has delayed me actually getting any part of it working, so hope I'm not doing something stupid.
Comment 1 Stefan Knoblich (RETIRED) gentoo-dev 2005-03-12 01:12:17 UTC
please run: emerge asterisk 2>&1 | tee asterisk.log

and attach (!) the asterisk.log file and the output of emerge info to this bug
Comment 2 Daniel Black (RETIRED) gentoo-dev 2005-08-20 21:55:14 UTC
need some more info so solve this bug 
 
It could be a buggy -Os in CFLAGS. Please include emerge info too. 
Comment 3 Stefan Knoblich (RETIRED) gentoo-dev 2005-09-07 16:28:05 UTC
got the necessary information from xmerlin, the lpc10 makefile
has been using CFLAGS+=-march=$(shell uname -m), compiling
the lpc10 codec with -march=i686. With >= -march=i686 gcc will use the cmov
instruction which is not supported on via c3 cpus before nehemiah
(see: grep cmov /proc/cpuinfo), so loading the lpc10 codec will cause the illegal
instruction error.
Comment 4 Stefan Knoblich (RETIRED) gentoo-dev 2005-09-07 16:35:46 UTC
fixed in cvs