URL: <http://savannah.cern.ch/bugs/?81746> Summary: Test for atomic functions slightly broken Project: XROOTD Submitted by: mellert Submitted on: 2011-05-02 15:10 Severity: 3 - Normal Priority: 5 - Normal Status: None Privacy: Public Assigned to: None Originator Email: Open/Closed: Open Discussion Lock: Any Fixed by commit(s): _______________________________________________________ Details: The test for the existence of the atomic functions uses a "long", and therefore tests the existence of 32-bit atomic functions on a 32 bit architecture. The code later uses the atomic functions with a "long long", which means it uses the 64-bit version of the atomic functions on a 32 bit architecture. For a 32 bit architecture that implements the 32-bit versions of the atomic functions, but not the 64-bit versions (e.g. ppc), the test will succeed because the 32-bit versions exist, but then the compilation will fail due to the non-existence of the 64-bit versions: /builddir/build/BUILD/xrootd-3.0.3/src/Xrd/.libs/libXrd.so: undefined reference to `__sync_fetch_and_add_8' /builddir/build/BUILD/xrootd-3.0.3/src/Xrd/.libs/libXrd.so: undefined reference to `__sync_fetch_and_or_8' /builddir/build/BUILD/xrootd-3.0.3/src/Xrd/.libs/libXrd.so: undefined reference to `__sync_fetch_and_and_8' The fix is to use "long long" in the configure test as well. Patch attached. _______________________________________________________ File Attachments: ------------------------------------------------------- Date: 2011-05-02 15:10 Name: xrootd-rhel5-no-atomic.patch Size: 502B By: mellert <http://savannah.cern.ch/bugs/download.php?file_id=19408> _______________________________________________________ Reply to this item at: <http://savannah.cern.ch/bugs/?81746> _______________________________________________ Message sent via/by LCG Savannah http://savannah.cern.ch/