summaryrefslogtreecommitdiffstats
path: root/package/pcre/0001-Kill-compatibility-bits.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/pcre/0001-Kill-compatibility-bits.patch')
-rw-r--r--package/pcre/0001-Kill-compatibility-bits.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/package/pcre/0001-Kill-compatibility-bits.patch b/package/pcre/0001-Kill-compatibility-bits.patch
new file mode 100644
index 0000000000..3563e4b714
--- /dev/null
+++ b/package/pcre/0001-Kill-compatibility-bits.patch
@@ -0,0 +1,43 @@
+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
+
OpenPOWER on IntegriCloud