0001-Kill-compatibility-bits.patch 1.65 KB
From e180a4085d8d2f82a05f037e465708cfc16bd2bf Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Tue, 14 Jun 2016 20:31:12 -0300
Subject: [PATCH] Kill compatibility bits

Kill ABI compatibility bits, we don't need them.
Fixes build failures on non-ELF targets.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 pcrecpp.cc | 16 ----------------
 1 file changed, 16 deletions(-)

diff --git a/pcrecpp.cc b/pcrecpp.cc
index d09c9ab..6910db0 100644
--- a/pcrecpp.cc
+++ b/pcrecpp.cc
@@ -58,22 +58,6 @@ static const int kVecSize = (1 + kMaxArgs) * 3;  // results + PCRE workspace
 // Special object that stands-in for no argument
 Arg RE::no_arg((void*)NULL);
 
-// This is for ABI compatibility with old versions of pcre (pre-7.6),
-// which defined a global no_arg variable instead of putting it in the
-// RE class.  This works on GCC >= 3, at least.  It definitely works
-// for ELF, but may not for other object formats (Mach-O, for
-// instance, does not support aliases.)  We could probably have a more
-// inclusive test if we ever needed it.  (Note that not only the
-// __attribute__ syntax, but also __USER_LABEL_PREFIX__, are
-// gnu-specific.)
-#if defined(__GNUC__) && __GNUC__ >= 3 && defined(__ELF__) && !defined(__INTEL_COMPILER)
-# define ULP_AS_STRING(x)            ULP_AS_STRING_INTERNAL(x)
-# define ULP_AS_STRING_INTERNAL(x)   #x
-# define USER_LABEL_PREFIX_STR       ULP_AS_STRING(__USER_LABEL_PREFIX__)
-extern Arg no_arg
-  __attribute__((alias(USER_LABEL_PREFIX_STR "_ZN7pcrecpp2RE6no_argE")));
-#endif
-
 // If a regular expression has no error, its error_ field points here
 static const string empty_string;
 
-- 
2.7.3