[commit: ghc] master: Scrap IRIX support (0bca3f3)
git at git.haskell.org
git at git.haskell.org
Mon Mar 28 09:49:58 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/0bca3f3a56c606e5060be03227f0ea9ca2197acc/ghc
>---------------------------------------------------------------
commit 0bca3f3a56c606e5060be03227f0ea9ca2197acc
Author: Herbert Valerio Riedel <hvr at gnu.org>
Date: Mon Mar 28 11:36:21 2016 +0200
Scrap IRIX support
Long time ago, IRIX was way ahead of its time in the last century with
its SMP capabilities of scaling up to 1024 processors and other features
such as XFS or OpenGL that originated in IRIX and live on to this day in
other operating systems.
However, IRIX's last software update was in 2006 and support ended
around 2013 according to [1], so it's considered an extinct platform by
now. So this commit message is effectively an obituary for GHC's IRIX
support.
R.I.P. IRIX
[1]: https://en.wikipedia.org/wiki/IRIX
>---------------------------------------------------------------
0bca3f3a56c606e5060be03227f0ea9ca2197acc
aclocal.m4 | 4 ++--
compiler/ghc.mk | 10 ----------
includes/ghc.mk | 5 -----
libraries/base/System/CPUTime.hsc | 2 +-
libraries/base/include/HsBase.h | 2 +-
rts/posix/GetTime.c | 6 +++---
rts/posix/OSMem.c | 15 +--------------
7 files changed, 8 insertions(+), 36 deletions(-)
diff --git a/aclocal.m4 b/aclocal.m4
index dd1ba73..7616cf4 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -277,7 +277,7 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_VARS],
nto-qnx)
test -z "[$]2" || eval "[$]2=OSQNXNTO"
;;
- dragonfly|osf1|hpux|linuxaout|freebsd2|gnu|nextstep2|nextstep3|sunos4|ultrix|irix)
+ dragonfly|osf1|hpux|linuxaout|freebsd2|gnu|nextstep2|nextstep3|sunos4|ultrix)
test -z "[$]2" || eval "[$]2=OSUnknown"
;;
aix)
@@ -1884,7 +1884,7 @@ case "$1-$2" in
$3="linux"
;;
# As far as I'm aware, none of these have relevant variants
- freebsd|netbsd|openbsd|dragonfly|osf1|osf3|hpux|linuxaout|kfreebsdgnu|freebsd2|solaris2|mingw32|darwin|gnu|nextstep2|nextstep3|sunos4|ultrix|irix|haiku)
+ freebsd|netbsd|openbsd|dragonfly|osf1|osf3|hpux|linuxaout|kfreebsdgnu|freebsd2|solaris2|mingw32|darwin|gnu|nextstep2|nextstep3|sunos4|ultrix|haiku)
$3="$1"
;;
aix*) # e.g. powerpc-ibm-aix7.1.3.0
diff --git a/compiler/ghc.mk b/compiler/ghc.mk
index d3cd2a5..9f45a51 100644
--- a/compiler/ghc.mk
+++ b/compiler/ghc.mk
@@ -177,11 +177,6 @@ compiler/stage1/$(PLATFORM_H) : mk/config.mk mk/project.mk | $$(dir $$@)/.
@echo "#define BUILD_OS \"$(BuildOS_CPP)\"" >> $@
@echo "#define HOST_OS \"$(HostOS_CPP)\"" >> $@
@echo "#define TARGET_OS \"$(TargetOS_CPP)\"" >> $@
-ifeq "$(TargetOS_CPP)" "irix"
- @echo "#ifndef $(IRIX_MAJOR)_TARGET_OS" >> $@
- @echo "#define $(IRIX_MAJOR)_TARGET_OS 1" >> $@
- @echo "#endif" >> $@
-endif
@echo >> $@
@echo "#define $(BuildVendor_CPP)_BUILD_VENDOR 1" >> $@
@echo "#define $(HostVendor_CPP)_HOST_VENDOR 1" >> $@
@@ -223,11 +218,6 @@ compiler/stage2/$(PLATFORM_H) : mk/config.mk mk/project.mk | $$(dir $$@)/.
@echo "#define BUILD_OS \"$(HostOS_CPP)\"" >> $@
@echo "#define HOST_OS \"$(TargetOS_CPP)\"" >> $@
@echo "#define TARGET_OS \"$(TargetOS_CPP)\"" >> $@
-ifeq "$(TargetOS_CPP)" "irix"
- @echo "#ifndef $(IRIX_MAJOR)_TARGET_OS" >> $@
- @echo "#define $(IRIX_MAJOR)_TARGET_OS 1" >> $@
- @echo "#endif" >> $@
-endif
@echo >> $@
@echo "#define $(HostVendor_CPP)_BUILD_VENDOR 1" >> $@
@echo "#define $(TargetVendor_CPP)_HOST_VENDOR 1" >> $@
diff --git a/includes/ghc.mk b/includes/ghc.mk
index aacca08..31b2650 100644
--- a/includes/ghc.mk
+++ b/includes/ghc.mk
@@ -143,11 +143,6 @@ $(includes_H_PLATFORM) : includes/Makefile | $$(dir $$@)/.
@echo "#define $(TargetOS_CPP)_HOST_OS 1" >> $@
@echo "#define BUILD_OS \"$(HostOS_CPP)\"" >> $@
@echo "#define HOST_OS \"$(TargetOS_CPP)\"" >> $@
-ifeq "$(HostOS_CPP)" "irix"
- @echo "#ifndef $(IRIX_MAJOR)_HOST_OS" >> $@
- @echo "#define $(IRIX_MAJOR)_HOST_OS 1" >> $@
- @echo "#endif" >> $@
-endif
@echo >> $@
@echo "#define $(HostVendor_CPP)_BUILD_VENDOR 1" >> $@
@echo "#define $(TargetVendor_CPP)_HOST_VENDOR 1" >> $@
diff --git a/libraries/base/System/CPUTime.hsc b/libraries/base/System/CPUTime.hsc
index 0475975..6bc90f1 100644
--- a/libraries/base/System/CPUTime.hsc
+++ b/libraries/base/System/CPUTime.hsc
@@ -37,7 +37,7 @@ import qualified System.CPUTime.Windows as I
#elif _POSIX_TIMERS > 0 && defined(_POSIX_CPUTIME) && _POSIX_CPUTIME >= 0
import qualified System.CPUTime.Posix.ClockGetTime as I
-#elif defined(HAVE_GETRUSAGE) && ! irix_HOST_OS && ! solaris2_HOST_OS
+#elif defined(HAVE_GETRUSAGE) && ! solaris2_HOST_OS
import qualified System.CPUTime.Posix.RUsage as I
-- @getrusage()@ is right royal pain to deal with when targetting multiple
diff --git a/libraries/base/include/HsBase.h b/libraries/base/include/HsBase.h
index a5512cc..3fe514e 100644
--- a/libraries/base/include/HsBase.h
+++ b/libraries/base/include/HsBase.h
@@ -111,7 +111,7 @@
# include <mach/mach_time.h>
#endif
-#if !defined(_WIN32) && !defined(irix_HOST_OS)
+#if !defined(_WIN32)
# if HAVE_SYS_RESOURCE_H
# include <sys/resource.h>
# endif
diff --git a/rts/posix/GetTime.c b/rts/posix/GetTime.c
index 24d0d50..ab0d15e 100644
--- a/rts/posix/GetTime.c
+++ b/rts/posix/GetTime.c
@@ -21,11 +21,11 @@
# include <sys/times.h>
#endif
-#if ! ((defined(HAVE_GETRUSAGE) && !irix_HOST_OS) || defined(HAVE_TIMES))
+#if ! (defined(HAVE_GETRUSAGE) || defined(HAVE_TIMES))
#error No implementation for getProcessCPUTime() available.
#endif
-#if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_GETRUSAGE) && !irix_HOST_OS
+#if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_GETRUSAGE)
// we'll implement getProcessCPUTime() and getProcessElapsedTime()
// separately, using getrusage() and gettimeofday() respectively
@@ -190,7 +190,7 @@ void getUnixEpochTime(StgWord64 *sec, StgWord32 *nsec)
W_
getPageFaults(void)
{
-#if !defined(HAVE_GETRUSAGE) || irix_HOST_OS || haiku_HOST_OS
+#if !defined(HAVE_GETRUSAGE) || haiku_HOST_OS
return 0;
#else
struct rusage t;
diff --git a/rts/posix/OSMem.c b/rts/posix/OSMem.c
index 2a3c294..20d27be 100644
--- a/rts/posix/OSMem.c
+++ b/rts/posix/OSMem.c
@@ -164,20 +164,7 @@ my_mmap (void *addr, W_ size, int operation)
else
flags = 0;
-#if defined(irix_HOST_OS)
- {
- if (operation & MEM_RESERVE)
- {
- int fd = open("/dev/zero",O_RDONLY);
- ret = mmap(addr, size, prot, flags | MAP_PRIVATE, fd, 0);
- close(fd);
- }
- else
- {
- ret = mmap(addr, size, prot, flags | MAP_PRIVATE, -1, 0);
- }
- }
-#elif hpux_HOST_OS
+#if hpux_HOST_OS
ret = mmap(addr, size, prot, flags | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
#elif linux_HOST_OS
ret = mmap(addr, size, prot, flags | MAP_ANON | MAP_PRIVATE, -1, 0);
More information about the ghc-commits
mailing list