Hi.

I just downloaded version 3.4.5 to compile on a Freescale (ARM).
I got an error when it tried to compile the assembly code:
Error: bad instruction `lock xaddl r1,[r0,#0]'
And this seems to be from the file mt_adaptor.c

I saw in the function fetch_and_add(...) that is was using inline assembly
code and that seems to have been the problem.

I saw in an earlier patch for the zookeeper that in the file
/test/ThreadingUtil.cc there was a similar problem and it was fixed by
"replace" the assembly code with a call to __sync_fetch_and_add instead
(when __GNUC__ is defined).
Seems to compile okay when I do the same patch in the mt_adaptor.c

Has someone else seen this compiler error?

Thanks,
Niklas

Reply via email to