sparc v8 and testsuite fixes
authorAnthony Green <green@moxielogic.com>
Sat, 9 Feb 2013 11:54:40 +0000 (06:54 -0500)
committerAnthony Green <green@moxielogic.com>
Sat, 9 Feb 2013 11:54:40 +0000 (06:54 -0500)
src/sparc/v8.S
testsuite/libffi.call/ffitest.h
testsuite/libffi.call/many2.c
testsuite/libffi.call/negint.c

index ba3cdac9bedd1646739bc8d59302e30f25053761..6bf7ac056ed9ab7a70dfa019bff6278924532f01 100644 (file)
@@ -242,6 +242,10 @@ ffi_closure_v8:
        be,a    done1
         ldd    [%fp-8], %i0
 
+       cmp     %o0, FFI_TYPE_UINT64
+       be,a    done1
+        ldd    [%fp-8], %i0
+
        ld      [%fp-8], %i0
 done1:
        jmp     %i7+8
index 830fcc730cf7bf432ce9c62432011d344e6e9e46..136a7a6ba1d318c713b4e78eead0d8df2ec3a80d 100644 (file)
 #define PRId64 "I64d"
 #endif
 
+#ifndef PRIuPTR
+#define PRIuPTR "u"
+#endif
index 10771592fc88891b7cbda2f641735c9986c41b24..98eac6013a4381071b6785fff399fe1b52cce310 100644 (file)
 
 typedef unsigned char u8;
 
-__attribute__((noinline)) uint8_t
+#ifdef __GNUC__
+__attribute__((noinline))
+#endif
+uint8_t
 foo (uint8_t a, uint8_t b, uint8_t c, uint8_t d,
      uint8_t e, uint8_t f, uint8_t g)
 {
index 3168113027db434c883a2055ac7ee7ee32748d0a..6e2f26fc100e1a74dbcc8c41bd7acf030d90c9bf 100644 (file)
@@ -5,7 +5,6 @@
    Originator: From the original ffitest.c  */
 
 /* { dg-do run } */
-/* { dg-options -O2 } */
 
 #include "ffitest.h"