From c2da85bab803bec3ca5fa4521a7396803c18a76d Mon Sep 17 00:00:00 2001 From: Gurusamy Sarathy Date: Wed, 24 Mar 1999 10:01:56 +0000 Subject: [PATCH] integrate changes#3091-3094 from maint-5.005 p4raw-link: @3091 on //depot/maint-5.005/perl: 74b502a1b27c7427d14366e729c0b76cb5ba79a6 p4raw-id: //depot/perl@3148 p4raw-integrated: from //depot/maint-5.005/perl@3147 'copy in' vos/config_h.SH_orig (@2813..) README.hurd (@3093..) 'merge in' vms/subconfigure.com (@2716..) vos/config.h (@2813..) --- README.hurd | 45 +++++++++++++++++---------------- vms/subconfigure.com | 4 +++ vos/config.h | 16 ++++++++++-- vos/config_h.SH_orig | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 111 insertions(+), 25 deletions(-) diff --git a/README.hurd b/README.hurd index 2afa0e6..40e1ba9 100644 --- a/README.hurd +++ b/README.hurd @@ -1,39 +1,40 @@ Notes on Perl on the Hurd -Last Updated: Fri, 12 Feb 1999 21:11:14 +0100 +Last Updated: Sat, 6 Mar 1999 16:07:59 +0100 Written by: Mark Kettenis -* Known Problems +If you want to use Perl on the Hurd, I recommend using the Debian +GNU/Hurd distribution (see http://www.debian.org), even if an +official, stable release has not yet been made. The old `gnu-0.2' +binary distribution will most certainly have additional problems. -There are several problems with Perl on the Hurd. Most of them are -related to bugs in the OS, some might be actual bugs in Perl. +* Known Problems -The database code has problems that make Perl crash. When running the -test-suite one of the tests will crash. Note that on the Hurd when a -program crashes, the crash server suspends the program. Continuing -the program will cause it to exit. +The Perl testsuite may still report some errors on the Hurd. The +`lib/anydbm.t' and `op/stat.t' tests will most certainly fail. The +first fails because Berkeley DB 2 does not allow empty keys and the +test tries to use them anyway. This is not really a Hurd bug. The +same test fails on Linux with version 2.1 of the GNU C Library. The +second failure is caused by a bug in the Hurd's filesystem servers, +that we have not been able to fix yet. I don't think it is crucial. The socket tests may fail if the network is not configured. You have to make `/hurd/pfinet' the translator for `/servers/socket/2', giving it the right arguments. Try `/hurd/pfinet --help' for more -information. It seems that it is currently not possible to do this -right when you do not have a supported network device. Therefore all -tests that use INET sockets fail on my system, suggesting that the -`localhost' address may not be defined. +information. Here are the statistics for Perl 5.005_03 on my system: Failed Test Status Wstat Total Fail Failed List of failed ------------------------------------------------------------------------------- -lib/anydbm.t 12 3 25.00% 1, 4, 9 -lib/db-btree.t 0 11 ?? ?? % ?? -lib/db-hash.t 255 65280 62 42 67.74% 15, 22-62 -lib/db-recno.t 2 512 78 61 78.21% 17, 19-78 -lib/io_pipe.t 10 ?? % ?? -lib/io_sock.t 46 11776 5 5 100.00% 1-5 -lib/io_udp.t 46 11776 3 3 100.00% 1-3 -lib/socket.t 6 6 100.00% 1-6 +lib/anydbm.t 12 1 8.33% 12 op/stat.t 58 1 1.72% 4 -op/time.t 5 1 20.00% 2 5 tests skipped, plus 14 subtests skipped. -Failed 10/188 test scripts, 94.68% okay. 121/6467 subtests failed, 98.13% okay. +Failed 2/189 test scripts, 98.94% okay. 2/6669 subtests failed, 99.97% okay. + +There are quite a few systems out there that do worse! + +However, since I am running a very recent Hurd snapshot, in which a lot of +bugs that were exposed by the Perl testsuite have been fixed, you may +encounter more failures. Likely candidates are: `lib/io_pipe.t', +`lib/io_sock.t', `lib/io_udp.t' and `lib/time.t'. diff --git a/vms/subconfigure.com b/vms/subconfigure.com index 77dc15c..5f0c6a8 100644 --- a/vms/subconfigure.com +++ b/vms/subconfigure.com @@ -73,6 +73,8 @@ $ perl_i_sysmman="undef" $ perl_d_telldirproto="define" $ perl_i_sysmount="undef" $ perl_d_fstatfs="undef" +$ perl_i_machcthreads="undef" +$ perl_i_pthread="define" $ perl_d_fstatvfs="undef" $ perl_d_statfsflags="undef" $ perl_i_sysstatvfs="undef" @@ -3078,6 +3080,8 @@ $ WC "i_sysmount='" + perl_i_sysmount + "'" $ WC "d_fstatfs='" + perl_d_fstatfs + "'" $ WC "d_statfsflags='" + perl_d_statfsflags + "'" $ WC "i_sysstatvfs='" + perl_i_sysstatvfs + "'" +$ WC "i_machcthreads='" + perl_i_machcthreads + "'" +$ WC "i_pthread='" + perl_i_pthread + "'" $ WC "d_fstatvfs='" + perl_d_fstatvfs + "'" $ WC "i_mntent='" + perl_i_mntent + "'" $ WC "d_getmntent='" + perl_d_getmntent + "'" diff --git a/vos/config.h b/vos/config.h index 7f4c1a2..bed1a98 100644 --- a/vos/config.h +++ b/vos/config.h @@ -1,7 +1,7 @@ /* This is config.h for Stratus VOS. It was created by hand from the distribution copy of config_h.SH. */ -/* Configuration time: September 4, 1998 +/* Configuration time: March 5, 1999 * Configured by: Paul Green * Target system: Stratus VOS */ @@ -1144,7 +1144,7 @@ * This symbol is defined if the C compiler can cast negative * or large floating point numbers to 32-bit ints. */ -#define CASTI32 /**/ +/*#define CASTI32 /**/ /* CASTNEGFLOAT: * This symbol is defined if the C compiler can cast negative @@ -1990,6 +1990,18 @@ */ #define ARCHNAME "vos" /**/ +/* I_MACH_CTHREADS: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +/*#define I_MACH_CTHREADS /**/ + +/* I_PTHREAD: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +/*#define I_PTHREAD /**/ + /* HAS_PTHREAD_YIELD: * This symbol, if defined, indicates that the pthread_yield * routine is available to yield the execution of the current diff --git a/vos/config_h.SH_orig b/vos/config_h.SH_orig index 49f86c7..819be2b 100755 --- a/vos/config_h.SH_orig +++ b/vos/config_h.SH_orig @@ -239,6 +239,54 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_fsetpos HAS_FSETPOS /**/ +/* I_SYS_MOUNT: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#$i_sysmount I_SYS_MOUNT /**/ + +/* HAS_FSTATFS: + * This symbol, if defined, indicates that the fstatfs routine is + * available to stat the filesystem of a file descriptor. + */ +#$d_fstatfs HAS_FSTATFS /**/ + +/* HAS_STRUCT_STATFS_FLAGS: + * This symbol, if defined, indicates that the struct statfs has + * the f_flags member for mount flags. + */ +#$d_statfsflags HAS_STRUCT_STATFS_FLAGS /**/ + +/* I_SYS_STATVFS: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#$i_sysstatvfs I_SYS_STATVFS /**/ + +/* HAS_FSTATVFS: + * This symbol, if defined, indicates that the fstatvfs routine is + * available to stat the filesystem of a file descriptor. + */ +#$d_fstatvfs HAS_FSTATVFS /**/ + +/* I_MNTENT: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +#$i_mntent I_MNTENT /**/ + +/* HAS_GETMNTENT: + * This symbol, if defined, indicates that the getmntent routine is + * available to lookup mount entries in some data base or other. + */ +#$d_getmntent HAS_GETMNTENT /**/ + +/* HAS_HASMNTOPT: + * This symbol, if defined, indicates that the hasmntopt routine is + * available to query mount entries returned by getmntent. + */ +#$d_hasmntopt HAS_HASMNTOPT /**/ + /* HAS_GETTIMEOFDAY: * This symbol, if defined, indicates that the gettimeofday() system * call is available for a sub-second accuracy clock. Usually, the file @@ -1813,7 +1861,7 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- * the sig_name list. */ #define SIG_NAME $sig_name_init /**/ -#define SIG_NUM $sig_num /**/ +#define SIG_NUM $sig_num_init /**/ /* VOIDFLAGS: * This symbol indicates how much support of the void type is given by this @@ -1902,6 +1950,15 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #define PRIVLIB "$privlib" /**/ #define PRIVLIB_EXP "$privlibexp" /**/ +/* SELECT_MIN_BITS: + * This symbol holds the minimum number of bits operated by select. + * That is, if you do select(n, ...), how many bits at least will be + * cleared in the masks if some activity is detected. Usually this + * is either n or 32*ceil(n/32), especially many little-endians do + * the latter. This is only useful if you have select(), naturally. + */ +#define SELECT_MIN_BITS $selectminbits /**/ + /* SITEARCH: * This symbol contains the name of the private library for this package. * The library is private in the sense that it needn't be in anyone's @@ -2017,6 +2074,18 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #define ARCHNAME "$archname" /**/ +/* I_MACH_CTHREADS: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +/*#define I_MACH_CTHREADS /**/ + +/* I_PTHREAD: + * This symbol, if defined, indicates to the C program that it should + * include . + */ +/*#define I_PTHREAD /**/ + /* HAS_PTHREAD_YIELD: * This symbol, if defined, indicates that the pthread_yield * routine is available to yield the execution of the current -- 2.7.4