guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.7-131-gb946e


From: Ludovic Courtès
Subject: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.7-131-gb946e08
Date: Wed, 27 Feb 2013 19:51:54 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=b946e08a6ae6e73bda1f76017fcb75f41cd4b288

The branch, stable-2.0 has been updated
       via  b946e08a6ae6e73bda1f76017fcb75f41cd4b288 (commit)
       via  9130ec74cf55a2531a364ef16b6608489b583f16 (commit)
       via  cc2948aa3189b7bd29c23e7a93ccb1217a1b4eff (commit)
       via  4124994771e8fe54557a7af85e2af9c68e6ea2a3 (commit)
       via  94a7029acf5ca59615bb486b1e9e196e572df6f0 (commit)
      from  be6a36a05d79662243c384212032783cffab5316 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b946e08a6ae6e73bda1f76017fcb75f41cd4b288
Author: Ludovic Courtès <address@hidden>
Date:   Wed Feb 27 20:39:51 2013 +0100

    Recognize the `x86_64.*-gnux32' triplet.
    
    * module/system/base/target.scm (triplet-pointer-size): Add case for
      "^x64_64-.*-gnux32".
    * test-suite/tests/asm-to-bytecode.test ("cross-compilation"):
      ["x86_64-unknown-linux-gnux32"]: New test.

commit 9130ec74cf55a2531a364ef16b6608489b583f16
Author: Ludovic Courtès <address@hidden>
Date:   Wed Feb 27 20:36:52 2013 +0100

    Check whether a triplet's OS part specifies an ABI.
    
    * module/system/base/target.scm (cpu-word-size): Rename to...
      (triplet-pointer-size): ... this.  Update caller.  Take a triplet as
      the argument.  Check the `triplet-os' part when checking for equality
      with the host.  Add support "mips64.*-gnuabi64".
    * test-suite/tests/asm-to-bytecode.test ("cross-compilation")
      [ "mips64el-unknown-linux-gnuabi64"]: New test.

commit cc2948aa3189b7bd29c23e7a93ccb1217a1b4eff
Author: Ludovic Courtès <address@hidden>
Date:   Wed Feb 27 20:07:12 2013 +0100

    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.

commit 4124994771e8fe54557a7af85e2af9c68e6ea2a3
Author: Ludovic Courtès <address@hidden>
Date:   Wed Feb 27 19:59:09 2013 +0100

    tests: Avoid missing missing-prototype warning with <fenv.h> on glibc 2.17.
    
    * test-suite/standalone/test-round.c: Avoid missing-prototype warning
      with <fenv.h> on glibc 2.17.

commit 94a7029acf5ca59615bb486b1e9e196e572df6f0
Author: Ludovic Courtès <address@hidden>
Date:   Wed Feb 27 19:25:39 2013 +0100

    Fix cross-compilation of `c-tokenize.o'.
    
    * libguile/Makefile.am (c-tokenize.$(OBJEXT)): Pass -I$(top_builddir)
      when cross-compiling.

-----------------------------------------------------------------------

Summary of changes:
 libguile/Makefile.am                  |    2 +-
 module/system/base/target.scm         |   38 ++++++++++++++++++++++----------
 test-suite/standalone/test-round.c    |   11 ++++++++-
 test-suite/tests/asm-to-bytecode.test |    9 +++++++-
 4 files changed, 45 insertions(+), 15 deletions(-)

diff --git a/libguile/Makefile.am b/libguile/Makefile.am
index f020595..0a40120 100644
--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -93,7 +93,7 @@ guile_filter_doc_snarfage_SOURCES = c-tokenize.c
 c-tokenize.$(OBJEXT): c-tokenize.c
        $(AM_V_GEN) \
        if [ "$(cross_compiling)" = "yes" ]; then \
-               $(CC_FOR_BUILD) -c -o $@ $<; \
+               $(CC_FOR_BUILD) -I$(top_builddir) -c -o $@ $<; \
        else \
                $(COMPILE) -c -o $@ $<; \
        fi
diff --git a/module/system/base/target.scm b/module/system/base/target.scm
index 304056d..762894c 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
@@ -55,7 +55,7 @@
   (let ((cpu (triplet-cpu target)))
     (with-fluids ((%target-type target)
                   (%target-endianness (cpu-endianness cpu))
-                  (%target-word-size (cpu-word-size cpu)))
+                  (%target-word-size (triplet-pointer-size target)))
       (thunk))))
 
 (define (cpu-endianness cpu)
@@ -75,16 +75,30 @@
             (else
              (error "unknown CPU endianness" cpu)))))
 
-(define (cpu-word-size cpu)
-  "Return the word size for CPU."
-  (if (string=? cpu (triplet-cpu %host-type))
-      %native-word-size
-      (cond ((string-match "^i[0-9]86$" cpu) 4)
-            ((string-match "64$" cpu) 8)
-            ((string-match "64[lbe][lbe]$" cpu) 8)
-            ((member cpu '("sparc" "powerpc" "mips" "mipsel")) 4)
-            ((string-match "^arm.*" cpu) 4)
-            (else (error "unknown CPU word size" cpu)))))
+(define (triplet-pointer-size triplet)
+  "Return the size of pointers in bytes for TRIPLET."
+  (let ((cpu (triplet-cpu triplet)))
+    (cond ((and (string=? cpu (triplet-cpu %host-type))
+                (string=? (triplet-os triplet) (triplet-os %host-type)))
+           %native-word-size)
+
+          ((string-match "^i[0-9]86$" cpu) 4)
+
+          ;; Although GNU config.guess doesn't yet recognize them,
+          ;; Debian (ab)uses the OS part to denote the specific ABI
+          ;; being used: <http://wiki.debian.org/Multiarch/Tuples>.
+          ;; See <http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64>
+          ;; for details on the MIPS ABIs.
+          ((string-match "^mips64.*-gnuabi64" triplet) 8) ; n64 ABI
+          ((string-match "^mips64" cpu) 4)                ; n32 or o32
+
+          ((string-match "^x64_64-.*-gnux32" triplet) 4)  ; x32
+
+          ((string-match "64$" cpu) 8)
+          ((string-match "64[lbe][lbe]$" cpu) 8)
+          ((member cpu '("sparc" "powerpc" "mips" "mipsel")) 4)
+          ((string-match "^arm.*" cpu) 4)
+          (else (error "unknown CPU word size" cpu)))))
 
 (define (triplet-cpu t)
   (substring t 0 (string-index t #\-)))
diff --git a/test-suite/standalone/test-round.c 
b/test-suite/standalone/test-round.c
index f1458af..150c881 100644
--- a/test-suite/standalone/test-round.c
+++ b/test-suite/standalone/test-round.c
@@ -25,7 +25,16 @@
 #include <stdio.h>
 
 #if HAVE_FENV_H
-#include <fenv.h>
+# if defined __GNUC__ && defined __GLIBC__
+/* In Glibc 2.17, <bits/fenv.h> defines `feraiseexcept' as an inline
+   without declaring it first, so ignore the warning.  */
+#   pragma GCC diagnostic push
+#   pragma GCC diagnostic ignored "-Wmissing-prototypes"
+# endif
+# include <fenv.h>
+# if defined __GNUC__ && defined __GLIBC__
+#   pragma GCC diagnostic pop
+# endif
 #elif defined HAVE_MACHINE_FPU_H
 /* On Tru64 5.1b, the declaration of fesetround(3) is in <machine/fpu.h>.
    On NetBSD, this header has to be included along with <sys/types.h>.  */
diff --git a/test-suite/tests/asm-to-bytecode.test 
b/test-suite/tests/asm-to-bytecode.test
index 4ea3dd3..3bd8a92 100644
--- a/test-suite/tests/asm-to-bytecode.test
+++ b/test-suite/tests/asm-to-bytecode.test
@@ -1,6 +1,6 @@
 ;;;; Assembly to bytecode compilation -*- mode: scheme; coding: utf-8; -*-
 ;;;;
-;;;;   Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
+;;;;   Copyright (C) 2010, 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
@@ -194,6 +194,13 @@
   (test-target "powerpc-unknown-linux-gnu" (endianness big) 4)
   (test-target "sparc64-unknown-freebsd8.2" (endianness big) 8)
 
+  (test-target "mips64el-unknown-linux-gnu"       ; n32 or o32 ABI
+               (endianness little) 4)
+  (test-target "mips64el-unknown-linux-gnuabi64"  ; n64 ABI (Debian tuplet)
+               (endianness little) 8)
+  (test-target "x86_64-unknown-linux-gnux32"      ; x32 ABI (Debian tuplet)
+               (endianness little) 4)
+
   (pass-if-exception "unknown target"
     exception:miscellaneous-error
     (call-with-values (lambda ()


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]