diff options
author | Craig A. Berry <craigberry@mac.com> | 2015-01-02 18:42:31 -0600 |
---|---|---|
committer | Craig A. Berry <craigberry@mac.com> | 2015-01-02 19:21:04 -0600 |
commit | 400638aa931c474ea2549c80aeb58d36a9f65db3 (patch) | |
tree | 8456a4332e573a30326ae794a11eb9003d39eb97 /vms/gen_shrfls.pl | |
parent | 4e2794096b6999123c408ee2ccfc3f1a92bd4bb2 (diff) | |
download | perl-400638aa931c474ea2549c80aeb58d36a9f65db3.tar.gz |
Ditch the custom extern/const model on VMS.
We've been using globaldef/globalref for global data since eons
ago. It was a requirement for the ancient and long-defunct VAXC
compiler (not to be confused with DEC C for OpenVMS VAX), but
DEC/Compaq/HP C supports extern and const pretty much the way
everybody else does, and has for many years. HP C also supports
globaldef/globalref for backward compatibility, but the C++ compiler
does not, so continuing to use it means two different models for
C and C++.
While there is a slight theoretical benefit to using the old model
and its fine-grained control of program section attributes and
having all the read-write variables in one program section and all
the read-only variables in another, there is no measureable
performance or code size benefit, and being different just isn't
worth the aggravation.
So let's resign ourselves to having a separate program section in
the shareable image for each global item and make a couple of places
in the code easier on everyone's eyeballs and less likely to collide
with other work.
Diffstat (limited to 'vms/gen_shrfls.pl')
-rw-r--r-- | vms/gen_shrfls.pl | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/vms/gen_shrfls.pl b/vms/gen_shrfls.pl index 2ef3e89052..039528f41b 100644 --- a/vms/gen_shrfls.pl +++ b/vms/gen_shrfls.pl @@ -158,14 +158,6 @@ if ($isvax) { } unless ($isgcc) { - unless ($isvax) { - print OPTBLD "PSECT_ATTR=\$GLOBAL_RO_VARS,NOEXE,RD,NOWRT,SHR\n"; - print OPTBLD "PSECT_ATTR=\$GLOBAL_RW_VARS,NOEXE,RD,WRT,NOSHR\n"; - } - else { - 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; |