From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32102 invoked by alias); 21 Jan 2014 15:32:54 -0000 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 Received: (qmail 32045 invoked by uid 89); 21 Jan 2014 15:32:53 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wg0-f47.google.com Received: from mail-wg0-f47.google.com (HELO mail-wg0-f47.google.com) (74.125.82.47) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 21 Jan 2014 15:32:52 +0000 Received: by mail-wg0-f47.google.com with SMTP id m15so8032178wgh.2 for ; Tue, 21 Jan 2014 07:32:49 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=231SNXCzEbuFFb+M5Juko5TKReZ1A5fghqomwey17fI=; b=b8KDkIXGs2tD3WWHHyQLJPkg2AT6qe1DtNnn+Gb8f4b559N1Ot69POhfPkmAQAX+/3 2/gzuFteFiU1jThYL08e5fqnGuweiwFSsgqThTcXxXLdA5K/ExdV01p7jdbMGBh4D+EF 8GD0/ASR/JwKTLxoB1rQKw5LCRS2Y6VXwT3EM/wJqtAcQyMFhSU6wIaLWLYCnwjcm5Hr OA/e+TUq/EPe2CzFe2aEagzmSinplOSHu4UysGrZSA7HoPQmhQ99kjZeV5BJkgKbm9sw nlNXXPy8E7lKbfBol7bzwCzNScGDNVZ9f4XRtHnOWIQpZ3AqbMD/jlj7TemurOva2qo3 slsA== X-Gm-Message-State: ALoCoQnrFIfjgCely93oWaLKbZJS9xbNfweugipbs7SQ2fcpakhUkzB74RD0EhbIfvxNrMfP1GMO 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:00 -0000 Message-Id: <1390318359-4608-1-git-send-email-will.newton@linaro.org> X-IsSubscribed: yes X-SW-Source: 2014/txt/msg00002.txt.bz2 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 -- 1.8.1.4