Fix more Win32 linker errors following change 24271
Steve Hay [Fri, 22 Apr 2005 09:59:54 +0000 (09:59 +0000)]
This clears up problems with Perl_free_global_struct and
Perl_init_global_struct

p4raw-id: //depot/perl@24280

embed.fnc
embed.h
global.sym
makedef.pl
proto.h

index 7373929..2870884 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -868,6 +868,8 @@ Anp |Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes
 Anp    |Free_t |safesysfree    |Malloc_t where
 #if defined(PERL_GLOBAL_STRUCT)
 Ap     |struct perl_vars *|GetVars
+Ap     |struct perl_vars*|init_global_struct
+Ap     |void   |free_global_struct|struct perl_vars*
 #endif
 Ap     |int    |runops_standard
 Ap     |int    |runops_debug
@@ -1482,7 +1484,4 @@ dp        |bool   |is_gv_magical_sv|SV *name|U32 flags
 
 Apd    |char*  |savesvpv       |SV* sv
 
-Ap     |struct perl_vars*|init_global_struct
-Ap     |void   |free_global_struct|struct perl_vars*
-
 END_EXTERN_C
diff --git a/embed.h b/embed.h
index 54c887f..53b75e4 100644 (file)
--- a/embed.h
+++ b/embed.h
 #define safesysfree            Perl_safesysfree
 #if defined(PERL_GLOBAL_STRUCT)
 #define GetVars                        Perl_GetVars
+#define init_global_struct     Perl_init_global_struct
+#define free_global_struct     Perl_free_global_struct
 #endif
 #define runops_standard                Perl_runops_standard
 #define runops_debug           Perl_runops_debug
 #define is_gv_magical_sv       Perl_is_gv_magical_sv
 #endif
 #define savesvpv               Perl_savesvpv
-#define init_global_struct     Perl_init_global_struct
-#define free_global_struct     Perl_free_global_struct
 #define ck_anoncode            Perl_ck_anoncode
 #define ck_bitop               Perl_ck_bitop
 #define ck_concat              Perl_ck_concat
 #define safesysfree            Perl_safesysfree
 #if defined(PERL_GLOBAL_STRUCT)
 #define GetVars()              Perl_GetVars(aTHX)
+#define init_global_struct()   Perl_init_global_struct(aTHX)
+#define free_global_struct(a)  Perl_free_global_struct(aTHX_ a)
 #endif
 #define runops_standard()      Perl_runops_standard(aTHX)
 #define runops_debug()         Perl_runops_debug(aTHX)
 #define is_gv_magical_sv(a,b)  Perl_is_gv_magical_sv(aTHX_ a,b)
 #endif
 #define savesvpv(a)            Perl_savesvpv(aTHX_ a)
-#define init_global_struct()   Perl_init_global_struct(aTHX)
-#define free_global_struct(a)  Perl_free_global_struct(aTHX_ a)
 #define ck_anoncode(a)         Perl_ck_anoncode(aTHX_ a)
 #define ck_bitop(a)            Perl_ck_bitop(aTHX_ a)
 #define ck_concat(a)           Perl_ck_concat(aTHX_ a)
index 3887879..58c05ad 100644 (file)
@@ -559,6 +559,8 @@ Perl_safesyscalloc
 Perl_safesysrealloc
 Perl_safesysfree
 Perl_GetVars
+Perl_init_global_struct
+Perl_free_global_struct
 Perl_runops_standard
 Perl_runops_debug
 Perl_sv_catpvf_mg
@@ -675,5 +677,3 @@ Perl_hv_scalar
 Perl_gv_fetchpvn_flags
 Perl_gv_fetchsv
 Perl_savesvpv
-Perl_init_global_struct
-Perl_free_global_struct
index d7e052a..d14b503 100644 (file)
@@ -233,7 +233,6 @@ if ($PLATFORM eq 'win32') {
                     PL_timesbuf
                     main
                     Perl_ErrorNo
-                    Perl_GetVars
                     Perl_do_exec3
                     Perl_do_ipcctl
                     Perl_do_ipcget
@@ -310,7 +309,6 @@ if ($PLATFORM eq 'wince') {
                     win32_spawnvp
                     main
                     Perl_ErrorNo
-                    Perl_GetVars
                     Perl_do_exec3
                     Perl_do_ipcctl
                     Perl_do_ipcget
@@ -349,7 +347,6 @@ elsif ($PLATFORM eq 'aix') {
     skip_symbols([qw(
                     Perl_dump_fds
                     Perl_ErrorNo
-                    Perl_GetVars
                     Perl_my_bcopy
                     Perl_my_bzero
                     Perl_my_chsize
@@ -450,7 +447,6 @@ elsif ($PLATFORM eq 'os2') {
 }
 elsif ($PLATFORM eq 'MacOS') {
     skip_symbols [qw(
-                   Perl_GetVars
                    PL_cryptseen
                    PL_cshlen
                    PL_cshname
@@ -492,7 +488,6 @@ elsif ($PLATFORM eq 'netware') {
                        PL_timesbuf
                        main
                        Perl_ErrorNo
-                       Perl_GetVars
                        Perl_do_exec3
                        Perl_do_ipcctl
                        Perl_do_ipcget
@@ -817,6 +812,14 @@ sub readvar {
     return \@syms;
 }
 
+unless ($define{'PERL_GLOBAL_STRUCT'}) {
+    skip_symbols [qw(
+                    Perl_GetVars
+                    Perl_free_global_struct
+                    Perl_init_global_struct
+                    )];
+}
+
 if ($define{'PERL_GLOBAL_STRUCT'}) {
     my $global = readvar($perlvars_h);
     skip_symbols $global;
diff --git a/proto.h b/proto.h
index c26f87b..c3ccf1d 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -830,6 +830,8 @@ PERL_CALLCONV Malloc_t      Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes);
 PERL_CALLCONV Free_t   Perl_safesysfree(Malloc_t where);
 #if defined(PERL_GLOBAL_STRUCT)
 PERL_CALLCONV struct perl_vars *       Perl_GetVars(pTHX);
+PERL_CALLCONV struct perl_vars*        Perl_init_global_struct(pTHX);
+PERL_CALLCONV void     Perl_free_global_struct(pTHX_ struct perl_vars*);
 #endif
 PERL_CALLCONV int      Perl_runops_standard(pTHX);
 PERL_CALLCONV int      Perl_runops_debug(pTHX);
@@ -1423,7 +1425,4 @@ PERL_CALLCONV bool        Perl_is_gv_magical_sv(pTHX_ SV *name, U32 flags);
 
 PERL_CALLCONV char*    Perl_savesvpv(pTHX_ SV* sv);
 
-PERL_CALLCONV struct perl_vars*        Perl_init_global_struct(pTHX);
-PERL_CALLCONV void     Perl_free_global_struct(pTHX_ struct perl_vars*);
-
 END_EXTERN_C