From patchwork Tue Jan 21 15:32:39 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Newton X-Patchwork-Id: 23443 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ie0-f198.google.com (mail-ie0-f198.google.com [209.85.223.198]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 97FA6202DA for ; Tue, 21 Jan 2014 15:32:51 +0000 (UTC) Received: by mail-ie0-f198.google.com with SMTP id ar20sf19281083iec.9 for ; Tue, 21 Jan 2014 07:32:50 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:cc:subject :date:message-id:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-unsubscribe; bh=231SNXCzEbuFFb+M5Juko5TKReZ1A5fghqomwey17fI=; b=VkkeDwCdZbeiyuhNC410QmVrsgOugORwNQX+uZpIhN5OaCfVDi8o/8d19LA5eRUeNo u8Fu7oDrsimpmP3haemQwEOHplsjfgqQCx39lsKALViPP3kn8safpcnDlTB1aeXLS8pl PLJDSEss7iPwNqqgyFPKCphQRJWFeUryavsh3g8hs8opVBDlw3xdgxJfxfbLeZ6EWShF DNK+YmpIcPIuxt0ZoghyOU6s9cr+vqOVsqB2PklkIeMfl7/s++x7lTji8LkkGGq0N2Mj 71ThgCnt51IlYO4jUdV3+R3B6Qc/VXCYfmXV5Kx5b9e9R/0kJh0JMbr9p072VEFowXMs 7ANQ== X-Gm-Message-State: ALoCoQkL9kSCnMPslxbGVJytDYf0DmYFV/a8NnZJW+bKglqKYPX5kbBnF4lXeuNL01gg7AX+ttIa X-Received: by 10.50.12.68 with SMTP id w4mr7689673igb.0.1390318370897; Tue, 21 Jan 2014 07:32:50 -0800 (PST) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.35.208 with SMTP id n74ls1275286qgn.65.gmail; Tue, 21 Jan 2014 07:32:50 -0800 (PST) X-Received: by 10.220.106.84 with SMTP id w20mr14790108vco.18.1390318370735; Tue, 21 Jan 2014 07:32:50 -0800 (PST) Received: from mail-vc0-f170.google.com (mail-vc0-f170.google.com [209.85.220.170]) by mx.google.com with ESMTPS id dv9si2245488ved.77.2014.01.21.07.32.50 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 21 Jan 2014 07:32:50 -0800 (PST) Received-SPF: neutral (google.com: 209.85.220.170 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=209.85.220.170; Received: by mail-vc0-f170.google.com with SMTP id hu8so3719238vcb.1 for ; Tue, 21 Jan 2014 07:32:50 -0800 (PST) X-Received: by 10.221.37.200 with SMTP id tf8mr197664vcb.54.1390318370493; Tue, 21 Jan 2014 07:32:50 -0800 (PST) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patches@linaro.org Received: by 10.220.174.196 with SMTP id u4csp124192vcz; Tue, 21 Jan 2014 07:32:50 -0800 (PST) X-Received: by 10.194.60.103 with SMTP id g7mr19567296wjr.37.1390318369454; Tue, 21 Jan 2014 07:32:49 -0800 (PST) Received: from mail-we0-f169.google.com (mail-we0-f169.google.com [74.125.82.169]) by mx.google.com with ESMTPS id fs14si3598370wjc.134.2014.01.21.07.32.49 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 21 Jan 2014 07:32:49 -0800 (PST) Received-SPF: neutral (google.com: 74.125.82.169 is neither permitted nor denied by best guess record for domain of will.newton@linaro.org) client-ip=74.125.82.169; Received: by mail-we0-f169.google.com with SMTP id u57so8320580wes.0 for ; Tue, 21 Jan 2014 07:32:49 -0800 (PST) X-Received: by 10.194.59.210 with SMTP id b18mr2456112wjr.60.1390318369002; Tue, 21 Jan 2014 07:32:49 -0800 (PST) Received: from localhost.localdomain (cpc6-seac21-2-0-cust453.7-2.cable.virginm.net. [82.1.113.198]) by mx.google.com with ESMTPSA id di9sm8131503wid.6.2014.01.21.07.32.47 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 Jan 2014 07:32:48 -0800 (PST) From: Will Newton To: libffi-discuss@sourceware.org Cc: patches@linaro.org, Will Newton Subject: [PATCH] src/arm/sysv.S: Fix ffi_call_VFP with no VFP arguments Date: Tue, 21 Jan 2014 15:32:39 +0000 Message-Id: <1390318359-4608-1-git-send-email-will.newton@linaro.org> X-Mailer: git-send-email 1.8.1.4 X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: will.newton@linaro.org X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.220.170 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Precedence: list Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org List-ID: X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , When no VFP arguments are present the IP register is used uninitialized. Initialize it to the value of FP. This fixes a number of testsuite failures when configured for armv7l-unknown-linux-gnueabihf: FAIL: libffi.call/cls_3byte1.c -O0 -W -Wall execution test FAIL: libffi.call/cls_3byte2.c -O0 -W -Wall execution test FAIL: libffi.call/cls_4_1byte.c -O0 -W -Wall execution test FAIL: libffi.call/cls_4byte.c -O0 -W -Wall execution test FAIL: libffi.call/cls_3byte1.c -O2 execution test FAIL: libffi.call/cls_3byte2.c -O2 execution test FAIL: libffi.call/cls_4_1byte.c -O2 execution test FAIL: libffi.call/cls_4byte.c -O2 execution test FAIL: libffi.call/cls_3byte1.c -O3 execution test FAIL: libffi.call/cls_3byte2.c -O3 execution test FAIL: libffi.call/cls_4_1byte.c -O3 execution test FAIL: libffi.call/cls_4byte.c -O3 execution test FAIL: libffi.call/cls_3byte1.c -Os execution test FAIL: libffi.call/cls_3byte2.c -Os execution test FAIL: libffi.call/cls_4_1byte.c -Os execution test FAIL: libffi.call/cls_4byte.c -Os execution test FAIL: libffi.call/cls_3byte1.c -O2 -fomit-frame-pointer execution test FAIL: libffi.call/cls_3byte2.c -O2 -fomit-frame-pointer execution test FAIL: libffi.call/cls_4_1byte.c -O2 -fomit-frame-pointer execution test FAIL: libffi.call/cls_4byte.c -O2 -fomit-frame-pointer execution test --- src/arm/sysv.S | 1 + 1 file changed, 1 insertion(+) diff --git a/src/arm/sysv.S b/src/arm/sysv.S index 454dfc9..8ab6d63 100644 --- a/src/arm/sysv.S +++ b/src/arm/sysv.S @@ -368,6 +368,7 @@ ARM_FUNC_START ffi_call_VFP @ Load VFP register args if needed cmp r0, #0 + mov ip, fp beq LSYM(Lbase_args) @ Load only d0 if possible