From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23043 invoked by alias); 6 Mar 2012 09:55:54 -0000 Received: (qmail 23035 invoked by uid 22791); 6 Mar 2012 09:55:53 -0000 X-SWARE-Spam-Status: No, hits=0.0 required=5.0 tests=AWL,BAYES_50,FROM_12LTRDOM X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 06 Mar 2012 09:55:42 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1S4r7N-0005I8-Qk from ChungLin_Tang@mentor.com ; Tue, 06 Mar 2012 01:55:41 -0800 Received: from SVR-ORW-FEM-04.mgc.mentorg.com ([147.34.97.41]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Tue, 6 Mar 2012 01:55:41 -0800 Received: from [0.0.0.0] (147.34.91.1) by svr-orw-fem-04.mgc.mentorg.com (147.34.97.41) with Microsoft SMTP Server id 14.1.289.1; Tue, 6 Mar 2012 01:55:39 -0800 Message-ID: <4F55DF1B.50008@codesourcery.com> Date: Tue, 06 Mar 2012 09:55:00 -0000 From: Chung-Lin Tang User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 MIME-Version: 1.0 To: CC: , Subject: [PATCH] Workaround ARM VFP issue Content-Type: multipart/mixed; boundary="------------040608070306060500020504" Mailing-List: contact libffi-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libffi-discuss-owner@sourceware.org X-SW-Source: 2012/txt/msg00086.txt.bz2 --------------040608070306060500020504 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Content-length: 1255 This is patch to workaround the issue mentioned in this thread: http://sourceware.org/ml/libffi-discuss/2012/msg00038.html The issue is not really that soft-float is broken, but rather the toolchain used is simply too old, not really because it is old-ABI, but too old a version of binutils; the .fpu directive, nor VFP instructions are supported in the assembler, hence even building of the VFP call/closure shims fail. This patch is sort of a least attempt to shield away the VFP stuff when __ARM_EABI__ is not defined. I apologize for such a token workaround, as it can probably be optimized a bit more, but I just feel it's not worthwhile; even GCC (recent versions) assumes such assembler features. Kyle, can you please see if the patch can work for you? If in case it doesn't, I might also suggest that you try to rebuild your toolchain with a newer binutils version (at least post circa 2005), which should at least not fail to build the library. Thanks, Chung-Lin 2012-03-06 Chung-Lin Tang * src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to ffi_call_VFP(). (ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of ffi_closure_VFP. * src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code. --------------040608070306060500020504 Content-Type: multipart/appledouble; boundary="------------ad080000090400060903070500"; x-mac-type=0; x-mac-creator=0; name="ffi.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="ffi.diff" --------------ad080000090400060903070500 Content-Type: application/applefile Content-Transfer-Encoding: base64 Content-length: 586 BxYFAAAAAgAAAAAAAAAAAAAAAAAAAAAABQDjAQMAAABYAAAACAAAAAkAAABg AAAAIAAAAAgAAACAAAAAEAAAAAQAAACQAAAAAAAAAAIAAACQAAAAAQAAAGZm aS5kaWZmAAAAAAAAAAAAAAAAAAAAACcAAAAAAAAAAAAAACUn8qgADG1LuEVu SwAMbUu/a2zLAAABAAAAAQAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA AAEAAAAAAAAAAB54tC8ELgAAAAAcAB7//w== --------------ad080000090400060903070500 Content-Type: application/octet-stream; name="ffi.diff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="ffi.diff" Content-length: 1778 ZGlmZiAtLWdpdCBhL3NyYy9hcm0vZmZpLmMgYi9zcmMvYXJtL2ZmaS5jCmlu ZGV4IDFmODU5N2QuLjNjY2NlYjkgMTAwNjQ0Ci0tLSBhL3NyYy9hcm0vZmZp LmMKKysrIGIvc3JjL2FybS9mZmkuYwpAQCAtMjUxLDggKzI1MSwxMCBAQCB2 b2lkIGZmaV9jYWxsKGZmaV9jaWYgKmNpZiwgdm9pZCAoKmZuKSh2b2lkKSwg dm9pZCAqcnZhbHVlLCB2b2lkICoqYXZhbHVlKQogICAgICAgYnJlYWs7CiAK ICAgICBjYXNlIEZGSV9WRlA6CisjaWZkZWYgX19BUk1fRUFCSV9fCiAgICAg ICBmZmlfY2FsbF9WRlAgKGZuLCAmZWNpZiwgY2lmLT5ieXRlcywgY2lmLT5m bGFncywgZWNpZi5ydmFsdWUpOwogICAgICAgYnJlYWs7CisjZW5kaWYKIAog ICAgIGRlZmF1bHQ6CiAgICAgICBGRklfQVNTRVJUKDApOwpAQCAtNjA5LDgg KzYxMSwxMCBAQCBmZmlfcHJlcF9jbG9zdXJlX2xvYyAoZmZpX2Nsb3N1cmUq IGNsb3N1cmUsCiAKICAgaWYgKGNpZi0+YWJpID09IEZGSV9TWVNWKQogICAg IGNsb3N1cmVfZnVuYyA9ICZmZmlfY2xvc3VyZV9TWVNWOworI2lmZGVmIF9f QVJNX0VBQklfXwogICBlbHNlIGlmIChjaWYtPmFiaSA9PSBGRklfVkZQKQog ICAgIGNsb3N1cmVfZnVuYyA9ICZmZmlfY2xvc3VyZV9WRlA7CisjZW5kaWYK ICAgZWxzZQogICAgIHJldHVybiBGRklfQkFEX0FCSTsKICAgICAKZGlmZiAt LWdpdCBhL3NyYy9hcm0vc3lzdi5TIGIvc3JjL2FybS9zeXN2LlMKaW5kZXgg NjBlMmFlMy4uMjUwNTMwNSAxMDA2NDQKLS0tIGEvc3JjL2FybS9zeXN2LlMK KysrIGIvc3JjL2FybS9zeXN2LlMKQEAgLTMzNCw3ICszMzQsOCBAQCBBUk1f RlVOQ19TVEFSVCBmZmlfY2xvc3VyZV9TWVNWCiAKIAogLyogQmVsb3cgYXJl IFZGUCBoYXJkLWZsb2F0IEFCSSBjYWxsIGFuZCBjbG9zdXJlIGltcGxlbWVu dGF0aW9ucy4KLSAgIEFkZCBWRlAgRlBVIGRpcmVjdGl2ZSBoZXJlLiAqLwor ICAgQWRkIFZGUCBGUFUgZGlyZWN0aXZlIGhlcmUuIFRoaXMgaXMgb25seSBj b21waWxlZCBpbnRvIHRoZSBsaWJyYXJ5IHVuZGVyIEVBQkkuICAqLworI2lm ZGVmIF9fQVJNX0VBQklfXwogCS5mcHUJdmZwCiAKIAlAIHIwOiAgIGZuCkBA IC00OTEsNiArNDkyLDcgQEAgQVJNX0ZVTkNfU1RBUlQgZmZpX2Nsb3N1cmVf VkZQCiAuZmZpX2Nsb3N1cmVfVkZQX2VuZDoKIAlVTldJTkQgLmZuZW5kCiAg ICAgICAgIC5zaXplICAgIENOQU1FKGZmaV9jbG9zdXJlX1ZGUCksLmZmaV9j bG9zdXJlX1ZGUF9lbmQtQ05BTUUoZmZpX2Nsb3N1cmVfVkZQKQorI2VuZGlm CiAKIEVOVFJZKGZmaV9hcm1fdHJhbXBvbGluZSkKIAlzdG1mZCBzcCEsIHty MC1yM30K --------------ad080000090400060903070500-- --------------040608070306060500020504--