summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorylavic <ylavic@13f79535-47bb-0310-9956-ffa450edef68>2023-02-14 11:18:00 +0000
committerylavic <ylavic@13f79535-47bb-0310-9956-ffa450edef68>2023-02-14 11:18:00 +0000
commita99be1501f7bac8c99af23bd5b43d2a09b519b71 (patch)
treefe4fc65dfd1651d9af56a22194278ccafba0cdb5 /README
parent24b1a6436f789ae16be4d7a2a7a68cb9325315e5 (diff)
downloadlibapr-a99be1501f7bac8c99af23bd5b43d2a09b519b71.tar.gz
configure: Test apr_uint64_t alignment for 64bit atomic builtins usability.
On some systems the __atomic builtins may be available only through libatomic or fall back to libatomic when the atomic operations are not issued on a suitably aligned address (64bit atomics on 8-byte aligned addresses only for instance). Modify the tests for HAVE_ATOMIC_BUILTINS64 and HAVE__ATOMIC_BUILTINS64 such that the address for the atomic operations is not aligned (unless 64bit ints always have the suitable alignment, i.e. mainly 64bit systems..). Also, use the __atomic_always_lock_free() builtin to fail the test when the compiler already knows about the alignment issue (falling back to libatomic, which we don't require/want). With this, 64bit builtins should be selected only for platforms that can natively handle atomics on any apr_uin64_t (since the APR has no dedicated 8-byte aligned 64bit type for now), while the generic/mutex implementation is used for others. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1907642 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions