summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Green <Paul.Green@stratus.com>2004-01-15 11:00:15 -0500
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2004-01-17 22:00:48 +0000
commit8f8d40ab34e002001c7e6f500a987fa1dfb3bd78 (patch)
treeb2032d9a55fde4bc9cf483320b1848bbf6f3005e
parentbac662eeb2cdce47175319fe613f5779e780f517 (diff)
downloadperl-8f8d40ab34e002001c7e6f500a987fa1dfb3bd78.tar.gz
Refactor VOS patches for bleadperl and perl-5.8.x
From: "Green, Paul" <Paul.Green@stratus.com> Message-ID: <A2A34F15EE916148BC4C4748223E67A4069FBB15@exna4.stratus.com> p4raw-id: //depot/perl@22171
-rw-r--r--README.vos34
-rw-r--r--hv.c4
-rw-r--r--pp_pack.c10
-rw-r--r--vos/Changes4
4 files changed, 32 insertions, 20 deletions
diff --git a/README.vos b/README.vos
index c75823586a..56a34197ad 100644
--- a/README.vos
+++ b/README.vos
@@ -24,7 +24,7 @@ ftp://ftp.stratus.com/pub/vos/utility/utility.html.
If you are running VOS Release 14.4.1 or later, you can obtain a
pre-compiled, supported copy of perl by purchasing Release 2.0.1
-of the VOS GNU C++ and GNU Tools product from Stratus
+(or later) of the VOS GNU C++ and GNU Tools product from Stratus
Technologies.
=head1 BUILDING PERL FOR VOS
@@ -36,8 +36,7 @@ and the GNU C++ and GNU Tools, Release 2.0.1 or later.
To build full perl using the supplied Configure script and
makefiles, change to the "vos" subdirectory and type the command
"compile_full_perl" or "start_process compile_full_perl". This
-will configure, build, and test perl. All of the test cases
-that are executed should pass.
+will configure, build, and test perl.
=head1 INSTALLING PERL IN VOS
@@ -56,8 +55,6 @@ While there are currently no architecture-specific
extensions or modules distributed with perl, the following
directories can be used to hold such files:
- >system>ported>lib>perl5>5.9.0>68k
- >system>ported>lib>perl5>5.9.0>860
>system>ported>lib>perl5>5.9.0>7100
>system>ported>lib>perl5>5.9.0>8000
@@ -71,8 +68,6 @@ two places. Put architecture-independent files into:
Put site-specific architecture-dependent files into one of the
following directories:
- >system>ported>lib>perl5>site_perl>5.9.0>68k
- >system>ported>lib>perl5>site_perl>5.9.0>860
>system>ported>lib>perl5>site_perl>5.9.0>7100
>system>ported>lib>perl5>site_perl>5.9.0>8000
@@ -124,13 +119,20 @@ yet fixed.
=head1 TEST STATUS
-When Perl 5.8.1 is built using the native build process on VOS
-Release 14.5.0 and GNU C++/GNU Tools 2.0.1, all but five
+When Perl 5.9.0 is built using the native build process on VOS
+Release 14.7.0 and GNU C++/GNU Tools 2.0.2a, all but nine
attempted tests either pass or result in TODO (ignored)
failures. The tests that fail are:
-ext/Time/HiRes/HiRes, tests 8, 11, 20, and 21.
-lib/Net/Ping/t/450_service, test 8.
+t/io/dup, test 2
+t/io/tell, test 28
+t/op/pack, test 0
+ext/B/t/bytecode, test 1
+ext/Devel/Peek/t/Peek, test 1
+ext/Encode/t/enc_module, test 1
+ext/IO/t/io_dup, test 2
+lib/ExtUtils/t/MM_Unix, test 94
+lib/Net/ing/t/450_service, test 8
=head1 SUPPORT STATUS
@@ -139,10 +141,10 @@ can't guarantee I'll be able to answer them. There are some
excellent books available on the Perl language; consult a book
seller.
-If you want a supported version of perl for VOS, purchase the VOS
-GNU C++ and GNU Tools Release 2.0.1 product from Stratus
-Technologies, along with a support contract (or from anyone else
-who will sell you support).
+If you want a supported version of perl for VOS, purchase the
+VOS GNU C++ and GNU Tools Release 2.0.1 (or later) product from
+Stratus Technologies, along with a support contract (or from
+anyone else who will sell you support).
=head1 AUTHOR
@@ -150,6 +152,6 @@ Paul Green (Paul.Green@stratus.com)
=head1 LAST UPDATE
-March 26, 2003
+January 15, 2004
=cut
diff --git a/hv.c b/hv.c
index 158b0b652b..b7415ecdbe 100644
--- a/hv.c
+++ b/hv.c
@@ -369,7 +369,7 @@ Perl_hv_fetch_ent(pTHX_ HV *hv, SV *keysv, I32 lval, register U32 hash)
(lval ? HV_FETCH_LVALUE : 0), Nullsv, hash);
}
-HE *
+STATIC HE *
S_hv_fetch_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
int flags, int action, SV *val, register U32 hash)
{
@@ -866,7 +866,7 @@ Perl_hv_delete_ent(pTHX_ HV *hv, SV *keysv, I32 flags, U32 hash)
return hv_delete_common(hv, keysv, NULL, 0, 0, flags, hash);
}
-SV *
+STATIC SV *
S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
int k_flags, I32 d_flags, U32 hash)
{
diff --git a/pp_pack.c b/pp_pack.c
index 3e4993d2e2..834e723bbb 100644
--- a/pp_pack.c
+++ b/pp_pack.c
@@ -2429,11 +2429,17 @@ S_pack_rec(pTHX_ SV *cat, register tempsym_t* symptr, register SV **beglist, SV
given 10**(NV_MAX_10_EXP+1) == 128 ** x solve for x:
x = (NV_MAX_10_EXP+1) * log (10) / log (128)
And with that many bytes only Inf can overflow.
+ Some C compilers are strict about integral constant
+ expressions so we conservatively divide by a slightly
+ smaller integer instead of multiplying by the exact
+ floating-point value.
*/
#ifdef NV_MAX_10_EXP
- char buf[1 + (int)((NV_MAX_10_EXP + 1) * 0.47456)];
+/* char buf[1 + (int)((NV_MAX_10_EXP + 1) * 0.47456)]; -- invalid C */
+ char buf[1 + (int)((NV_MAX_10_EXP + 1) / 2)]; /* valid C */
#else
- char buf[1 + (int)((308 + 1) * 0.47456)];
+/* char buf[1 + (int)((308 + 1) * 0.47456)]; -- invalid C */
+ char buf[1 + (int)((308 + 1) / 2)]; /* valid C */
#endif
char *in = buf + sizeof(buf);
diff --git a/vos/Changes b/vos/Changes
index 2f1efcae03..3426d20c94 100644
--- a/vos/Changes
+++ b/vos/Changes
@@ -6,6 +6,10 @@ For 5.9.0:
custom VOS command macros. Henceforth, perl must be built
using the native Configure script.
+For 5.8.4:
+ Updated "config.alpha.def", "config.ga.def", "build.cm" and
+ "perl.bind" to build this version of perl.
+
For 5.8.0:
Updated "config.alpha.def", "config.ga.def", "build.cm", and
"install_perl.cm" to use directory naming conventions that