Bug#460084: jackd working on armel/armeb?
Adrian Knoth
adi at drcomp.erfurt.thur.de
Sun Mar 15 13:58:55 UTC 2009
Hi!
Do you know whether your ARM cpu supports atomic compare-and-swap (CAS)?
If you can compile the following program, then the answer is "yes":
#include <inttypes.h>
int main(void) {
return __sync_bool_compare_and_swap ((uint32_t *) 0, 1, 2);
}
(note that you cannot run this program, it's only important to see if it
compiles).
How it looks like when it's failing:
adi at fire:/tmp$ gcc test.c
/tmp/ccKk6ynt.o: In function `main':
test.c:(.text+0x10): undefined reference to `__sync_bool_compare_and_swap_4'
collect2: ld returned 1 exit status
Working case:
adi at fire:/tmp$ gcc -mcpu=v9 test.c
adi at fire:/tmp$ echo $?
0
You'd need at least ggc-4.1 for this test. Please apply the right
mcpu/march settings for the lowest supported CPU version. (the example
above uses Sparc v8/v9, the v8 CPUs lacking atomic CAS)
If your target has atomic CAS, I can come up with an upstream patch for
jackd (see config/cpu/, there's currently no arm at all, thus only using
the generic non-atomic fallback). Can you also provide the automatic
compiler defines for your targets? (like __powerpc__ or __i386__)?
Have you tried compiling jackd from source on your targets? Just to make
sure it's possible at all...
Cheerio
--
mail: adi at thur.de http://adi.thur.de PGP/GPG: key via keyserver
More information about the pkg-multimedia-maintainers
mailing list