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