diff options
author | Jan Dubois <jand@activestate.com> | 2009-12-17 18:28:16 -0800 |
---|---|---|
committer | Jan Dubois <jand@activestate.com> | 2009-12-17 18:28:16 -0800 |
commit | 9307c420fad2f6f5bd314f9ed66dd53288703e09 (patch) | |
tree | 9a2220df2fbb1128bf0ce8698fdda2bf58861b77 | |
parent | 8703a9a4fd75723318bc4ba1afc42a215806f2d1 (diff) | |
download | perl-9307c420fad2f6f5bd314f9ed66dd53288703e09.tar.gz |
Export PL_curinterp symbol for MULTIPLICITY without USE_ITHREADS
This is necessary for XS extensions that define PERL_CORE. In that
situation PERL_GET_CONTEXT will resolve to PL_curinterp, which is
normally not exported (extensions call Perl_Gcurinterp_ptr() to get a
pointer to PL_curinterp instead). With USE_ITHREADS defined
PERL_GET_CONTEXT will expand to Perl_get_context() even inside the
core because the context needs to be fetched from threadlocal storage.
-rw-r--r-- | makedef.pl | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/makedef.pl b/makedef.pl index 858c1eb46a..b4d76ea699 100644 --- a/makedef.pl +++ b/makedef.pl @@ -1223,6 +1223,10 @@ if ($define{'MULTIPLICITY'}) { my $glob = readvar($f, sub { "Perl_" . $_[1] . $_[2] . "_ptr" }); emit_symbols $glob; } + unless ($define{'USE_ITHREADS'}) { + # XXX needed for XS extensions that define PERL_CORE + emit_symbol("PL_curinterp"); + } # XXX AIX seems to want the perlvars.h symbols, for some reason if ($PLATFORM eq 'aix' or $PLATFORM eq 'os2') { # OS/2 needs PL_thr_key my $glob = readvar($perlvars_h); |