summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/glog-gcc-5-demangling.patch
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-07-19 01:15:59 +0200
committerMarius Bakke <mbakke@fastmail.com>2019-07-19 01:15:59 +0200
commit2ee70a5b11e83e1abe4b749a21f15852f7fcf5e1 (patch)
tree6cde1b54aa7dd8880321ebaf11d9e722e39156f2 /gnu/packages/patches/glog-gcc-5-demangling.patch
parent96783ed6275cd2818ff56916274e6e4582f1dc9b (diff)
parent4678cc46a4c1e0538402d8df6d85d3caedc7f00b (diff)
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/patches/glog-gcc-5-demangling.patch')
-rw-r--r--gnu/packages/patches/glog-gcc-5-demangling.patch64
1 files changed, 0 insertions, 64 deletions
diff --git a/gnu/packages/patches/glog-gcc-5-demangling.patch b/gnu/packages/patches/glog-gcc-5-demangling.patch
deleted file mode 100644
index 7f3f42ceca..0000000000
--- a/gnu/packages/patches/glog-gcc-5-demangling.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Fix symbol demangling for GCC 5, as reported at:
-
- https://github.com/google/glog/issues/14
-
-Patch from:
-
- https://github.com/google/glog/pull/50
-
-From b1639e3014996fbc7635870e013559c54e7e3b2f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?David=20Mart=C3=ADnez=20Moreno?= <ender@debian.org>
-Date: Thu, 13 Aug 2015 09:31:26 -0700
-Subject: [PATCH] Fix ABI demangling for the GCC 5.x case.
-
-When glog is compiled with gcc-5.2 in cxx11 ABI mode, it barfs about unmangled symbols. This patches it getting inspiration from binutils and demangle.cc itself, although it may be totally wrong or maybe have to use ParseAbiTag in more places. I haven't read the spec for the symbols, though.
-
-This patch makes the demangle unit test pass correctly.
----
- src/demangle.cc | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-diff --git a/src/demangle.cc b/src/demangle.cc
-index e858181..0f0c831 100644
---- a/src/demangle.cc
-+++ b/src/demangle.cc
-@@ -439,6 +439,7 @@ static bool ParseExprPrimary(State *state);
- static bool ParseLocalName(State *state);
- static bool ParseDiscriminator(State *state);
- static bool ParseSubstitution(State *state);
-+static bool ParseAbiTag(State *state);
-
- // Implementation note: the following code is a straightforward
- // translation of the Itanium C++ ABI defined in BNF with a couple of
-@@ -567,6 +568,8 @@ static bool ParseNestedName(State *state) {
- static bool ParsePrefix(State *state) {
- bool has_something = false;
- while (true) {
-+ if (ParseAbiTag(state))
-+ continue;
- MaybeAppendSeparator(state);
- if (ParseTemplateParam(state) ||
- ParseSubstitution(state) ||
-@@ -585,6 +588,22 @@ static bool ParsePrefix(State *state) {
- return true;
- }
-
-+// <abi-tag> ::= B <source-name>
-+static bool ParseAbiTag(State *state) {
-+ State copy = *state;
-+
-+ Append(state, "[", 1);
-+ if (ParseOneCharToken(state, 'B') &&
-+ ParseSourceName(state))
-+ {
-+ Append(state, "]", 1);
-+ return true;
-+ }
-+
-+ *state = copy;
-+ return false;
-+}
-+
- // <unqualified-name> ::= <operator-name>
- // ::= <ctor-dtor-name>
- // ::= <source-name>