Update of /cvsroot/fink/dists/10.7/stable/main/finkinfo/libs In directory vz-cvs-3.sog:/tmp/cvs-serv11868
Modified Files: libffi.info Added Files: libffi.patch Log Message: tests fixed, validated on x86_64-darwin11 http://sourceforge.net/tracker/?func=detail&aid=3374297&group_id=17203&atid=414256 --- NEW FILE: libffi.patch --- >From 603fb6250816307fc668534a253daa99c90b22fa Mon Sep 17 00:00:00 2001 From: Masami HIRATA <msm...@gmail.com> Date: Sat, 4 Aug 2012 23:30:46 +0900 Subject: [PATCH 1/2] fixed: Clang for x86_64 zero-extend or sign-extend function parameters in registers to 32-bit if the types are less than 32-bit --- src/x86/ffi64.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/x86/ffi64.c b/src/x86/ffi64.c index 1daa1c0..abe6450 100644 --- a/src/x86/ffi64.c +++ b/src/x86/ffi64.c @@ -472,7 +472,17 @@ classify_argument (ffi_type *type, enum x86_64_reg_class classes[], case X86_64_INTEGER_CLASS: case X86_64_INTEGERSI_CLASS: reg_args->gpr[gprcount] = 0; - memcpy (®_args->gpr[gprcount], a, size < 8 ? size : 8); + switch (arg_types[i]->type) + { + case FFI_TYPE_SINT8: + reg_args->gpr[gprcount] = (SINT32) *(SINT8 *) a; + break; + case FFI_TYPE_SINT16: + reg_args->gpr[gprcount] = (SINT32) *(SINT16 *) a; + break; + default: + memcpy (®_args->gpr[gprcount], a, size < 8 ? size : 8); + } gprcount++; break; case X86_64_SSE_CLASS: -- 1.7.10 >From 805a523c6521c5b9be51a8797508459512b0f482 Mon Sep 17 00:00:00 2001 From: Masami HIRATA <msm...@gmail.com> Date: Sat, 4 Aug 2012 23:31:59 +0900 Subject: [PATCH 2/2] fixed: Clang warning: comparison of integers of different signs: 'ffi_arg' (aka 'unsigned long') and 'int' [-Wsign-compare] --- testsuite/libffi.call/return_uc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/libffi.call/return_uc.c b/testsuite/libffi.call/return_uc.c index 07c45de..b124203 100644 --- a/testsuite/libffi.call/return_uc.c +++ b/testsuite/libffi.call/return_uc.c @@ -32,7 +32,7 @@ int main (void) uc < (unsigned char) '\xff'; uc++) { ffi_call(&cif, FFI_FN(return_uc), &rint, values); - CHECK(rint == (signed int) uc); + CHECK(rint == (ffi_arg) uc); } exit(0); } -- 1.7.10 Index: libffi.info =================================================================== RCS file: /cvsroot/fink/dists/10.7/stable/main/finkinfo/libs/libffi.info,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- libffi.info 21 Jul 2011 22:33:49 -0000 1.1 +++ libffi.info 23 Aug 2012 00:17:11 -0000 1.2 @@ -3,15 +3,18 @@ # 3.0.9 fails self-tests on 10.4 Version: 3.0.9 -Distribution: 10.5, 10.6, 10.7 +Distribution: 10.5, 10.6, 10.7, 10.8 -Revision: 4 +Revision: 5 Source: ftp://sourceware.org/pub/%N/%N-%v.tar.gz Source-MD5: 1f300a7a7f975d4046f51c3022fa5ff1 Depends: %N-shlibs (>= %v-%r) BuildDependsOnly: true +PatchFile: %n.patch +PatchFile-MD5: 4941e5a587c6c7926827647c0e48f337 PatchScript: << #!/bin/sh -ev + %{default_script} perl -pi -e 's;-dynamiclib;$& -single_module -Wl,-x -dead_strip;' configure perl -pi -e 's;darwin10;darwin1[01]*;' configure # Install headers in %p/include (and deal with Apple's stupid sed ..) ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Fink-commits mailing list Fink-commits@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.cvs