xlc compiler support
authorAnthony Green <green@moxielogic.com>
Fri, 11 Jan 2013 21:54:40 +0000 (16:54 -0500)
committerAnthony Green <green@moxielogic.com>
Fri, 11 Jan 2013 21:54:40 +0000 (16:54 -0500)
ChangeLog
README
src/powerpc/aix.S
src/powerpc/ffi_darwin.c
testsuite/libffi.call/ffitest.h

index b6f86d5..144833c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2013-01-11  Anthony Green  <green@moxielogic.com>
 
+       * src/powerpc/ffi_darwin.c (ffi_prep_args): Replace // style
+       comments with /* */ for xlc compiler.
+       * src/powerpc/aix.S (ffi_call_AIX): Ditto.
+       * testsuite/libffi.call/ffitest.h (allocate_mmap): Remove inline
+       for xlc compiler.
+       * README: Add update for AIX support.
+
+2013-01-11  Anthony Green  <green@moxielogic.com>
+
        * configure.ac: Robustify pc relative reloc check.
        * m4/ax_cc_maxopt.m4: Don't -malign-double.  This is an ABI
        changing option for 32-bit x86.
diff --git a/README b/README
index 936b971..dc9bf2a 100644 (file)
--- a/README
+++ b/README
@@ -66,6 +66,7 @@ tested:
 | MIPS            | Linux            | GCC                     |
 | MIPS            | RTEMS            | GCC                     |
 | MIPS64          | Linux            | GCC                     |
+| Power          | AIX 7.1.1.0      | IBM XL C/C++, V11.1     |
 | PowerPC         | AMIGA            | GCC                     |
 | PowerPC         | Linux            | GCC                     |
 | PowerPC         | Mac OSX          | GCC                     |
index 213f2db..349e78c 100644 (file)
@@ -137,7 +137,7 @@ ffi_call_AIX:
        mtcrf   0x40, r31
        mtctr   r0
        /* Load all those argument registers.  */
-       // We have set up a nice stack frame, just load it into registers.
+       /* We have set up a nice stack frame, just load it into registers. */
        ld      r3, 40+(1*8)(r1)
        ld      r4, 40+(2*8)(r1)
        ld      r5, 40+(3*8)(r1)
@@ -150,7 +150,7 @@ ffi_call_AIX:
 
 L1:
        /* Load all the FP registers.  */
-       bf      6,L2 // 2f + 0x18
+       bf      6,L2 /* 2f + 0x18 */
        lfd     f1,-32-(13*8)(r28)
        lfd     f2,-32-(12*8)(r28)
        lfd     f3,-32-(11*8)(r28)
@@ -239,7 +239,7 @@ L(float_return_value):
        mtcrf   0x40, r31
        mtctr   r0
        /* Load all those argument registers.  */
-       // We have set up a nice stack frame, just load it into registers.
+       /* We have set up a nice stack frame, just load it into registers. */
        lwz     r3, 20+(1*4)(r1)
        lwz     r4, 20+(2*4)(r1)
        lwz     r5, 20+(3*4)(r1)
@@ -252,7 +252,7 @@ L(float_return_value):
 
 L1:
        /* Load all the FP registers.  */
-       bf      6,L2 // 2f + 0x18
+       bf      6,L2 /* 2f + 0x18 */
        lfd     f1,-16-(13*8)(r28)
        lfd     f2,-16-(12*8)(r28)
        lfd     f3,-16-(11*8)(r28)
@@ -307,7 +307,7 @@ L(float_return_value):
 #endif
        .long 0
        .byte 0,0,0,1,128,4,0,0
-//END(ffi_call_AIX)
+/* END(ffi_call_AIX) */
 
 .csect .text[PR]
        .align 2
@@ -325,4 +325,4 @@ ffi_call_DARWIN:
        blr
        .long 0
        .byte 0,0,0,0,0,0,0,0
-//END(ffi_call_DARWIN)
+/* END(ffi_call_DARWIN) */
index dd897f4..1d1d48c 100644 (file)
@@ -302,10 +302,10 @@ ffi_prep_args (extended_cif *ecif, unsigned long *const stack)
     }
 
   /* Check that we didn't overrun the stack...  */
-  //FFI_ASSERT(gpr_base <= stacktop - ASM_NEEDS_REGISTERS);
-  //FFI_ASSERT((unsigned *)fpr_base
-  //        <= stacktop - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
-  //FFI_ASSERT(flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4);
+  /FFI_ASSERT(gpr_base <= stacktop - ASM_NEEDS_REGISTERS);
+     FFI_ASSERT((unsigned *)fpr_base
+            <= stacktop - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
+     FFI_ASSERT(flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4);  */
 }
 
 #if defined(POWERPC_DARWIN64)
index a264fb5..5564b6d 100644 (file)
 #endif
 
 #ifdef USING_MMAP
-static inline void *
+static void *
 allocate_mmap (size_t size)
 {
   void *page;