Hi Peter,
This is an ugly kludge with some hand crafted assembly, but it builds
locally, and I think the scratch build should succeed this time. Note, I
was confused by the fact that there are at least *two* different sets of
atomics implemented in OMPI (it's a mess). With this, both are now
fixed, regardless of which compiler is being used.
I performed the following scratch build (currently near completion):
http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=1246843
You'll notice that in the spec file I changed the configure lines:
%build
./configure \
%ifarch armv5tel
--build=armv5tel-redhat-linux-gnueabi \
--host=armv5tel-redhat-linux-gnueabi \
%endif
Since the standard %configure macro isn't being used at the build/host
targets were additionally not being set right (which is generally a
problem that we want to consider across the package set, and OMPI
actually cares because it'll grab the arch version there). However,
there might be a better fix (just using %configure is not sufficient -
and no, I don't know why that isn't quite working properly here yet).
I haven't run any testsuite, however I did compile the atomic functions
into test programs and perform basic tests to ensure they did in fact
atomically add and subtract numbers, and the like.
Jon.
P.S. Remind me not to say "trivial ten second fix" another time. Sure,
it's a quick fix once you figure out what the heck they're doing with
their build process, and run through a dozen test builds, etc. :)