This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Problem getting libffi tested on powerpc-ibm-aix5.3.0.0


Hi all,

first of all I had problems get libffi-3.0.8 compiled on
powerpc-ibm-aix5.3.0.0 platform. I created attached patches and tried to run
the tests as suggested by Havard, but they won't run properly with xlc [1,
2]. Aleksej finds some powerpc users which have a gcc and reported 4
failures - but I don't know which went wrong.
I searched a bit how to configure dejagnu for the named platform, but with
less success. The only switch I've found is `env
RUNTESTFLAGS="CC_FOR_TARGET=cc" make test`. The result can be found at [3]
(to big to attach).

Any help is welcome.
Best regards,
Jens

1: http://www-01.ibm.com/software/awdtools/xlcpp/library/
(http://publib.boulder.ibm.com/infocenter/comphelp/v101v121/index.jsp)
2:
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds4/printf.htm
3: http://www.hirschbeutel.de/pkgsrc/libffi-test-powerpc-ibm-aix5.3.0.0.log
   http://www.hirschbeutel.de/pkgsrc/libffi-test-powerpc-ibm-aix5.3.0.0.log.bz2
$NetBSD

Fix for 64-bit AIX

--- src/powerpc/aix_closure.S.orig	2009-05-30 18:36:37.000000000 +0200
+++ src/powerpc/aix_closure.S	2009-05-30 19:46:27.000000000 +0200
@@ -84,6 +84,7 @@
 #define L(x) x
 	.file "aix_closure.S"
 	.toc
+	.extern .ffi_closure_helper_DARWIN
 LC..60:
 	.tc L..60[TC],L..60
 	.csect .text[PR]
@@ -96,7 +97,11 @@
 .csect ffi_closure_ASM[DS]
 
 ffi_closure_ASM:
+#if defined(_ARCH_PPC64)
+	.llong .ffi_closure_ASM, TOC[tc0], 0
+#else
 	.long .ffi_closure_ASM, TOC[tc0], 0
+#endif
 	.csect .text[PR]
 .ffi_closure_ASM:
 
$NetBSD

Fix for 64-bit AIX

--- src/powerpc/aix.S.orig	2009-05-30 19:47:43.000000000 +0200
+++ src/powerpc/aix.S	2009-05-30 18:36:11.000000000 +0200
@@ -96,7 +96,11 @@
 	.globl .ffi_call_AIX
 .csect ffi_call_AIX[DS]
 ffi_call_AIX:
+#if defined(_ARCH_PPC64)
+	.llong .ffi_call_AIX, TOC[tc0], 0
+#else
 	.long .ffi_call_AIX, TOC[tc0], 0
+#endif
 	.csect .text[PR]
 .ffi_call_AIX:
 	mr      r12,r8 // We only need r12 until the call, so it doesn't have to be saved...
@@ -216,7 +220,11 @@
 	.globl .ffi_call_DARWIN
 .csect ffi_call_DARWIN[DS]
 ffi_call_DARWIN:
+#if defined(_ARCH_PPC64)
+	.llong .ffi_call_DARWIN, TOC[tc0], 0
+#else
 	.long .ffi_call_DARWIN, TOC[tc0], 0
+#endif
 	.csect .text[PR]
 .ffi_call_DARWIN:
 	blr

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]