summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MANIFEST2
-rwxr-xr-xconfig_h.SH6
-rw-r--r--ext/ODBM_File/ODBM_File.pm2
-rw-r--r--ext/ODBM_File/ODBM_File.xs4
-rw-r--r--ext/ODBM_File/hints/ultrix.pl4
-rw-r--r--ext/POSIX/POSIX.xs3
-rw-r--r--hints/ultrix_4.sh69
-rw-r--r--locale.c55
-rw-r--r--pod/perldelta.pod8
-rw-r--r--t/base/num.t10
-rw-r--r--t/op/arith2.t3
-rw-r--r--t/op/pack.t9
-rw-r--r--t/op/sprintf.t5
-rw-r--r--uconfig.h8
14 files changed, 33 insertions, 155 deletions
diff --git a/MANIFEST b/MANIFEST
index 258d61dd90..3c26c4a2b9 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -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'
-
diff --git a/locale.c b/locale.c
index f1f7885919..1b5c8cfbd6 100644
--- a/locale.c
+++ b/locale.c
@@ -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.
diff --git a/uconfig.h b/uconfig.h
index 7648b8f01c..401ded5b43 100644
--- a/uconfig.h
+++ b/uconfig.h
@@ -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: */