Submitted By: Agathoklis Hatzimanikas (ag at linuxfromscratch dot org)
Date: 2008-02-24
Initial Package Version: 7.6
Origin: http://bugs.exim.org/show_bug.cgi?id=664
Upstream Status: In Bugzilla
Description: Abi breakage 

diff -Naur pcre-7.6.orig/pcrecpp.cc pcre-7.6/pcrecpp.cc
--- pcre-7.6.orig/pcrecpp.cc	2008-01-21 16:54:16.000000000 +0200
+++ pcre-7.6/pcrecpp.cc	2008-02-24 12:21:19.911457948 +0200
@@ -57,6 +57,14 @@
 // 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.  We could probably have
+// a more inclusive test if we ever needed it.
+#if defined(__GNUC__) && __GNUC__ >= 3
+extern Arg no_arg __attribute__((alias("_ZN7pcrecpp2RE6no_argE")));
+#endif
+
 // If a regular expression has no error, its error_ field points here
 static const string empty_string;
 
