Boost logo

Boost :

From: Rob Desbois (rob.desbois_at_[hidden])
Date: 2008-04-03 10:56:10


I cannot link against Boost libraries 1.35.0 built with CodeSourcery's
ARM/GNU toolchain, although the build is successful.

I built Boost with:
 bjam --with-regex --with-serialization --with-thread stage

And tried to link to the test program from the 'Getting Started
(Unix)' guide I get:
 $ arm-none-linux-gnueabi-g++ test-regex.cpp -I.
stage/lib/libboost_regex-gcc42-mt-1_35.so
 /tmp/ccVow1Eq.o: In function `boost::detail::atomic_decrement(int*)':
 test-regex.cpp:(.text._ZN5boost6detail16atomic_decrementEPi[boost::detail::atomic_decrement(int*)]+0x18):
undefined reference to `__sync_fetch_and_add_4'
 collect2: ld returned 1 exit status

With assistance on the boost-build list I've ascertained that the
problem is that GCC doesn't support __sync_fetch_and_add and the other
atomic built-ins on ARM.
An additional case for this may need to be added to
boost/detail/sp_counted_base.hpp

I don't know enough to patch boost for this, short-term or otherwise;
can anyone offer any advice?
TIA,
--rob


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk