[csw-devel] SF.net SVN: gar:[9603] csw/mgar/pkg/libffi/trunk
hson at users.sourceforge.net
hson at users.sourceforge.net
Sat Apr 10 08:22:19 CEST 2010
Revision: 9603
http://gar.svn.sourceforge.net/gar/?rev=9603&view=rev
Author: hson
Date: 2010-04-10 06:22:19 +0000 (Sat, 10 Apr 2010)
Log Message:
-----------
libffi: Found a way to build on amd64 using SOS12
Modified Paths:
--------------
csw/mgar/pkg/libffi/trunk/Makefile
csw/mgar/pkg/libffi/trunk/checksums
Added Paths:
-----------
csw/mgar/pkg/libffi/trunk/files/ffi64.c.patch
Modified: csw/mgar/pkg/libffi/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libffi/trunk/Makefile 2010-04-10 03:04:22 UTC (rev 9602)
+++ csw/mgar/pkg/libffi/trunk/Makefile 2010-04-10 06:22:19 UTC (rev 9603)
@@ -17,10 +17,14 @@
SPKG_SOURCEURL = http://sourceware.org/libffi/
DISTFILES = $(GARNAME)-$(GARVERSION).tar.gz
# Not needed unless using SOS compiler
-#PATCHFILES += Makefile.in.patch
+PATCHFILES += Makefile.in.patch
# Not really needed for build, but for SOS compiler using libffi
PATCHFILES += ffi_common.h.patch
PATCHFILES += ffi_target.h.patch
+# Fix needed for amd64 using SOS compiler
+# found at http://software.intel.com/en-us/forums/showthread.php?t=56652
+# originally for icc, but at least get the stuff to compile
+PATCHFILES += ffi64.c.patch
PACKAGES = CSWlibffi CSWlibffidevel
CATALOGNAME_CSWlibffi = libffi
@@ -34,19 +38,17 @@
LICENSE = LICENSE
RUNTIME_DEP_PKGS_CSWlibffidevel += CSWlibffi
-RUNTIME_DEP_PKGS_CSWlibffi = CSWgcc4corert
CHECKPKG_OVERRIDES_CSWlibffidevel += surplus-dependency|CSWlibffi
UFILES_REGEX = $(GARNAME)-(\d+(?:\.\d+)*).tar.gz
-GARCOMPILER = GCC4
BUILD64 = 1
CONFIGURE_ARGS = $(DIRPATHS)
-# Tests fail since they are written for gcc only if using SOS12 compiler
-# But they also fails on 64-bit
+# Tests fail since they are written for gcc only
+# But they also fails on 64-bit even when using gcc
#TEST_TARGET = check
TEST_TARGET =
Modified: csw/mgar/pkg/libffi/trunk/checksums
===================================================================
--- csw/mgar/pkg/libffi/trunk/checksums 2010-04-10 03:04:22 UTC (rev 9602)
+++ csw/mgar/pkg/libffi/trunk/checksums 2010-04-10 06:22:19 UTC (rev 9603)
@@ -1,3 +1,5 @@
+08153de5eadceb2e22ee24083d13dc4d Makefile.in.patch
+76eebb10e449d11374c09661d448ca99 ffi64.c.patch
c280f263ff0eab3248ea8abd9d0be21c ffi_common.h.patch
0e72bc1c6b8f797377f502e36b8df294 ffi_target.h.patch
1f300a7a7f975d4046f51c3022fa5ff1 libffi-3.0.9.tar.gz
Added: csw/mgar/pkg/libffi/trunk/files/ffi64.c.patch
===================================================================
--- csw/mgar/pkg/libffi/trunk/files/ffi64.c.patch (rev 0)
+++ csw/mgar/pkg/libffi/trunk/files/ffi64.c.patch 2010-04-10 06:22:19 UTC (rev 9603)
@@ -0,0 +1,34 @@
+--- libffi-3.0.9/src/x86/ffi64.c.orig 2009-12-29 16:22:26.000000000 +0100
++++ libffi-3.0.9/src/x86/ffi64.c 2010-04-09 23:48:55.928436791 +0200
+@@ -36,6 +36,10 @@
+ #define MAX_GPR_REGS 6
+ #define MAX_SSE_REGS 8
+
++#if defined(__SUNPRO_C)
++typedef struct { int64_t m[2]; } __int128_t;
++#endif
++
+ struct register_args
+ {
+ /* Registers for argument passing. */
+@@ -469,10 +473,20 @@
+ break;
+ case X86_64_SSE_CLASS:
+ case X86_64_SSEDF_CLASS:
++#if defined(__SUNPRO_C)
++ reg_args->sse[ssecount++].m[0] = *(UINT64 *) a;
++ reg_args->sse[ssecount++].m[1] = 0;
++#else
+ reg_args->sse[ssecount++] = *(UINT64 *) a;
++#endif
+ break;
+ case X86_64_SSESF_CLASS:
++#if defined(__SUNPRO_C)
++ reg_args->sse[ssecount++].m[0] = *(UINT32 *) a;
++ reg_args->sse[ssecount++].m[1] = 0;
++#else
+ reg_args->sse[ssecount++] = *(UINT32 *) a;
++#endif
+ break;
+ default:
+ abort();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the devel
mailing list