summaryrefslogtreecommitdiff
path: root/vms/gen_shrfls.pl
diff options
context:
space:
mode:
authorCraig A. Berry <craigberry@mac.com>2012-06-08 18:33:33 -0500
committerCraig A. Berry <craigberry@mac.com>2012-06-08 18:48:05 -0500
commite2367aa89c2dff8e12ae9e50931f1e00e8a57124 (patch)
tree7b49f6df4aa8009eb73860b1205ba534f62cfc17 /vms/gen_shrfls.pl
parent7d8fd4f5df7c6f24e5ce56603c0be2f07599ead0 (diff)
downloadperl-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.pl1
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;