xref: /OK3568_Linux_fs/buildroot/package/pcre/0001-Kill-compatibility-bits.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1From e180a4085d8d2f82a05f037e465708cfc16bd2bf Mon Sep 17 00:00:00 2001
2From: Gustavo Zacarias <gustavo@zacarias.com.ar>
3Date: Tue, 14 Jun 2016 20:31:12 -0300
4Subject: [PATCH] Kill compatibility bits
5
6Kill ABI compatibility bits, we don't need them.
7Fixes build failures on non-ELF targets.
8
9Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
10[Fabrice: update for 8.44]
11Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
12---
13 pcrecpp.cc | 16 ----------------
14 1 file changed, 16 deletions(-)
15
16diff --git a/pcrecpp.cc b/pcrecpp.cc
17index d09c9ab..6910db0 100644
18--- a/pcrecpp.cc
19+++ b/pcrecpp.cc
20@@ -58,23 +58,6 @@ static const int kVecSize = (1 + kMaxArgs) * 3;  // results + PCRE workspace
21 // Special object that stands-in for no argument
22 Arg RE::no_arg((void*)NULL);
23
24-// This is for ABI compatibility with old versions of pcre (pre-7.6),
25-// which defined a global no_arg variable instead of putting it in the
26-// RE class.  This works on GCC >= 3, at least.  It definitely works
27-// for ELF, but may not for other object formats (Mach-O, for
28-// instance, does not support aliases.)  We could probably have a more
29-// inclusive test if we ever needed it.  (Note that not only the
30-// __attribute__ syntax, but also __USER_LABEL_PREFIX__, are
31-// gnu-specific.)
32-#if defined(__GNUC__) && __GNUC__ >= 3 && defined(__ELF__) \
33-       && !defined(__INTEL_COMPILER) && !defined(__LCC__)
34-# define ULP_AS_STRING(x)            ULP_AS_STRING_INTERNAL(x)
35-# define ULP_AS_STRING_INTERNAL(x)   #x
36-# define USER_LABEL_PREFIX_STR       ULP_AS_STRING(__USER_LABEL_PREFIX__)
37-extern Arg no_arg
38-  __attribute__((alias(USER_LABEL_PREFIX_STR "_ZN7pcrecpp2RE6no_argE")));
39-#endif
40-
41 // If a regular expression has no error, its error_ field points here
42 static const string empty_string;
43
44--
452.7.3
46
47