summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/perl/revert-const-core-magic-vtables.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/dev-lang/perl/revert-const-core-magic-vtables.patch b/dev-lang/perl/revert-const-core-magic-vtables.patch
new file mode 100644
index 0000000..7fbd9a2
--- /dev/null
+++ b/dev-lang/perl/revert-const-core-magic-vtables.patch
@@ -0,0 +1,19 @@
+reverted:
+--- b/perl.h
++++ a/perl.h
+@@ -5558,7 +5558,14 @@
+ EXTCONST runops_proc_t PL_runops_dbg
+ INIT(Perl_runops_debug);
+
++/* PERL_GLOBAL_STRUCT_PRIVATE wants to keep global data like the
++ * magic vtables const, but this is incompatible with SWIG which
++ * does want to modify the vtables. */
++#ifdef PERL_GLOBAL_STRUCT_PRIVATE
++# define EXT_MGVTBL EXTCONST MGVTBL
++#else
++# define EXT_MGVTBL EXT MGVTBL
++#endif
+-#define EXT_MGVTBL EXTCONST MGVTBL
+
+ #define PERL_MAGIC_READONLY_ACCEPTABLE 0x40
+ #define PERL_MAGIC_VALUE_MAGIC 0x80