diff --git a/SOURCES/libffi-fix-ppc-tests.patch b/SOURCES/libffi-fix-ppc-tests.patch new file mode 100644 index 0000000..5c05c6f --- /dev/null +++ b/SOURCES/libffi-fix-ppc-tests.patch @@ -0,0 +1,60 @@ +diff --git a/testsuite/libffi.call/cls_struct_va1.c b/testsuite/libffi.call/cls_struct_va1.c +index 175ed96..6d1fdae 100644 +--- a/testsuite/libffi.call/cls_struct_va1.c ++++ b/testsuite/libffi.call/cls_struct_va1.c +@@ -35,7 +35,7 @@ test_fn (ffi_cif* cif __UNUSED__, void* resp, + printf ("%d %d %d %d %d %d %d %d %d %d\n", n, s1.a, s1.b, + l1.a, l1.b, l1.c, l1.d, l1.e, + s2.a, s2.b); +- * (int*) resp = 42; ++ * (ffi_arg*) resp = 42; + } + + int +diff --git a/testsuite/libffi.call/cls_uint_va.c b/testsuite/libffi.call/cls_uint_va.c +index 150fddd..548d8c6 100644 +--- a/testsuite/libffi.call/cls_uint_va.c ++++ b/testsuite/libffi.call/cls_uint_va.c +@@ -10,12 +10,13 @@ + + typedef unsigned int T; + +-static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, ++static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void *resp, void** args, + void* userdata __UNUSED__) + { +- *(T *)resp = *(T *)args[0]; ++ *(ffi_arg*)resp = *(T *)args[0]; + +- printf("%d: %d %d\n", *(T *)resp, *(T *)args[0], *(T *)args[1]); ++ ++ printf("%d: %d %d\n", (int)*(ffi_arg *)resp, *(T *)args[0], *(T *)args[1]); + } + + typedef T (*cls_ret_T)(T, ...); +diff --git a/testsuite/libffi.call/va_1.c b/testsuite/libffi.call/va_1.c +index cf4dd85..7f96809 100644 +--- a/testsuite/libffi.call/va_1.c ++++ b/testsuite/libffi.call/va_1.c +@@ -94,7 +94,7 @@ main (void) + struct large_tag l1; + + int n; +- int res; ++ ffi_arg res; + + unsigned char uc; + signed char sc; +diff --git a/testsuite/libffi.call/va_struct1.c b/testsuite/libffi.call/va_struct1.c +index 11d1f10..e645206 100644 +--- a/testsuite/libffi.call/va_struct1.c ++++ b/testsuite/libffi.call/va_struct1.c +@@ -61,7 +61,7 @@ main (void) + struct large_tag l1; + + int n; +- int res; ++ ffi_arg res; + + s_type.size = 0; + s_type.alignment = 0; diff --git a/SPECS/libffi.spec b/SPECS/libffi.spec index 6b8c3a6..340f0b8 100644 --- a/SPECS/libffi.spec +++ b/SPECS/libffi.spec @@ -2,7 +2,7 @@ Name: libffi Version: 3.0.13 -Release: 7%{?dist} +Release: 11%{?dist} Summary: A portable foreign function interface library Group: System Environment/Libraries @@ -13,6 +13,7 @@ Source0: ftp://sourceware.org/pub/libffi/libffi-%{version}.tar.gz Source1: ffi-multilib.h Source2: ffitarget-multilib.h Patch0: libffi-3.0.13-fix-include-path.patch +Patch1: libffi-fix-ppc-tests.patch # part of upstream commit 5feacad4 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -60,10 +61,11 @@ developing applications that use %{name}. %prep %setup -q %patch0 -p1 -b .fixpath +%patch1 -p1 -b .fixpath %build -%configure --disable-static +CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --disable-static make %{?_smp_mflags} @@ -122,6 +124,20 @@ fi %{_infodir}/libffi.info.gz %changelog +* Fri Jan 24 2014 Daniel Mach - 3.0.13-11 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 3.0.13-10 +- Mass rebuild 2013-12-27 + +* Wed Dec 18 2013 Deepak Bhole - 3.0.13-9 +- Added -fno-strict-aliasing (pointed out by rpmdiff) +- Fixes RHBZ 1006261 + +* Fri Nov 15 2013 Jon VanAlten - 3.0.13-8 +- Patch test suite to fix errors on ppc64 +- Fixes RHBZ 1006261 + * Thu Aug 22 2013 Deepak Bhole - 3.0.13-7 - Removed temporarily introduced compat package for OpenJDk6 bootstrap