diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 2000-02-22 10:24:13 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 2000-02-22 10:24:13 +0000 |
commit | 82b1ab75c7c9dd56e38caa5ead5fa36320d5e062 (patch) | |
tree | 65fdc9629bbe8a7e94b05b7e57021821e574fb91 | |
parent | d2a0188286383355aaa13e586da8618f82242215 (diff) | |
parent | 87b718577ff6cdca0223546e3d763cdc43aa9c70 (diff) | |
download | perl-82b1ab75c7c9dd56e38caa5ead5fa36320d5e062.tar.gz |
integrate cfgperl contents into mainline, update Changes
p4raw-id: //depot/perl@5197
-rw-r--r-- | Changes | 171 | ||||
-rwxr-xr-x | Configure | 69 | ||||
-rw-r--r-- | Porting/Glossary | 7 | ||||
-rw-r--r-- | Porting/config.sh | 5 | ||||
-rw-r--r-- | Porting/config_H | 17 | ||||
-rw-r--r-- | config_h.SH | 9 | ||||
-rw-r--r-- | hints/solaris_2.sh | 52 | ||||
-rw-r--r-- | malloc.c | 6 | ||||
-rw-r--r-- | perl.h | 2 | ||||
-rw-r--r-- | pod/perldelta.pod | 3 | ||||
-rw-r--r-- | pod/perlhist.pod | 1 |
11 files changed, 296 insertions, 46 deletions
@@ -95,6 +95,177 @@ Version v5.5.660 Development release working toward v5.6 ---------------- ____________________________________________________________________________ +[ 5196] By: gsar on 2000/02/22 10:10:36 + Log: dos-djgpp updates (from Laszlo Molnar <laszlo.molnar@eth.ericsson.se>) + Branch: perl + ! djgpp/config.over djgpp/configure.bat djgpp/djgppsed.sh + ! t/lib/glob-basic.t t/lib/glob-case.t t/lib/glob-global.t + ! t/lib/glob-taint.t t/lib/io_unix.t +____________________________________________________________________________ +[ 5195] By: gsar on 2000/02/22 10:01:49 + Log: s/undef/NO_INIT/g in change#5183 + Branch: perl + ! lib/ExtUtils/xsubpp pod/perlxs.pod +____________________________________________________________________________ +[ 5194] By: gsar on 2000/02/22 09:44:07 + Log: perlipc bug (spotted by Ben Low) + Branch: perl + ! pod/perlipc.pod +____________________________________________________________________________ +[ 5193] By: gsar on 2000/02/22 09:38:58 + Log: EPOC port update (from Olaf Flebbe <O.Flebbe@science-computing.de>) + Branch: perl + ! README.epoc epoc/config.sh epoc/createpkg.pl perl.c +____________________________________________________________________________ +[ 5192] By: gsar on 2000/02/22 09:26:06 + Log: improvements for high-bit text literals (from Gisle Aas) + Branch: perl + ! t/pragma/warn/doop t/pragma/warn/pp t/pragma/warn/sv + ! t/pragma/warn/toke t/pragma/warn/utf8 toke.c +____________________________________________________________________________ +[ 5191] By: gsar on 2000/02/22 07:35:47 + Log: allow C<print v10>, $h{v13.10} etc. + Branch: perl + ! t/op/ver.t toke.c +____________________________________________________________________________ +[ 5190] By: gsar on 2000/02/22 05:35:27 + Log: adjust for lost fp precision in require version check + Branch: perl + ! pp_ctl.c t/comp/require.t +____________________________________________________________________________ +[ 5189] By: jhi on 2000/02/22 05:14:35 + Log: Check the alignment of long doubles if they are to be used; + regen Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH + Branch: metaconfig + ! U/compline/alignbytes.U +____________________________________________________________________________ +[ 5188] By: gsar on 2000/02/22 04:45:57 + Log: use same treatment for EINVAL as for ETIMEDOUT + Branch: perl + ! ext/IO/lib/IO/Socket/INET.pm +____________________________________________________________________________ +[ 5187] By: gsar on 2000/02/21 23:15:12 + Log: type mismatch + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 5186] By: gsar on 2000/02/21 21:10:26 + Log: remove dual-valueness of v-strings (i.e., they are pure strings + now); avoid the word "tuple" to describe strings represented as + character ordinals; usurp $PERL_VERSION for $^V as suggested by + Larry, deprecate $] ; adjust the documentation and testsuite + accordingly + Branch: perl + ! MANIFEST lib/English.pm op.c pod/perldelta.pod + ! pod/perlfunc.pod pod/perlop.pod pod/perlvar.pod + ! t/comp/require.t t/op/ver.t toke.c +____________________________________________________________________________ +[ 5185] By: jhi on 2000/02/21 20:36:05 + Log: detypo + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 5184] By: gsar on 2000/02/21 18:37:38 + Log: clarify "use Module VERSION LIST" (from Robin Barker) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 5183] By: gsar on 2000/02/21 18:31:42 + Log: allow optional XSUB parameters without being forced to use a + default (from Hugo van der Sanden) + Branch: perl + ! lib/ExtUtils/xsubpp pod/perlfunc.pod pod/perlxs.pod +____________________________________________________________________________ +[ 5182] By: jhi on 2000/02/21 18:22:47 + Log: Add Solaris LP64 notes. + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5181] By: gsar on 2000/02/21 16:53:39 + Log: generalize "%v" format into a flag for any integral format type: + "%vd", "%v#o", "%*vX", etc are allowed + Branch: perl + ! perl.c pod/perldelta.pod pod/perlfunc.pod sv.c t/op/ver.t + ! utils/perlbug.PL +____________________________________________________________________________ +[ 5180] By: gsar on 2000/02/21 07:11:00 + Log: detypo + Branch: perl + ! ext/B/B.xs +____________________________________________________________________________ +[ 5179] By: gsar on 2000/02/21 07:08:38 + Log: undo accidental delete + Branch: perl + ! ext/B/B.pm ext/B/B.xs +____________________________________________________________________________ +[ 5178] By: gsar on 2000/02/21 07:02:16 + Log: get Compiler "working" under useithreads + Branch: perl + ! ext/B/B.pm ext/B/B.xs ext/B/B/C.pm ext/B/B/CC.pm + ! ext/B/B/Deparse.pm ext/B/B/Xref.pm +____________________________________________________________________________ +[ 5177] By: jhi on 2000/02/21 03:16:24 + Log: Thou shalt not printf longs with %d. + Branch: cfgperl + ! malloc.c +____________________________________________________________________________ +[ 5176] By: jhi on 2000/02/21 01:37:35 + Log: Integrate with Sarathy. + Branch: cfgperl + +> t/pragma/warn/9enabled + !> (integrate 63 files) +____________________________________________________________________________ +[ 5175] By: gsar on 2000/02/21 00:25:00 + Log: misplaced braces + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 5174] By: gsar on 2000/02/21 00:09:16 + Log: more malloc.c tweaks for change#5070 + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 5173] By: gsar on 2000/02/21 00:01:17 + Log: malloc.c fixups in change#5170 need to fetch thx pointer + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 5172] By: gsar on 2000/02/20 23:52:39 + Log: missing file in change#5170 + Branch: perl + + t/pragma/warn/9enabled +____________________________________________________________________________ +[ 5171] By: gsar on 2000/02/20 23:49:17 + Log: skip conditionally defined symbols in change#5162 + Branch: perl + ! makedef.pl +____________________________________________________________________________ +[ 5170] By: gsar on 2000/02/20 22:58:09 + Log: lexical warnings update, ability to inspect bitmask in calling + scope, among other things (from Paul Marquess) + Branch: perl + ! MANIFEST lib/warnings.pm malloc.c mg.c op.c pod/perldiag.pod + ! pod/perlfunc.pod pod/perllexwarn.pod pp.c pp_ctl.c pp_hot.c + ! regcomp.c regexec.c sv.c t/op/substr.t t/pragma/warn/op + ! t/pragma/warn/pp t/pragma/warn/pp_ctl t/pragma/warn/pp_hot + ! t/pragma/warn/regcomp t/pragma/warn/regexec t/pragma/warn/sv + ! t/pragma/warn/toke toke.c warnings.h warnings.pl +____________________________________________________________________________ +[ 5169] By: gsar on 2000/02/20 22:22:28 + Log: windows fixes for virtualizing child std{in,out,err} handles, + attempts to lock uninitialized critical section in files that + were never explicitly opened (from Doug Lankshear) + Branch: perl + ! iperlsys.h win32/perlhost.h win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 5168] By: gsar on 2000/02/20 20:19:11 + Log: update Changes, credits + Branch: perl + ! Changes +____________________________________________________________________________ [ 5167] By: gsar on 2000/02/20 18:54:27 Log: avoid reading out-of-bounds memory when matching against reference Branch: perl @@ -20,7 +20,7 @@ # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $ # -# Generated on Thu Feb 17 01:07:48 EET 2000 [metaconfig 3.0 PL70] +# Generated on Tue Feb 22 06:52:47 EET 2000 [metaconfig 3.0 PL70] # (with additional metaconfig patches by perlbug@perl.com) cat >/tmp/c1$$ <<EOF @@ -9518,6 +9518,33 @@ eval $inlibc set mktime d_mktime eval $inlibc +: see if this is a sys/mman.h system +set sys/mman.h i_sysmman +eval $inhdr + +: see if mmap exists +set mmap d_mmap +eval $inlibc +: see what shmat returns +: default to something harmless +mmaptype='void *' +case "$i_sysmman$d_mmap" in +"$define$define") + $cat >mmap.c <<'END' +#include <sys/mman.h> +void *mmap(); +END + if $cc $ccflags -c mmap.c >/dev/null 2>&1; then + mmaptype='void *' + else + mmaptype='caddr_t' + fi + echo "and it returns ($mmaptype)." >&4 + ;; +esac + + + : see if mprotect exists set mprotect d_mprotect eval $inlibc @@ -11487,11 +11514,20 @@ EOM *) case "$alignbytes" in '') echo "Checking alignment constraints..." >&4 - $cat >try.c <<'EOCP' + if $test "X$uselongdouble" = Xdefine -a "X$d_longdbl" = Xdefine; then + $cat >try.c <<'EOCP' +typedef long double NV; +EOCP + else + $cat >try.c <<'EOCP' +typedef double NV; +EOCP + fi + $cat >>try.c <<'EOCP' #include <stdio.h> struct foobar { char foo; - double bar; + NV bar; } try_algn; int main() { @@ -12623,33 +12659,6 @@ case "$make_set_make" in *) echo "Nope, it doesn't.";; esac -: see if this is a sys/mman.h system -set sys/mman.h i_sysmman -eval $inhdr - -: see if mmap exists -set mmap d_mmap -eval $inlibc -: see what shmat returns -: default to something harmless -mmaptype='void *' -case "$i_sysmman$d_mmap" in -"$define$define") - $cat >mmap.c <<'END' -#include <sys/mman.h> -void *mmap(); -END - if $cc $ccflags -c mmap.c >/dev/null 2>&1; then - mmaptype='void *' - else - mmaptype='caddr_t' - fi - echo "and it returns ($mmaptype)." >&4 - ;; -esac - - - : see what type is used for mode_t rp="What is the type used for file modes for system calls (e.g. fchmod())?" set mode_t modetype int stdio.h sys/types.h diff --git a/Porting/Glossary b/Porting/Glossary index 73b0f1e48e..4a1e9ccc98 100644 --- a/Porting/Glossary +++ b/Porting/Glossary @@ -26,7 +26,8 @@ afs (afs.U): alignbytes (alignbytes.U): This variable holds the number of bytes required to align a - double. Usual values are 2, 4 and 8. + double-- or a long double when applicable. Usual values are + 2, 4 and 8. The default is eight, for safety. ansi2knr (ansi2knr.U): This variable is set if the user needs to run ansi2knr. @@ -2048,6 +2049,10 @@ i_sysmman (i_sysmman.U): This variable conditionally defines the I_SYS_MMAN symbol, and indicates whether a C program should include <sys/mman.h>. +i_sysmode (i_sysmode.U): + This variable conditionally defines the I_SYSMODE symbol, + and indicates whether a C program should include <sys/mode.h>. + i_sysmount (i_sysmount.U): This variable conditionally defines the I_SYSMOUNT symbol, and indicates whether a C program should include <sys/mount.h>. diff --git a/Porting/config.sh b/Porting/config.sh index 9d3d8c1bd6..b9be0758b2 100644 --- a/Porting/config.sh +++ b/Porting/config.sh @@ -8,7 +8,7 @@ # Package name : perl5 # Source directory : . -# Configuration time: Wed Feb 16 01:08:43 EET 2000 +# Configuration time: Tue Feb 22 07:10:02 EET 2000 # Configured by : jhi # Target system : osf1 alpha.hut.fi v4.0 878 alpha @@ -59,7 +59,7 @@ ccflags='-pthread -std -DLANGUAGE_C' ccsymbols='__alpha=1 __LANGUAGE_C__=1 __osf__=1 __unix__=1 _LONGLONG=1 _SYSTYPE_BSD=1 SYSTYPE_BSD=1 unix=1' cf_by='jhi' cf_email='yourname@yourhost.yourplace.com' -cf_time='Wed Feb 16 01:08:43 EET 2000' +cf_time='Tue Feb 22 07:10:02 EET 2000' charsize='1' chgrp='' chmod='' @@ -466,6 +466,7 @@ i_sysin='undef' i_sysioctl='define' i_syslog='define' i_sysmman='define' +i_sysmode='define' i_sysmount='define' i_sysndir='undef' i_sysparam='define' diff --git a/Porting/config_H b/Porting/config_H index 39ca93c488..cc65dcc77d 100644 --- a/Porting/config_H +++ b/Porting/config_H @@ -17,7 +17,7 @@ /* * Package name : perl5 * Source directory : . - * Configuration time: Wed Feb 16 01:08:43 EET 2000 + * Configuration time: Tue Feb 22 07:10:02 EET 2000 * Configured by : jhi * Target system : osf1 alpha.hut.fi v4.0 878 alpha */ @@ -1076,8 +1076,8 @@ /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a - * double. Usual values are 2, 4 and 8. The default is eight, - * for safety. + * double, or a long double when applicable. Usual values are 2, + * 4 and 8. The default is eight, for safety. */ #if defined(CROSSCOMPILE) || defined(MULTIARCH) # define MEM_ALIGNBYTES 8 @@ -1682,11 +1682,16 @@ */ /*#define HAS_MKSTEMPS / **/ +/* HAS_MMAP: + * This symbol, if defined, indicates that the mmap system call is + * available to map a file into memory. + */ /* Mmap_t: * This symbol holds the return type of the mmap() system call * (and simultaneously the type of the first argument). * Usually set to 'void *' or 'cadd_t'. */ +#define HAS_MMAP /**/ #define Mmap_t void * /**/ /* HAS_MPROTECT: @@ -2961,6 +2966,12 @@ #define PERL_XS_APIVERSION "5.5.660" #define PERL_PM_APIVERSION "5.005" +/* I_SYSMODE: + * This symbol, if defined, indicates that <sys/mode.h> exists and + * should be included. + */ +#define I_SYSMODE /**/ + /* I_SYS_UTSNAME: * This symbol, if defined, indicates that <sys/utsname.h> exists and * should be included. diff --git a/config_h.SH b/config_h.SH index 9529129c3e..e440274d60 100644 --- a/config_h.SH +++ b/config_h.SH @@ -1090,8 +1090,8 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a - * double. Usual values are 2, 4 and 8. The default is eight, - * for safety. + * double, or a long double when applicable. Usual values are 2, + * 4 and 8. The default is eight, for safety. */ #if defined(CROSSCOMPILE) || defined(MULTIARCH) # define MEM_ALIGNBYTES 8 @@ -1696,11 +1696,16 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_mkstemps HAS_MKSTEMPS /**/ +/* HAS_MMAP: + * This symbol, if defined, indicates that the mmap system call is + * available to map a file into memory. + */ /* Mmap_t: * This symbol holds the return type of the mmap() system call * (and simultaneously the type of the first argument). * Usually set to 'void *' or 'cadd_t'. */ +#$d_mmap HAS_MMAP /**/ #define Mmap_t $mmaptype /**/ /* HAS_MPROTECT: diff --git a/hints/solaris_2.sh b/hints/solaris_2.sh index a2a4087931..cbc71d834e 100644 --- a/hints/solaris_2.sh +++ b/hints/solaris_2.sh @@ -367,10 +367,10 @@ cat > UU/use64bits.cbu <<'EOCBU' case "$use64bits" in $define|true|[yY]*) case "`uname -r`" in - 2.[1-5]) + 2.[1-6]) cat >&4 <<EOM -Solaris `uname -r` does not support 64-bit interfaces. -You should upgrade to at least Solaris 2.6. +Solaris `uname -r` does not support 64-bit integers. +You should upgrade to at least Solaris 2.7. EOM exit 1 ;; @@ -516,5 +516,51 @@ Date: 25 Jul 1995 12:20:18 GMT Perl 5 compiled out of the box. +7.0) 64-bitness, from Alan Burlison (added by jhi 2000-02-21) + + You need a machine running Solaris 2.7 or above. + + Here's some rules: + + 1. Solaris 2.7 and above will run in either 32 bit or 64 bit mode, + via a reboot. + 2. You can build 64 bit apps whilst running 32 bit mode and vice-versa. + 3. 32 bit apps will run under Solaris running in either 32 or 64 bit mode. + 4. 64 bit apps require Solaris to be running 64 bit mode + 5. It is possible to select the appropriate 32 or 64 bit version of an + app at run-time using isaexec(3). + 6. You can detect the OS mode using "isainfo -v", e.g. + fubar$ isainfo -v # Ultra 30 in 64 bit mode + 64-bit sparcv9 applications + 32-bit sparc applications + 7. To compile 64 bit you need to use the flag "-xarch=v9". + getconf(1) will tell you this, e.g. + fubar$ getconf -a | grep v9 + XBS5_LP64_OFF64_CFLAGS: -xarch=v9 + XBS5_LP64_OFF64_LDFLAGS: -xarch=v9 + XBS5_LP64_OFF64_LINTFLAGS: -xarch=v9 + XBS5_LPBIG_OFFBIG_CFLAGS: -xarch=v9 + XBS5_LPBIG_OFFBIG_LDFLAGS: -xarch=v9 + XBS5_LPBIG_OFFBIG_LINTFLAGS: -xarch=v9 + _XBS5_LP64_OFF64_CFLAGS: -xarch=v9 + _XBS5_LP64_OFF64_LDFLAGS: -xarch=v9 + _XBS5_LP64_OFF64_LINTFLAGS: -xarch=v9 + _XBS5_LPBIG_OFFBIG_CFLAGS: -xarch=v9 + _XBS5_LPBIG_OFFBIG_LDFLAGS: -xarch=v9 + _XBS5_LPBIG_OFFBIG_LINTFLAGS: -xarch=v9 + + > > Now, what should we do, then? Should -Duse64bits in a v9 box cause + > > Perl to compiled in v9 mode? Or should we for compatibility stick + > > with 32 bit builds and let the people in the know to add the -xarch=v9 + > > to ccflags (and ldflags?)? + + > I think the second (explicit) mechanism should be the default. Unless + > you want to allocate more than ~ 4Gb of memory inside Perl, you don't + > need Perl to be a 64-bit app. Put it this way, on a machine running + > Solaris 8, there are 463 executables under /usr/bin, but only 15 of + > those require 64 bit versions - mainly because they invade the kernel + > address space, e.g. adb, kgmon etc. Certainly we don't recommend users + > to build 64 bit apps unless they need the address space. + End_of_Solaris_Notes @@ -1944,7 +1944,7 @@ Perl_dump_mstats(pTHX_ char *s) (long)BUCKET_SIZE(MIN_BUCKET), (long)BUCKET_SIZE_REAL(buffer.topbucket), (long)BUCKET_SIZE(buffer.topbucket)); - PerlIO_printf(Perl_error_log, "%8d free:", buffer.totfree); + PerlIO_printf(Perl_error_log, "%8ld free:", buffer.totfree); for (i = MIN_EVEN_REPORT; i <= buffer.topbucket; i += BUCKETS_PER_POW2) { PerlIO_printf(Perl_error_log, ((i < 8*BUCKETS_PER_POW2 || i == 10*BUCKETS_PER_POW2) @@ -1962,7 +1962,7 @@ Perl_dump_mstats(pTHX_ char *s) buffer.nfree[i]); } #endif - PerlIO_printf(Perl_error_log, "\n%8d used:", buffer.total - buffer.totfree); + PerlIO_printf(Perl_error_log, "\n%8ld used:", buffer.total - buffer.totfree); for (i = MIN_EVEN_REPORT; i <= buffer.topbucket; i += BUCKETS_PER_POW2) { PerlIO_printf(Perl_error_log, ((i < 8*BUCKETS_PER_POW2 || i == 10*BUCKETS_PER_POW2) @@ -1980,7 +1980,7 @@ Perl_dump_mstats(pTHX_ char *s) buffer.ntotal[i] - buffer.nfree[i]); } #endif - PerlIO_printf(Perl_error_log, "\nTotal sbrk(): %d/%d:%d. Odd ends: pad+heads+chain+tail: %d+%d+%d+%d.\n", + PerlIO_printf(Perl_error_log, "\nTotal sbrk(): %ld/%ld:%ld. Odd ends: pad+heads+chain+tail: %ld+%ld+%ld+%ld.\n", buffer.total_sbrk, buffer.sbrks, buffer.sbrk_good, buffer.sbrk_slack, buffer.start_slack, buffer.total_chain, buffer.sbrked_remains); @@ -3247,7 +3247,7 @@ typedef struct am_table_short AMTS; HAS_GETCWD - HAS-MMAP + HAS_MMAP HAS_MPROTECT HAS_MSYNC HAS_MADVSISE diff --git a/pod/perldelta.pod b/pod/perldelta.pod index f11623b7da..746c242288 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -650,7 +650,8 @@ Unfortunately bit arithmetics (&, |, ^, ~, <<, >>) for numbers are not 64-bit clean, they are explictly forced to be 32-bit because of tangled backward compatibility issues. This limitation is subject to change. Bit arithmetics for bit vector scalars (created by vec()) are -not limited in their width. +not limited in their width, you can use the & | ^ ~ operators on such +scalars. Last but not least: note that due to Perl's habit of always using floating point numbers the quads are still not true integers. diff --git a/pod/perlhist.pod b/pod/perlhist.pod index 7a8d1e5879..0e1df8abd3 100644 --- a/pod/perlhist.pod +++ b/pod/perlhist.pod @@ -334,6 +334,7 @@ the strings?). 5.005_63 1999-Dec-09 5.5.640 2000-Feb-02 5.5.650 2000-Feb-08 5.6 beta1 + 5.5.660 2000-Feb-22 5.6 beta2 =head2 SELECTED RELEASE SIZES |