summaryrefslogtreecommitdiff
path: root/module/system/base
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-02-27 20:07:12 +0100
committerLudovic Courtès <ludo@gnu.org>2013-02-27 20:40:08 +0100
commitcc2948aa3189b7bd29c23e7a93ccb1217a1b4eff (patch)
treeb3e0828fa5b59bc2c3573f23ef64c2e5d37dd306 /module/system/base
parent4124994771e8fe54557a7af85e2af9c68e6ea2a3 (diff)
Recognize mips64* as having 32-bit pointers by default.
* module/system/base/target.scm (cpu-word-size): Consider MIPS64 to default to n32 or o32. * test-suite/tests/asm-to-bytecode.test ("cross-compilation") ["mips64el-unknown-linux-gnu"]: New test.
Diffstat (limited to 'module/system/base')
-rw-r--r--module/system/base/target.scm7
1 files changed, 6 insertions, 1 deletions
diff --git a/module/system/base/target.scm b/module/system/base/target.scm
index 304056de2..93c644a08 100644
--- a/module/system/base/target.scm
+++ b/module/system/base/target.scm
@@ -1,6 +1,6 @@
;;; Compilation targets
-;; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+;; Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc.
;; This library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public
@@ -80,6 +80,11 @@
(if (string=? cpu (triplet-cpu %host-type))
%native-word-size
(cond ((string-match "^i[0-9]86$" cpu) 4)
+
+ ;; See <http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64>
+ ;; for details on the MIPS ABIs.
+ ((string-match "^mips64" cpu) 4) ; n32 or o32
+
((string-match "64$" cpu) 8)
((string-match "64[lbe][lbe]$" cpu) 8)
((member cpu '("sparc" "powerpc" "mips" "mipsel")) 4)