[SERVER-76472] Add -Wno-psabi to disable ABI warning on ARM64 Created: 24/Apr/23  Updated: 29/Oct/23  Resolved: 28/Apr/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Mark Benvenuto Assignee: Daniel Moody
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Server Development Platform
Backwards Compatibility: Fully Compatible
Participants:

 Description   

There are spurious warnings about ABI compat on ARM64 builds. We can suppress this noise by passing -Wno-psabi since we do not maintain C++ ABI compat.

Details
https://gcc.gnu.org/gcc-7/changes.html:

On ARM targets (arm***), a bug introduced in GCC 5 that affects conformance to the procedure call standard (AAPCS) has been fixed. The bug affects some C++ code where class objects are passed by value to functions and could result in incorrect or inconsistent code being generated. This is an ABI change. If the option -Wpsabi is enabled (on by default) the compiler will emit a diagnostic note for code that might be affected.

Log:

[2023/04/24 18:04:58.078] src/mongo/util/summation.h: In member function 'mongo::DoubleDouble mongo::DoubleDoubleSummation::getDoubleDouble() const':
[2023/04/24 18:04:58.078] src/mongo/util/summation.h:94:42: note: parameter passing for argument of type 'std::pair<double, double>' when C++17 is enabled changed to match C++14 in GCC 10.1
[2023/04/24 18:04:58.078]    94 |     DoubleDouble getDoubleDouble() const {
[2023/04/24 18:04:58.078]       |       

References:
https://gcc.gnu.org/legacy-ml/gcc/2017-05/msg00073.html



 Comments   
Comment by Githook User [ 28/Apr/23 ]

Author:

{'name': 'Daniel Moody', 'email': 'dmoody256@gmail.com', 'username': 'dmoody256'}

Message: SERVER-76472 compile with -Wno-psabi
Branch: master
https://github.com/mongodb/mongo/commit/5d51cb10e94b50ba2290664748e07d66507a4a22

Generated at Thu Feb 08 06:32:47 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.