Bug#366076: SpanDSP build error on x86-64: bottom_bit()

Julien BLACHE jblache at debian.org
Fri May 5 06:37:05 UTC 2006


Hi Steve, Lee, Frederik and others,

The copy of spandsp included in iaxmodem 0.1.4 fails to build on
x86-64.

The asm implementation of bottom_bit() from src/spandsp/alaw_ulaw.h
seems to be buggy:

t38_gateway.c: In function 'non_ecm_putbit_v17':
t38_gateway.c:482: warning: pointer targets in passing argument 4 of 'send_data' differ in signedness
/tmp/cctWzPc2.s: Assembler messages:
/tmp/cctWzPc2.s:1415: Error: Incorrect register `%edx' used with `q' suffix

static __inline__ int bottom_bit(unsigned int bits)
{
    int res;

    __asm__ __volatile__(" movq $-1,%%rdx;\n"
                         " bsfq %%eax,%%edx;\n"
line 1415 -----------------^^^^       ^^^^^
                         : "=d" (res)
                         : "a" (bits));
    return res;
}

My x86-64 asm knowledge is basically zero, so I can't offer a fix
right now :)

bottom_bit() was unused until then, so the bug went unnoticed.

Thanks,

JB.

-- 
 Julien BLACHE <jblache at debian.org>  |  Debian, because code matters more 
 Debian & GNU/Linux Developer        |       <http://www.debian.org>
 Public key available on <http://www.jblache.org> - KeyID: F5D6 5169 
 GPG Fingerprint : 935A 79F1 C8B3 3521 FD62 7CC7 CD61 4FD7 F5D6 5169 




More information about the Pkg-voip-maintainers mailing list