Hello!<br><br><div class="gmail_quote">On Wed, Sep 23, 2009 at 1:04 AM, Ian FREISLICH <span dir="ltr"><<a href="mailto:ianf@clue.co.za">ianf@clue.co.za</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;">
<br><div class="im">> > I was wondering if anyone has actually managed to get this working.<br>
> > I'm using amd64 and when I select the ECHO_CAN_OSLEC, the compile<br>
> > fails with the following error:<br>
> ><br>
> > Warning: Object directory not changed from original<br>
> > /usr/ports/misc/zaptel/work/zaptel-bsd-1.4.11.2/zaptel<br>
> > cc -O2 -pipe -march=athlon64 -fno-strict-aliasing -Wall -D_KERNEL<br>
> > -DKLD_MODULE -nostdinc<br>
> > -I/usr/ports/misc/zaptel/work/zaptel-bsd-1.4.11.2/zaptel/../zaptel -I. -I@<br>
-I@/contrib/altq<br>
> > -finline-limit=8000 --param inline-unit-growth=100 --param<br>
> > large-function-growth=1000 -fno-common -fno-omit-frame-pointer<br>
> > -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-sse3<br>
> > -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables<br>
> > -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall<br>
> > -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototype<br>
s<br>
> > -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign<br>
> > -fformat-extensions -c oslec_echo.c<br>
> > oslec_echo.c: In function 'echo_can_update':<br>
> > oslec_echo.c:164: error: SSE register return with SSE disabled<br>
> ><br>
><br>
> Which FreeBSD version is it?<br>
> It builds fine for me on FreeBSD 6, 7, and 8<br>
<br>
</div>You're probably building with OSLEC then. A standard build of the<br>
port builds the MG2 echo canceler.<br>
<br>
I'm using 9-CURRENT, but you need to be using amd64 *and* to have<br>
set:<br>
<br>
#define ECHO_CAN_OSLEC<br>
<br>
in work/zaptel-bsd-1.4.11.2/zaptel/zconfig.h<br>
<br>
to get OSLEC (and reproduce this problem). The MG2 echo canceler<br>
doesn't converge quickly enough (it takes about 30 seconds) and<br>
even then doesn't cancel all the echo on my line. OSLEC on linux<br>
works great, but I want to ditch linux.<br>
<br>
If you're using OSLEC, but on i386, then you're probably going to<br>
have your floating point math corrupted during calls.<br></blockquote><div><br>I looked through the code briefly. Yes, it looks like it should work if you just replace float with int32_t. <br></div></div>Does it work for you in this case well enough?<br>
<br>Max<br>