diff options
author | Karl Williamson <khw@cpan.org> | 2022-05-31 17:26:08 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2022-06-10 06:48:35 -0600 |
commit | 1aa8e6dd85c09ce7ce928c1ab673fba6e7c739eb (patch) | |
tree | f3e081b309c932fc4eece03f2ba82f55f7d366be | |
parent | ca4a6e05b1b031a6fae109c6799ebbcf01c547d9 (diff) | |
download | perl-1aa8e6dd85c09ce7ce928c1ab673fba6e7c739eb.tar.gz |
Remove support for Ultrix
Ultrix has been removed. Ultrix was the native Unix-like operating
system for various Digital Equipment Corporation machines. Its final
release was in 1995.
-rw-r--r-- | MANIFEST | 2 | ||||
-rwxr-xr-x | config_h.SH | 6 | ||||
-rw-r--r-- | ext/ODBM_File/ODBM_File.pm | 2 | ||||
-rw-r--r-- | ext/ODBM_File/ODBM_File.xs | 4 | ||||
-rw-r--r-- | ext/ODBM_File/hints/ultrix.pl | 4 | ||||
-rw-r--r-- | ext/POSIX/POSIX.xs | 3 | ||||
-rw-r--r-- | hints/ultrix_4.sh | 69 | ||||
-rw-r--r-- | locale.c | 55 | ||||
-rw-r--r-- | pod/perldelta.pod | 8 | ||||
-rw-r--r-- | t/base/num.t | 10 | ||||
-rw-r--r-- | t/op/arith2.t | 3 | ||||
-rw-r--r-- | t/op/pack.t | 9 | ||||
-rw-r--r-- | t/op/sprintf.t | 5 | ||||
-rw-r--r-- | uconfig.h | 8 |
14 files changed, 33 insertions, 155 deletions
@@ -4407,7 +4407,6 @@ ext/ODBM_File/hints/MSWin32.pl Hint for ODBM_File for named architecture ext/ODBM_File/hints/sco.pl Hint for ODBM_File for named architecture ext/ODBM_File/hints/solaris.pl Hint for ODBM_File for named architecture ext/ODBM_File/hints/svr4.pl Hint for ODBM_File for named architecture -ext/ODBM_File/hints/ultrix.pl Hint for ODBM_File for named architecture ext/ODBM_File/Makefile.PL ODBM extension makefile writer ext/ODBM_File/ODBM_File.pm ODBM extension Perl module ext/ODBM_File/ODBM_File.xs ODBM extension external subroutines @@ -4830,7 +4829,6 @@ hints/svr4.sh Hints for named architecture hints/svr5.sh Hints for named architecture hints/t001.c Test case for gcc bug hints/ti1500.sh Hints for named architecture -hints/ultrix_4.sh Hints for named architecture hints/umips.sh Hints for named architecture hints/unicos.sh Hints for named architecture hints/unicosmk.sh Hints for named architecture diff --git a/config_h.SH b/config_h.SH index df5f42ac9e..4b27519dd8 100755 --- a/config_h.SH +++ b/config_h.SH @@ -3406,9 +3406,9 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un * does have the f_flags member containing the mount flags of * the filesystem containing the file. * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), - * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not - * have statfs() and struct statfs, they have ustat() and getmnt() - * with struct ustat and struct fs_data. + * not from <sys/statfs.h> (SYSV). Older BSDs do not have statfs() and + * struct statfs, they have ustat() and getmnt() with struct ustat and + * struct fs_data. */ #$d_statfs_f_flags HAS_STRUCT_STATFS_F_FLAGS /**/ diff --git a/ext/ODBM_File/ODBM_File.pm b/ext/ODBM_File/ODBM_File.pm index 1b49440f3a..874ccf0e4d 100644 --- a/ext/ODBM_File/ODBM_File.pm +++ b/ext/ODBM_File/ODBM_File.pm @@ -7,7 +7,7 @@ require Tie::Hash; require XSLoader; our @ISA = qw(Tie::Hash); -our $VERSION = "1.17"; +our $VERSION = "1.18"; XSLoader::load(); diff --git a/ext/ODBM_File/ODBM_File.xs b/ext/ODBM_File/ODBM_File.xs index 38e6dbf446..2675f7e9e3 100644 --- a/ext/ODBM_File/ODBM_File.xs +++ b/ext/ODBM_File/ODBM_File.xs @@ -28,13 +28,13 @@ datum nextkey(datum key); #ifdef DBM_BUG_DUPLICATE_FREE /* - * DBM on at least Ultrix and HPUX call dbmclose() from dbminit(), + * DBM on at least HPUX call dbmclose() from dbminit(), * resulting in duplicate free() because dbmclose() does *not* * check if it has already been called for this DBM. * If some malloc/free calls have been done between dbmclose() and * the next dbminit(), the memory might be used for something else when * it is freed. - * Verified to work on ultrix4.3. Probably will work on HP/UX. + * Probably will work on HP/UX. * Set DBM_BUG_DUPLICATE_FREE in the extension hint file. */ /* Close the previous dbm, and fail to open a new dbm */ diff --git a/ext/ODBM_File/hints/ultrix.pl b/ext/ODBM_File/hints/ultrix.pl deleted file mode 100644 index b9b99ab8b5..0000000000 --- a/ext/ODBM_File/hints/ultrix.pl +++ /dev/null @@ -1,4 +0,0 @@ -# Try to work around "bad free" messages. See note in ODBM_File.xs. -# Andy Dougherty <doughera@lafayette.edu> -# Sun Sep 8 12:57:52 EDT 1996 -$self->{CCFLAGS} = $Config{ccflags} . ' -DDBM_BUG_DUPLICATE_FREE' ; diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs index 5ffdc247fe..f6a56e7af8 100644 --- a/ext/POSIX/POSIX.xs +++ b/ext/POSIX/POSIX.xs @@ -1341,9 +1341,6 @@ static NV_PAYLOAD_TYPE S_getpayload(NV nv) #include <termios.h> #endif #include <stdlib.h> -#ifndef __ultrix__ -#include <string.h> -#endif #include <sys/stat.h> #include <sys/types.h> #include <time.h> diff --git a/hints/ultrix_4.sh b/hints/ultrix_4.sh deleted file mode 100644 index f32f06dba3..0000000000 --- a/hints/ultrix_4.sh +++ /dev/null @@ -1,69 +0,0 @@ -# hints/ultrix_4.sh -# Last updated by Andy Dougherty <doughera@lafayette.edu> -# Fri Feb 10 10:04:51 EST 1995 -# -# Use Configure -Dcc=gcc to use gcc. -# -# This used to use -g, but that pulls in -DDEBUGGING by default. -case "$optimize" in -'') - # recent versions have a working compiler. - case "$osvers" in - *4.[45]*) optimize='-O2' ;; - *) optimize='none' ;; - esac - ;; -esac - -# Some users have reported Configure runs *much* faster if you -# replace all occurrences of /bin/sh by /bin/sh5 -# Something like: -# sed 's!/bin/sh!/bin/sh5!g' Configure > Configure.sh5 -# Then run "sh5 Configure.sh5 [your options]" - -case "$myuname" in -*risc*) cat <<EOF >&4 -Note that there is a bug in some versions of NFS on the DECStation that -may cause utime() to work incorrectly. If so, regression test io/fs -may fail if run under NFS. Ignore the failure. -EOF -esac - -# Compiler flags that depend on osversion: -case "$cc" in -*gcc*) ;; -*) - case "$osvers" in - *4.1*) ccflags="$ccflags -DLANGUAGE_C -Olimit 3800" ;; - *4.2*) ccflags="$ccflags -DLANGUAGE_C -Olimit 3800" - # Prototypes sometimes cause compilation errors in 4.2. - prototype=undef - *4.3*) ccflags="$ccflags -std1 -DLANGUAGE_C -Olimit 3800" ;; - *) ccflags="$ccflags -std -Olimit 3800" ;; - esac - ;; -esac - -# Other settings that depend on $osvers: -case "$osvers" in -*4.1*) ;; -*4.2*) libswanted=`echo $libswanted | sed 's/ malloc / /'` ;; -*4.3*) ;; -*) ranlib='ranlib' ;; -esac - -# Settings that don't depend on $osvers: - -util_cflags='ccflags="$ccflags -DLOCALE_ENVIRON_REQUIRED"' -groupstype='int' -# The configure test should be beefed up to try using the field when -# it can't find any of the standardly-named fields. -d_dirnamlen='define' - -# Ultrix can mmap only character devices, not regular files, -# which is rather useless state of things for Perl. -d_mmap='undef' - -# There simply isn't dynaloading in Ultrix. -usedl='undef' - @@ -3070,11 +3070,18 @@ Perl_init_i18nl10n(pTHX_ int printwarn) * user-default ANSI code page obtained from the operating system. This is * added as yet another loop iteration, just before the final "C" * - * On Ultrix, the locale MUST come from the environment, so there is - * preliminary code to set it. I (khw) am not sure that it is necessary, - * and that this couldn't be folded into the loop, but barring any real - * platforms to test on, it's staying as-is - */ + * A slight complication is that in embedded Perls, the locale may already + * be set-up, and we don't want to get it from the normal environment + * variables. This is handled by having a special environment variable + * indicate we're in this situation. We simply set setlocale's 2nd + * parameter to be a NULL instead of "". That indicates to setlocale that + * it is not to change anything, but to return the current value, + * effectively initializing perl's db to what the locale already is. + * + * We play the same trick with NULL if a LC_ALL succeeds. We call + * setlocale() on the individual categores with NULL to get their existing + * values for our db, instead of trying to change them. + * */ int ok = 1; @@ -3295,44 +3302,6 @@ Perl_init_i18nl10n(pTHX_ int printwarn) do_setlocale_c(LC_ALL, my_setlocale(LC_ALL, NULL)); # endif -# ifdef LOCALE_ENVIRON_REQUIRED - - /* - * Ultrix setlocale(..., "") fails if there are no environment - * variables from which to get a locale name. - */ - -# ifndef LC_ALL -# error Ultrix without LC_ALL not implemented -# else - - { - bool done = FALSE; - if (lang) { - sl_result[LC_ALL_INDEX] = do_setlocale_c(LC_ALL, setlocale_init); - DEBUG_LOCALE_INIT(LC_ALL, setlocale_init, sl_result[LC_ALL_INDEX]); - if (sl_result[LC_ALL_INDEX]) - done = TRUE; - else - setlocale_failure = TRUE; - } - if (! setlocale_failure) { - const char * locale_param; - for (i = 0; i < LC_ALL_INDEX; i++) { - locale_param = (! done && (lang || PerlEnv_getenv(category_names[i]))) - ? setlocale_init - : NULL; - sl_result[i] = do_setlocale_r(categories[i], locale_param); - if (! sl_result[i]) { - setlocale_failure = TRUE; - } - DEBUG_LOCALE_INIT(categories[i], locale_param, sl_result[i]); - } - } - } - -# endif /* LC_ALL */ -# endif /* LOCALE_ENVIRON_REQUIRED */ /* We try each locale in the list until we get one that works, or exhaust * the list. Normally the loop is executed just once. But if setting the diff --git a/pod/perldelta.pod b/pod/perldelta.pod index a2a07d165f..36f51a13cb 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -319,13 +319,13 @@ XXX =head2 Discontinued Platforms -XXX List any platforms that this version of perl no longer compiles on. - =over 4 -=item XXX-some-platform +=item Ultrix -XXX +Support code for DEC Ultrix has been removed. Ultrix was the native +Unix-like operating system for various Digital Equipment Corporation +machines. Its final release was in 1995. =back diff --git a/t/base/num.t b/t/base/num.t index 2e66bc940e..eaf58dee20 100644 --- a/t/base/num.t +++ b/t/base/num.t @@ -176,13 +176,13 @@ $a = 0.00049999999999999999999999999999999999999; $b = 0.0005000000000000000104; print $a <= $b ? "ok 46\n" : "not ok 46\n"; -if ($^O eq 'ultrix' || $^O eq 'VMS' || +if ($^O eq 'VMS' || (pack("d", 1) =~ /^[\x80\x10]\x40/) # VAX D_FLOAT, G_FLOAT. ) { - # Ultrix enters looong nirvana over this. VMS blows up when configured with - # D_FLOAT (but with G_FLOAT or IEEE works fine). The test should probably - # make the number of 0's a function of NV_DIG, but that's not in Config and - # we probably don't want to suck Config into a base test anyway. + # VMS blows up when configured with D_FLOAT (but with G_FLOAT or IEEE works + # fine). The test should probably make the number of 0's a function of + # NV_DIG, but that's not in Config and we probably don't want to suck Config + # into a base test anyway. print "ok 47 # skipped on $^O\n"; } else { $a = 0.00000000000000000000000000000000000000000000000000000000000000000001; diff --git a/t/op/arith2.t b/t/op/arith2.t index 517d565161..478f6c7ae8 100644 --- a/t/op/arith2.t +++ b/t/op/arith2.t @@ -28,9 +28,6 @@ SKIP: elsif ($vms_no_ieee || !$Config{d_double_has_inf}) { skip "the IEEE infinity model is unavailable in this configuration", 1; } - elsif ($^O eq 'ultrix') { - skip "Ultrix enters deep nirvana instead of producing infinity.", 1; - } # The computation of $v should overflow and produce "infinity" # on any system whose max exponent is less than 10**1506. # The exact string used to represent infinity varies by OS, diff --git a/t/op/pack.t b/t/op/pack.t index 571dc979dc..93865b0b3d 100644 --- a/t/op/pack.t +++ b/t/op/pack.t @@ -276,11 +276,7 @@ sub list_eq ($$) { if (($^O eq 'VMS') && !defined($Config{useieee}) || !$Config{d_double_has_inf}); skip("-- $^O has serious fp indigestion on w-packed infinities", 1) - if ( - ($^O eq 'ultrix') - || - ($^O =~ /^svr4/ && -f "/etc/issue" && -f "/etc/.relid") # NCR MP-RAS - ); + if $^O =~ /^svr4/ && -f "/etc/issue" && -f "/etc/.relid"; # NCR MP-RAS my $inf = eval '2**1000000'; @@ -300,9 +296,6 @@ sub list_eq ($$) { skip("-- the full range of an IEEE double may not be available in this configuration.", 3) if (($^O eq 'VMS') && !defined($Config{useieee}) || !$Config{d_double_style_ieee}); - skip("-- $^O does not like 2**1023", 3) - if (($^O eq 'ultrix')); - # This should be about the biggest thing possible on an IEEE double my $big = eval '2**1023'; diff --git a/t/op/sprintf.t b/t/op/sprintf.t index ea2a984082..abd4ae23fc 100644 --- a/t/op/sprintf.t +++ b/t/op/sprintf.t @@ -30,9 +30,6 @@ if ($^O eq 'VMS') { $Is_VMS_VAX = $hw_model < 1024 ? 1 : 0; } -# No %Config. -my $Is_Ultrix_VAX = $^O eq 'ultrix' && `uname -m` =~ /^VAX$/; - # The most generic VAX catcher. my $Is_VAX_Float = (pack("d", 1) =~ /^[\x80\x10]\x40/); @@ -55,7 +52,7 @@ while (<DATA>) { $data =~ s/([eE])\-101$/${1}-56/; # larger exponents $result =~ s/([eE])\-102$/${1}-57/; # " " } - if ($Is_VMS_VAX || $Is_Ultrix_VAX || $Is_VAX_Float) { + if ($Is_VMS_VAX || $Is_VAX_Float) { # VAX DEC C 5.3 at least since there is no # ccflags =~ /float=ieee/ on VAX. # AXP is unaffected whether or not it is using ieee. @@ -3371,9 +3371,9 @@ * does have the f_flags member containing the mount flags of * the filesystem containing the file. * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), - * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not - * have statfs() and struct statfs, they have ustat() and getmnt() - * with struct ustat and struct fs_data. + * not from <sys/statfs.h> (SYSV). Older BSDs do not have statfs() and + * struct statfs, they have ustat() and getmnt() with struct ustat and + * struct fs_data. */ /*#define HAS_STRUCT_STATFS_F_FLAGS / **/ @@ -5346,6 +5346,6 @@ #endif /* Generated from: - * 8c961decbb871f9aa0865ec6164bd1dd007bdb811dd78afdf20e47171bfd441a config_h.SH + * ff9df121df3ac057e283c9218bf0bd4fbdc28d9a6d01a956c4a865ecec274fb0 config_h.SH * 19bd12935947a7874015a5e6559bdd33363b49755d1e42cc7aebe0fb7ec54657 uconfig.sh * ex: set ro: */ |