Upgrade initialization code in vms/vms.c.
authorCraig A. Berry <craigberry@mac.com>
Fri, 8 Jun 2012 23:33:33 +0000 (18:33 -0500)
committerCraig A. Berry <craigberry@mac.com>
Fri, 8 Jun 2012 23:48:05 +0000 (18:48 -0500)
commite2367aa89c2dff8e12ae9e50931f1e00e8a57124
tree7b49f6df4aa8009eb73860b1205ba534f62cfc17
parent7d8fd4f5df7c6f24e5ce56603c0be2f07599ead0
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.
vms/gen_shrfls.pl
vms/vms.c