diff options
author | Nicholas Clark <nick@ccl4.org> | 2007-11-07 23:58:06 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2007-11-07 23:58:06 +0000 |
commit | ffee3ff61d01bece17fbf5f9da633f1917fa5c0a (patch) | |
tree | e663a44033087b325e33038fc170994972d55bc8 /embedvar.h | |
parent | 663f364bd429de50c8f5478879b1285d1270c1b3 (diff) | |
download | perl-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 'embedvar.h')
-rw-r--r-- | embedvar.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/embedvar.h b/embedvar.h index 26d58210d5..27623d0349 100644 --- a/embedvar.h +++ b/embedvar.h @@ -683,10 +683,16 @@ #define PL_Gdollarzero_mutex (my_vars->Gdollarzero_mutex) #define PL_fold_locale (my_vars->Gfold_locale) #define PL_Gfold_locale (my_vars->Gfold_locale) +#define PL_global_struct_size (my_vars->Gglobal_struct_size) +#define PL_Gglobal_struct_size (my_vars->Gglobal_struct_size) #define PL_hexdigit (my_vars->Ghexdigit) #define PL_Ghexdigit (my_vars->Ghexdigit) #define PL_hints_mutex (my_vars->Ghints_mutex) #define PL_Ghints_mutex (my_vars->Ghints_mutex) +#define PL_interpreter_size (my_vars->Ginterpreter_size) +#define PL_Ginterpreter_size (my_vars->Ginterpreter_size) +#define PL_interpreter_size_5_10_0 (my_vars->Ginterpreter_size_5_10_0) +#define PL_Ginterpreter_size_5_10_0 (my_vars->Ginterpreter_size_5_10_0) #define PL_malloc_mutex (my_vars->Gmalloc_mutex) #define PL_Gmalloc_mutex (my_vars->Gmalloc_mutex) #define PL_mmap_page_size (my_vars->Gmmap_page_size) @@ -713,6 +719,8 @@ #define PL_Gperlio_mutex (my_vars->Gperlio_mutex) #define PL_ppaddr (my_vars->Gppaddr) #define PL_Gppaddr (my_vars->Gppaddr) +#define PL_revision (my_vars->Grevision) +#define PL_Grevision (my_vars->Grevision) #define PL_runops_dbg (my_vars->Grunops_dbg) #define PL_Grunops_dbg (my_vars->Grunops_dbg) #define PL_runops_std (my_vars->Grunops_std) @@ -731,6 +739,8 @@ #define PL_Gsig_trapped (my_vars->Gsig_trapped) #define PL_sigfpe_saved (my_vars->Gsigfpe_saved) #define PL_Gsigfpe_saved (my_vars->Gsigfpe_saved) +#define PL_subversion (my_vars->Gsubversion) +#define PL_Gsubversion (my_vars->Gsubversion) #define PL_sv_placeholder (my_vars->Gsv_placeholder) #define PL_Gsv_placeholder (my_vars->Gsv_placeholder) #define PL_thr_key (my_vars->Gthr_key) @@ -739,6 +749,8 @@ #define PL_Gtimesbase (my_vars->Gtimesbase) #define PL_use_safe_putenv (my_vars->Guse_safe_putenv) #define PL_Guse_safe_putenv (my_vars->Guse_safe_putenv) +#define PL_version (my_vars->Gversion) +#define PL_Gversion (my_vars->Gversion) #define PL_veto_cleanup (my_vars->Gveto_cleanup) #define PL_Gveto_cleanup (my_vars->Gveto_cleanup) #define PL_watch_pvx (my_vars->Gwatch_pvx) @@ -755,8 +767,11 @@ #define PL_Gdo_undump PL_do_undump #define PL_Gdollarzero_mutex PL_dollarzero_mutex #define PL_Gfold_locale PL_fold_locale +#define PL_Gglobal_struct_size PL_global_struct_size #define PL_Ghexdigit PL_hexdigit #define PL_Ghints_mutex PL_hints_mutex +#define PL_Ginterpreter_size PL_interpreter_size +#define PL_Ginterpreter_size_5_10_0 PL_interpreter_size_5_10_0 #define PL_Gmalloc_mutex PL_malloc_mutex #define PL_Gmmap_page_size PL_mmap_page_size #define PL_Gmy_ctx_mutex PL_my_ctx_mutex @@ -770,6 +785,7 @@ #define PL_Gperlio_fd_refcnt_size PL_perlio_fd_refcnt_size #define PL_Gperlio_mutex PL_perlio_mutex #define PL_Gppaddr PL_ppaddr +#define PL_Grevision PL_revision #define PL_Grunops_dbg PL_runops_dbg #define PL_Grunops_std PL_runops_std #define PL_Gsh_path PL_sh_path @@ -779,10 +795,12 @@ #define PL_Gsig_sv PL_sig_sv #define PL_Gsig_trapped PL_sig_trapped #define PL_Gsigfpe_saved PL_sigfpe_saved +#define PL_Gsubversion PL_subversion #define PL_Gsv_placeholder PL_sv_placeholder #define PL_Gthr_key PL_thr_key #define PL_Gtimesbase PL_timesbase #define PL_Guse_safe_putenv PL_use_safe_putenv +#define PL_Gversion PL_version #define PL_Gveto_cleanup PL_veto_cleanup #define PL_Gwatch_pvx PL_watch_pvx |