diff options
author | Craig A. Berry <craigberry@mac.com> | 2012-06-08 18:33:33 -0500 |
---|---|---|
committer | Craig A. Berry <craigberry@mac.com> | 2012-06-08 18:48:05 -0500 |
commit | e2367aa89c2dff8e12ae9e50931f1e00e8a57124 (patch) | |
tree | 7b49f6df4aa8009eb73860b1205ba534f62cfc17 /vms/gen_shrfls.pl | |
parent | 7d8fd4f5df7c6f24e5ce56603c0be2f07599ead0 (diff) | |
download | perl-e2367aa89c2dff8e12ae9e50931f1e00e8a57124.tar.gz |
Upgrade initialization code in vms/vms.c.
The LIB$INITIALIZE program section is examined by the image
activator for an array of 32-bit pointers to functions that will
get called early in start-up, before main() is called. We use
this mechanism to get and set various run-time features.
The implementation we had was a bit cluttered with undocumented
features that weren't being used, and it didn't work under C++.
This new implementation is simpler and follows the documented
usage in the C++ release notes much more closely, and it works
under both C and C++.
We also now explicitly export the LIB$INITIALIZE psect in the
linker options file used to create the PERLSHR shareable image.
Diffstat (limited to 'vms/gen_shrfls.pl')
-rw-r--r-- | vms/gen_shrfls.pl | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/vms/gen_shrfls.pl b/vms/gen_shrfls.pl index 0cac88bd26..f44779e00e 100644 --- a/vms/gen_shrfls.pl +++ b/vms/gen_shrfls.pl @@ -170,6 +170,7 @@ unless ($isgcc) { print OPTBLD "PSECT_ATTR=\$GLOBAL_RO_VARS,PIC,NOEXE,RD,NOWRT,SHR\n"; print OPTBLD "PSECT_ATTR=\$GLOBAL_RW_VARS,PIC,NOEXE,RD,WRT,NOSHR\n"; } + print OPTBLD "PSECT_ATTR=LIB\$INITIALIZE,GBL,NOEXE,NOWRT,NOSHR,LONG\n"; } print OPTBLD "case_sensitive=yes\n" if $care_about_case; my $count = 0; |