Re: [DynInst_API:] [PATCH 1/1] cmake: make the c++11 abi configurable, default unset


Date: Wed, 04 May 2016 17:31:57 -0500
From: Bill Williams <bill@xxxxxxxxxxx>
Subject: Re: [DynInst_API:] [PATCH 1/1] cmake: make the c++11 abi configurable, default unset
On 05/04/2016 05:27 PM, Jeff Hollingsworth wrote:
I like the notifications (email in my inbox to learn things).

Can the email be auto-constructed when a pugh hits github is another question.

Automatically sending an email to the list on commit should be trivial. Given the amount of github email I'm getting, it should also be straightforward to configure things so that people who've elected to watch the repository get emails on push, but those are not on the list of things I get by default. (Pull requests and issue creation/updates I do get.)

I think we at least initially want notifications going to dyninst-api, but if we can get finer-grained control where people see the commits that are relevant to them, that would be nice.

--bw

Jeff


On 5/4/2016 6:04 PM, Josh Stone wrote:
I have pushed this to master and v9.2.x.

<meta> Are notifications like this still desired?

On 04/28/2016 01:42 PM, Josh Stone wrote:
GCC 5 made several ABI changes for C++11 support, but they also kept
support for the older ABI.  The macro _GLIBCXX_USE_CXX11_ABI can force
which mode you compile against.

Fedora 22 shipped with GCC 5 configured to use the old ABI by default,
as if -D_GLIBCXX_USE_CXX11_ABI=0, and Fedora 23 moved to the new ABI.
In either case you could make a different choice with that macro, but
any APIs you expose will be ABI-tagged, and programs you link with must
use the same choice.  For working in a Linux distribution, it's usually
best to leave it at the default.

Commit dbd452640a57 forced the old ABI unconditionally. This patch adds
a cmake USE_CXX11_ABI setting, left blank to use the compiler default,
or set to a cmake boolean to force the new ABI on or off.

References:
http://developers.redhat.com/blog/2015/02/05/gcc5-and-the-c11-abi/
http://developers.redhat.com/blog/2015/02/10/gcc-5-in-fedora/
---
  cmake/shared.cmake | 9 ++++++++-
  1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/cmake/shared.cmake b/cmake/shared.cmake
index 88b0b6aa86fe..699c5b489796 100644
--- a/cmake/shared.cmake
+++ b/cmake/shared.cmake
@@ -112,7 +112,14 @@ if(PLATFORM MATCHES nt OR PLATFORM MATCHES windows)
    endif()
  endif()
  -add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
+set (USE_CXX11_ABI "" CACHE STRING "Override the default GNU C++11 ABI setting")
+if (NOT ("${USE_CXX11_ABI}" STREQUAL ""))
+  if (${USE_CXX11_ABI})
+    add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1)
+  else()
+    add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
+  endif()
+endif()
    #
  # DyninstConfig.cmake

_______________________________________________
Dyninst-api mailing list
Dyninst-api@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

_______________________________________________
Dyninst-api mailing list
Dyninst-api@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

[← Prev in Thread] Current Thread [Next in Thread→]