On Mon, Feb 7, 2011 at 9:39 PM, Loïc Minier loic.minier@linaro.org wrote:
On Mon, Feb 07, 2011, Kurt Taylor wrote:
I am seeing the following when trying to build pulseaudio on a Beagleboard running a current ALIP daily: ... CC libpulsecore_1.0_la-svolume_ arm.lo {standard input}: Assembler messages: {standard input}:82: Error: thumb conditional instruction should be in IT block -- `addcs r0,r8' {standard input}:83: Error: thumb conditional instruction should be in IT block -- `movcs r6,r0' {standard input}:98: Error: thumb conditional instruction should be in IT block -- `addcs r0,r8' {standard input}:99: Error: thumb conditional instruction should be in IT block -- `movcs r6,r0' {standard input}:119: Error: thumb conditional instruction should be in IT block -- `addcs r0,r8' {standard input}:120: Error: thumb conditional instruction should be in IT block -- `movcs r6,r0' ...
I am using the normal pulseaudio build (bootstrap.sh, configure, make). The build worked fine on a Pandaboard with Ubuntu 10.10. It looks like something is not being detected correctly via bootstrap/configure on ALIP.
I have searched and seen commits in archive for adding "-Wa, -mimplicit-it=thumb". I have added this to CFLAGS without success.
The package does a regular configure and then: make -C src libpulsecore_0.9.22_la-svolume_arm.lo CFLAGS+=-Wa,-mimplicit-it=thumb on ARM.
This is really ugly though; I guess the asm snippets in src/pulsecore/svolume_arm.c should be ported, this is explained in: https://wiki.ubuntu.com/ARM/Thumb2PortingHowto#Types of Assembly Language
I agree with Loic that we should fix the asm and push that upstream (or maybe see if upstream trunk already has a fix for that). Michael H. and Dave M. would probably be able give some guidance here if the document Loic pointed to does not help.