The enclosed patch tweaks several separate issues:
* It appears that the symbols for several perl utility scripts
were incorrectly altered to omit the critically important .com
file type (this affected the release of perl 5.8.7 and onward).
* The perl_setup.com was incorrectly written to contain two copies
of the define for perl_root.
* On the I64 build the linker no longer allows the PIC PSECT_ATTR
and emits an informational message.
* It seems no longer necessary to have logical names like $ENV{'POD2MAN'},
POD2MAN POD2HTML.
I have also added GCC comments to the two new config.sh variables
and changed the output of the sig_name_init back to the write/symbol
so as to avoid possible very long symbol output problems that are germane
to DCL
(this was present in perl @ 27370).
diff -ru bleed_at_27383/configure.com bleed/configure.com
--- bleed_at_27383/configure.com 2006-03-05 18:48:41.083276000
-0500
+++ bleed/configure.com 2006-03-05 18:58:34.376389000 -0500
@@ -1194,6 +1194,9 @@
$! Add _ROOT to make install PERL_ROOT differ from build directory.
$ prefix = prefixbase + "_ROOT.]"
$ ENDIF
+$ ! more redundant scrubbing of values
+$ prefix = prefix - "000000."
+$ IF F$LOCATE(".]",prefix) .EQ. F$LENGTH(prefix) THEN prefix = prefix -
"]" + ".]"
$ src = prefix
$!: determine root of directory hierarchy where package will be
installed.
$ dflt = prefix
@@ -5652,8 +5655,8 @@
$! WC "d_bsdpgrp='undef'"
$ WC "d_bsdgetpgrp='undef'"
$ WC "d_bsdsetpgrp='undef'"
-$ WC "d_builtin_choose_expr='undef'"
-$ WC "d_builtin_expect='undef'"
+$ WC "d_builtin_choose_expr='undef'" ! GCC only
+$ WC "d_builtin_expect='undef'" ! GCC only
$ WC "d_bzero='" + d_bzero + "'"
$ WC "d_casti32='define'"
$ WC "d_castneg='define'"
@@ -6242,7 +6245,9 @@
$ WC "shortsize='" + shortsize + "'"
$ WC "shrplib='define'"
$ WC "sig_name='" + sig_name + "'"
-$ WC "sig_name_init='" + sig_name_init + "'"
+$ tmp = "sig_name_init='" + sig_name_init + "'"
+$ WC/symbol tmp
+$ DELETE/SYMBOL tmp
$ WC "sig_num='" + sig_num + "'"
$ WC "sig_num_init='" + sig_num_init + "'"
$ WC "sig_count='" + sig_count + "'"
@@ -6870,8 +6875,6 @@
$ pcsi_producer = f$trnlnm("PCSI_PRODUCER")
$ if pcsi_producer .eqs. ""
$ then
-$ prefix = prefix - "000000."
-$ IF F$LOCATE(".]",prefix) .EQ. F$LENGTH(prefix) THEN prefix = prefix -
"]" + ".]"
$ WRITE CONFIG "$ define/translation=concealed ''vms_prefix' ''prefix'"
$ else
$ WRITE CONFIG "$ myproc = f$environment(""PROCEDURE"")"
@@ -6886,12 +6889,6 @@
$ WRITE CONFIG "$ define/translation=concealed ''vms_prefix'
'myroot_dev'['myroot_dir'.]"
$ WRITE CONFIG "$ endif"
$ endif
-$
-$ prefix = prefix - "000000."
-$ IF F$LOCATE(".]",prefix) .EQ. F$LENGTH(prefix) THEN prefix = prefix -
"]" + ".]"
-$ WRITE CONFIG "$ define/translation=concealed ''vms_prefix' ''prefix'"
-
-
$ WRITE CONFIG "$ ext = "".exe"""
$ IF sharedperl
$ THEN
@@ -6923,9 +6920,6 @@
$ WRITE CONFIG "$ set command ''vms_prefix':[000000]''packageup'.CLD"
$ ENDIF
$ ENDIF ! perl_symbol
-$ WRITE CONFIG "$ define/nolog pod2text
''vms_prefix':[lib.pod]pod2text.com"
-$ WRITE CONFIG "$ define/nolog pod2html
''vms_prefix':[lib.pod]pod2html.com"
-$ WRITE CONFIG "$ define/nolog pod2man
''vms_prefix':[lib.pod]pod2man.com"
$!
$ IF (tzneedset)
$ THEN
@@ -6948,16 +6942,16 @@
$ WRITE CONFIG "$ h2xs == """ + perl_setup_perl + "
''vms_prefix':[utils]h2xs.com"""
$ WRITE CONFIG "$ instmodsh == """ + perl_setup_perl + "
''vms_prefix':[utils]instmodsh.com"""
$ WRITE CONFIG "$ libnetcfg == """ + perl_setup_perl + "
''vms_prefix':[utils]libnetcfg.com"""
-$ WRITE CONFIG "$ perlbug == """ + perl_setup_perl + "
''vms_prefix':[lib]perlbug.com"""
+$ WRITE CONFIG "$ perlbug == """ + perl_setup_perl + "
''vms_prefix':[utils]perlbug.com"""
$ WRITE CONFIG "$!perlcc == """ + perl_setup_perl + "
''vms_prefix':[utils]perlcc.com"""
-$ WRITE CONFIG "$ perldoc == """ + perl_setup_perl + "
''vms_prefix':[lib.pods]perldoc.com """"-t"""""""
+$ WRITE CONFIG "$ perldoc == """ + perl_setup_perl + "
''vms_prefix':[utils]perldoc.com """"-t"""""""
$ WRITE CONFIG "$ perlivp == """ + perl_setup_perl + "
''vms_prefix':[utils]perlivp.com"""
$ WRITE CONFIG "$ piconv == """ + perl_setup_perl + "
''vms_prefix':[utils]piconv.com"""
$ WRITE CONFIG "$ pl2pm == """ + perl_setup_perl + "
''vms_prefix':[utils]pl2pm.com"""
-$ WRITE CONFIG "$ pod2html == """ + perl_setup_perl + "
''vms_prefix':[utils]pod2html"""
-$ WRITE CONFIG "$ pod2latex == """ + perl_setup_perl + "
''vms_prefix':[lib.pod]pod2latex.com"""
-$ WRITE CONFIG "$ pod2text == """ + perl_setup_perl + "
''vms_prefix':[utils]pod2text"""
-$ WRITE CONFIG "$!pod2man == """ + perl_setup_perl + "
''vms_prefix':[utils]pod2man"""
+$ WRITE CONFIG "$ pod2html == """ + perl_setup_perl + "
''vms_prefix':[utils]pod2html.com"""
+$ WRITE CONFIG "$ pod2latex == """ + perl_setup_perl + "
''vms_prefix':[utils]pod2latex.com"""
+$ WRITE CONFIG "$ pod2text == """ + perl_setup_perl + "
''vms_prefix':[utils]pod2text.com"""
+$ WRITE CONFIG "$!pod2man == """ + perl_setup_perl + "
''vms_prefix':[utils]pod2man.com"""
$ WRITE CONFIG "$ pod2usage == """ + perl_setup_perl + "
''vms_prefix':[utils]pod2usage.com"""
$ WRITE CONFIG "$ podchecker == """ + perl_setup_perl + "
''vms_prefix':[utils]podchecker.com"""
$ WRITE CONFIG "$ podselect == """ + perl_setup_perl + "
''vms_prefix':[utils]podselect.com"""
diff -ru bleed_at_27383/vms/gen_shrfls.pl bleed/vms/gen_shrfls.pl
--- bleed_at_27383/vms/gen_shrfls.pl 2006-03-05 18:48:37.851511000
-0500
+++ bleed/vms/gen_shrfls.pl 2006-03-05 18:57:43.847968000 -0500
@@ -60,6 +60,10 @@
chomp $isvax;
print "\$isvax: \\$isvax\\\n" if $debug;
+$isi64 = `\$ Write Sys\$Output \(F\$GetSyI(\"HW_MODEL\") .GE. 4096`;
+chomp $isi64;
+print "\$isi64: \\$isi64\\\n" if $debug;
+
print "Input \$cc_cmd: \\$cc_cmd\\\n" if $debug;
$docc = ($cc_cmd !~ /^~~/);
print "\$docc = $docc\n" if $debug;
@@ -258,8 +262,14 @@
}
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";
+ if ($isi64) {
+ 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 "case_sensitive=yes\n" if $care_about_case;
foreach $var (sort (keys %vars,keys %cvars)) {
End of Patch
I should note that with this compiler:
HP C V7.1-011 on OpenVMS IA64 V8.2-1
that the kit failed two tests:
lib/Net/Ping/t/510_ping_udp................................FAILED at test
2
lib/Pod/Simple/t/corpustest................................FAILED--expected
43 tests, saw 2
But perhaps more disconcerting the command was what happened when I went
to install the test kit:
$ mmk install
If F$TrnLnm("Sys") .nes. "" Then Deass SYS
MCR Sys$Disk:[]miniperl.exe "-I[.lib]" installperl
Deep recursion on subroutine "File::Path::mkpath" at lib/File/Path.pm line
171.
and the kit does not install, the perl_root directory is not even created.
Peter Prymmer
conf_27383.patch
Description: Binary data
