summaryrefslogtreecommitdiff
path: root/intrpvar.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2007-11-07 23:58:06 +0000
committerNicholas Clark <nick@ccl4.org>2007-11-07 23:58:06 +0000
commitffee3ff61d01bece17fbf5f9da633f1917fa5c0a (patch)
treee663a44033087b325e33038fc170994972d55bc8 /intrpvar.h
parent663f364bd429de50c8f5478879b1285d1270c1b3 (diff)
downloadperl-ffee3ff61d01bece17fbf5f9da633f1917fa5c0a.tar.gz
"Bake" the values of PERL_REVISION, PERL_VERSION and PERL_SUBVERSION
into global variables (and hence a shared perl library). Additionally under MULTIPLICITY record the size of the interpreter structure (total, and for this version) and under PERL_GLOBAL_STRUCT the size of the global variables structure. Coupled with PL_bincompat_options this will allow 5.10.1 (and later), when compiled with a shared perl library, to perform sanity checks in main() to verify that the shared library is indeed binary compatible. p4raw-id: //depot/perl@32238
Diffstat (limited to 'intrpvar.h')
-rw-r--r--intrpvar.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/intrpvar.h b/intrpvar.h
index 8a3dba2674..5d583f06f0 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -623,6 +623,12 @@ PERLVARI(Irehash_seed, UV, 0) /* 582 hash initializer */
PERLVARI(Iisarev, HV*, NULL) /* Reverse map of @ISA dependencies */
+/* The last unconditional member of the interpreter structure when 5.10.0 was
+ released. The offset of the end of this is baked into a global variable in
+ any shared perl library which will allow a sanity test in future perl
+ releases. */
+#define PERL_LAST_5_10_0_INTERP_MEMBER Iisarev
+
#ifdef PERL_IMPLICIT_CONTEXT
PERLVARI(Imy_cxt_size, int, 0) /* size of PL_my_cxt_list */
PERLVARI(Imy_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */