[SERVER-12283] Use gcc atomic builtins if available on IA-32 and x86_64 Created: 07/Jan/14  Updated: 11/Jul/16  Resolved: 09/May/14

Status: Closed
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: 2.7.1

Type: Bug Priority: Major - P3
Reporter: Matt Kangas Assignee: Benety Goh
Resolution: Done Votes: 0
Labels: community-team
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
related to SERVER-1811 ARM support Closed
is related to SERVER-12064 AtomicIntrinsics is not portable Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Server 2.7.1
Participants:

 Description   

Follow-on to SERVER-12064. Robie Basak of Canonical submitted a pull request to improve our portability, particularly on ARM.

https://github.com/mongodb/mongo/pull/582

We merged two of his three commits for 2.5.5. The third changes the codepath on IA-32 and x86_64 to use GCC atomic builtins if available rather than the inline assembler of mongo/platform/atomic_intrinsics_gcc_intel.h



 Comments   
Comment by Githook User [ 09/May/14 ]

Author:

{u'name': u'Robie Basak', u'email': u'robie.basak@canonical.com'}

Message: SERVER-12064 SERVER-12283 Use gcc atomic builtins if available

Switch to using gcc atomic builtins for atomic operations if using a new
enough gcc and clang and support is available. Otherwise, fall back to
the old behaviour of existing non-portable inline assembly to continue
to support builds on older versions of gcc.

Signed-off-by: Benety Goh <benety@mongodb.com>
Branch: master
https://github.com/mongodb/mongo/commit/19cceceb780ab13104d5a4e44c373472ac5f430d

Generated at Thu Feb 08 03:28:07 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.