From patchwork Wed Oct 2 17:46:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Burton X-Patchwork-Id: 11171733 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AADA41599 for ; Wed, 2 Oct 2019 17:48:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7579321D82 for ; Wed, 2 Oct 2019 17:48:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=wavecomp.com header.i=@wavecomp.com header.b="FSBWxLvL" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728412AbfJBRsA (ORCPT ); Wed, 2 Oct 2019 13:48:00 -0400 Received: from mail-eopbgr720108.outbound.protection.outlook.com ([40.107.72.108]:10863 "EHLO NAM05-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727268AbfJBRsA (ORCPT ); Wed, 2 Oct 2019 13:48:00 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i7rsepOvFm4KUdum7l2ikOnyBOBjZoP6yKwcDXZY/ObTY52IMX5PXQ5W8/d0isyl3cxtrHazzJToOAj6lM9SPqGs5BqCwpz7CzZ8VJWw2r7UWT4KOK2rbe+kqO11Uol10FvaNmAX9y2sAIjtFCyudcGbhRobK+vnzetNt4mUZHe+nY4/+eArZZOPcPmF3/H3Z4t24q8UxeVG0gCrwMWpv1IJfRE9noSS1X6CgNYnz8VkRRGcOAGzEz16FoFTYzHU2ijLIq8Q+e3clwk+IeVXbN99R6Lp0nl38A+0ssqw7o7ALYHz7nnToJhaks1PivKUgBcAxELFyXtobEwFuvT2iA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GGEc5cpQIipOYl33IEtgMeuoA14CpFjtNvqpQZ/WwW0=; b=U89nWAwI560qmwgfgqcxO8ePt4c4XBkegavqOtg3+Cp3oSOfRN2+vTuh6rWME2LBH+9UU7WvKc5oDbJdCkCwDpXHHbI6O4hJYCwTMr0m5mngrXxJj5ZAsKafNGXsDjDOAqPlIwuqCth7/66wGFkJnve15yr4PrVd2cYKW38GKlWzKmAOPTAkVMiI+VxmxidKxNytT8fG5f1sbCB2cN6QMiN9/kDFuw504CAw3q/rpvdFO1y2i6Nv5LWN1sKPHfdg4xz3ijyw6YB3LbjRbJwUh4H9fqq21n72XLUbZ2CxSQ/P1+vqsJh9YtIbhzZFsRdiURi4Ux5F4KTdaX+t4eiUMA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=wavecomp.com; dmarc=pass action=none header.from=mips.com; dkim=pass header.d=mips.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wavecomp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GGEc5cpQIipOYl33IEtgMeuoA14CpFjtNvqpQZ/WwW0=; b=FSBWxLvLojUPbDC72Tbbw4O3JsNxB4nRbb8Jop/ghGZCspToegHVPYGbKNfIvM/EnnCO79oW6rKW+PTTdJy9Z+kJ0QEjuwpTlOxDOnUzVFVTJA8PQ8bLDiWLxSHPr3ytRBCawY6Na+wXDGnGFfZSE+Li7Onlqa53F02qLQxoLps= Received: from MWHPR2201MB1277.namprd22.prod.outlook.com (10.172.60.12) by MWHPR2201MB1646.namprd22.prod.outlook.com (10.174.167.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.20; Wed, 2 Oct 2019 17:46:17 +0000 Received: from MWHPR2201MB1277.namprd22.prod.outlook.com ([fe80::498b:c2cd:e816:1481]) by MWHPR2201MB1277.namprd22.prod.outlook.com ([fe80::498b:c2cd:e816:1481%2]) with mapi id 15.20.2305.023; Wed, 2 Oct 2019 17:46:17 +0000 From: Paul Burton To: "linux-mips@vger.kernel.org" CC: Paul Burton , Vincenzo Frascino Subject: [PATCH 1/2] MIPS: VDSO: Remove unused gettimeofday.c Thread-Topic: [PATCH 1/2] MIPS: VDSO: Remove unused gettimeofday.c Thread-Index: AQHVeUlKziXb77G6g0exbBt6BwBZKw== Date: Wed, 2 Oct 2019 17:46:17 +0000 Message-ID: <20191002174438.127127-1-paul.burton@mips.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR07CA0076.namprd07.prod.outlook.com (2603:10b6:a03:12b::17) To MWHPR2201MB1277.namprd22.prod.outlook.com (2603:10b6:301:18::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=pburton@wavecomp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.23.0 x-originating-ip: [12.94.197.246] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5122012b-be29-4233-fafb-08d747606d29 x-ms-traffictypediagnostic: MWHPR2201MB1646: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1728; x-forefront-prvs: 0178184651 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(346002)(366004)(39830400003)(376002)(136003)(396003)(189003)(199004)(66476007)(8936002)(6116002)(6916009)(6436002)(5640700003)(3846002)(14454004)(6486002)(478600001)(1076003)(486006)(2351001)(5660300002)(81156014)(8676002)(50226002)(81166006)(66556008)(64756008)(66446008)(66946007)(316002)(36756003)(54906003)(25786009)(44832011)(6512007)(7736002)(102836004)(6506007)(52116002)(26005)(42882007)(66066001)(476003)(2616005)(386003)(99286004)(2501003)(305945005)(71190400001)(71200400001)(186003)(2906002)(14444005)(4326008)(256004);DIR:OUT;SFP:1102;SCL:1;SRVR:MWHPR2201MB1646;H:MWHPR2201MB1277.namprd22.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: wavecomp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: T1k6q+esz27/c7Mr1YPeg56rA12sckcN7wupgHhVr9wFFSQvJYFu9SbkdtPOFOKaGLPiUTn0J2XsYJ26bXo7MrvB4rYtEslEslHoj1IDCUeAPAsMT1jLc1Ochar0A12a32oXxtJfa0nsoxznxucudxm/wbFpt73xnkQLbkKTBVVYP22UMGHKitwT+sTeH8ZZh2G9EJR/SP+8F73tVF5DEyVKBhXEExRAulGwrvIQApx18HYDECS89z8CgsTQsIDsaqsvG/R3vO2ftMZhXtr6ZptMVDf0Z9gaBEHEe/uAYN5Fjs9dRj2zI5U1vaGm20ybKlQzuxY9tvfiClz/ksnKeA2PnuIeUtOKhuYxOOtKpjQmcYQP9ZZfePg8n+LnskqofR7EVia2ur1qt4pjDTxIFbmODm3sJTS2EpLOS0cGwxE= MIME-Version: 1.0 X-OriginatorOrg: mips.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5122012b-be29-4233-fafb-08d747606d29 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Oct 2019 17:46:17.3403 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 463607d3-1db3-40a0-8a29-970c56230104 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bBqF8Da9YMKrSawnq/PU/uqqNhJFNKQpqA9Sbqu6T1MB+rRMx9/kUBQhJDPGbWXglEMF2Bhfvrp9GlI5+Jo/0Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR2201MB1646 Sender: linux-mips-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mips@vger.kernel.org arch/mips/vdso/gettimeofday.c has been unused since commit 24640f233b46 ("mips: Add support for generic vDSO"). Remove the dead code. Signed-off-by: Paul Burton Fixes: 24640f233b46 ("mips: Add support for generic vDSO") Cc: Vincenzo Frascino --- arch/mips/vdso/gettimeofday.c | 269 ---------------------------------- 1 file changed, 269 deletions(-) delete mode 100644 arch/mips/vdso/gettimeofday.c diff --git a/arch/mips/vdso/gettimeofday.c b/arch/mips/vdso/gettimeofday.c deleted file mode 100644 index e8243c7fd5b5..000000000000 --- a/arch/mips/vdso/gettimeofday.c +++ /dev/null @@ -1,269 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later -/* - * Copyright (C) 2015 Imagination Technologies - * Author: Alex Smith - */ - -#include "vdso.h" - -#include -#include - -#include -#include -#include -#include - -#ifdef CONFIG_MIPS_CLOCK_VSYSCALL - -static __always_inline long gettimeofday_fallback(struct timeval *_tv, - struct timezone *_tz) -{ - register struct timezone *tz asm("a1") = _tz; - register struct timeval *tv asm("a0") = _tv; - register long ret asm("v0"); - register long nr asm("v0") = __NR_gettimeofday; - register long error asm("a3"); - - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (tv), "r" (tz), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); - - return error ? -ret : ret; -} - -#endif - -static __always_inline long clock_gettime_fallback(clockid_t _clkid, - struct timespec *_ts) -{ - register struct timespec *ts asm("a1") = _ts; - register clockid_t clkid asm("a0") = _clkid; - register long ret asm("v0"); - register long nr asm("v0") = __NR_clock_gettime; - register long error asm("a3"); - - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); - - return error ? -ret : ret; -} - -static __always_inline int do_realtime_coarse(struct timespec *ts, - const union mips_vdso_data *data) -{ - u32 start_seq; - - do { - start_seq = vdso_data_read_begin(data); - - ts->tv_sec = data->xtime_sec; - ts->tv_nsec = data->xtime_nsec >> data->cs_shift; - } while (vdso_data_read_retry(data, start_seq)); - - return 0; -} - -static __always_inline int do_monotonic_coarse(struct timespec *ts, - const union mips_vdso_data *data) -{ - u32 start_seq; - u64 to_mono_sec; - u64 to_mono_nsec; - - do { - start_seq = vdso_data_read_begin(data); - - ts->tv_sec = data->xtime_sec; - ts->tv_nsec = data->xtime_nsec >> data->cs_shift; - - to_mono_sec = data->wall_to_mono_sec; - to_mono_nsec = data->wall_to_mono_nsec; - } while (vdso_data_read_retry(data, start_seq)); - - ts->tv_sec += to_mono_sec; - timespec_add_ns(ts, to_mono_nsec); - - return 0; -} - -#ifdef CONFIG_CSRC_R4K - -static __always_inline u64 read_r4k_count(void) -{ - unsigned int count; - - __asm__ __volatile__( - " .set push\n" - " .set mips32r2\n" - " rdhwr %0, $2\n" - " .set pop\n" - : "=r" (count)); - - return count; -} - -#endif - -#ifdef CONFIG_CLKSRC_MIPS_GIC - -static __always_inline u64 read_gic_count(const union mips_vdso_data *data) -{ - void __iomem *gic = get_gic(data); - u32 hi, hi2, lo; - - do { - hi = __raw_readl(gic + sizeof(lo)); - lo = __raw_readl(gic); - hi2 = __raw_readl(gic + sizeof(lo)); - } while (hi2 != hi); - - return (((u64)hi) << 32) + lo; -} - -#endif - -static __always_inline u64 get_ns(const union mips_vdso_data *data) -{ - u64 cycle_now, delta, nsec; - - switch (data->clock_mode) { -#ifdef CONFIG_CSRC_R4K - case VDSO_CLOCK_R4K: - cycle_now = read_r4k_count(); - break; -#endif -#ifdef CONFIG_CLKSRC_MIPS_GIC - case VDSO_CLOCK_GIC: - cycle_now = read_gic_count(data); - break; -#endif - default: - return 0; - } - - delta = (cycle_now - data->cs_cycle_last) & data->cs_mask; - - nsec = (delta * data->cs_mult) + data->xtime_nsec; - nsec >>= data->cs_shift; - - return nsec; -} - -static __always_inline int do_realtime(struct timespec *ts, - const union mips_vdso_data *data) -{ - u32 start_seq; - u64 ns; - - do { - start_seq = vdso_data_read_begin(data); - - if (data->clock_mode == VDSO_CLOCK_NONE) - return -ENOSYS; - - ts->tv_sec = data->xtime_sec; - ns = get_ns(data); - } while (vdso_data_read_retry(data, start_seq)); - - ts->tv_nsec = 0; - timespec_add_ns(ts, ns); - - return 0; -} - -static __always_inline int do_monotonic(struct timespec *ts, - const union mips_vdso_data *data) -{ - u32 start_seq; - u64 ns; - u64 to_mono_sec; - u64 to_mono_nsec; - - do { - start_seq = vdso_data_read_begin(data); - - if (data->clock_mode == VDSO_CLOCK_NONE) - return -ENOSYS; - - ts->tv_sec = data->xtime_sec; - ns = get_ns(data); - - to_mono_sec = data->wall_to_mono_sec; - to_mono_nsec = data->wall_to_mono_nsec; - } while (vdso_data_read_retry(data, start_seq)); - - ts->tv_sec += to_mono_sec; - ts->tv_nsec = 0; - timespec_add_ns(ts, ns + to_mono_nsec); - - return 0; -} - -#ifdef CONFIG_MIPS_CLOCK_VSYSCALL - -/* - * This is behind the ifdef so that we don't provide the symbol when there's no - * possibility of there being a usable clocksource, because there's nothing we - * can do without it. When libc fails the symbol lookup it should fall back on - * the standard syscall path. - */ -int __vdso_gettimeofday(struct timeval *tv, struct timezone *tz) -{ - const union mips_vdso_data *data = get_vdso_data(); - struct timespec ts; - int ret; - - ret = do_realtime(&ts, data); - if (ret) - return gettimeofday_fallback(tv, tz); - - if (tv) { - tv->tv_sec = ts.tv_sec; - tv->tv_usec = ts.tv_nsec / 1000; - } - - if (tz) { - tz->tz_minuteswest = data->tz_minuteswest; - tz->tz_dsttime = data->tz_dsttime; - } - - return 0; -} - -#endif /* CONFIG_MIPS_CLOCK_VSYSCALL */ - -int __vdso_clock_gettime(clockid_t clkid, struct timespec *ts) -{ - const union mips_vdso_data *data = get_vdso_data(); - int ret = -1; - - switch (clkid) { - case CLOCK_REALTIME_COARSE: - ret = do_realtime_coarse(ts, data); - break; - case CLOCK_MONOTONIC_COARSE: - ret = do_monotonic_coarse(ts, data); - break; - case CLOCK_REALTIME: - ret = do_realtime(ts, data); - break; - case CLOCK_MONOTONIC: - ret = do_monotonic(ts, data); - break; - default: - break; - } - - if (ret) - ret = clock_gettime_fallback(clkid, ts); - - return ret; -} From patchwork Wed Oct 2 17:46:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Burton X-Patchwork-Id: 11171731 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BE06A1599 for ; Wed, 2 Oct 2019 17:47:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 91ABB222C0 for ; Wed, 2 Oct 2019 17:47:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=wavecomp.com header.i=@wavecomp.com header.b="DGBHW6my" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728474AbfJBRrK (ORCPT ); Wed, 2 Oct 2019 13:47:10 -0400 Received: from mail-eopbgr720138.outbound.protection.outlook.com ([40.107.72.138]:35519 "EHLO NAM05-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728412AbfJBRrK (ORCPT ); Wed, 2 Oct 2019 13:47:10 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ll+qXvac6DcutucENLeAIaupRC5y/JxU7XkoDo6E8Z6f3jjJn1LJbXKEs+h7yCd0tydMbiNIe+fiHkySipHAeF3ZDeVlQj6JfrYLgQcSGAdE/HfFKPMdJyYcoh3xLawGIs48w4tNkwjNpiS/BD9GZyPXS1E1C6hGxHnBLzJg9n4cHLovKLe5xTdhsjuIJIWQ0+VscdVKRFllYHKUPoxUzuXeF1RdXdxItPhppGTMrPw+6nVDZkXKM3etIXvhSM5tE/CePfWcZDPlkjFgu05mS6/2vwOeQUybjnmOEzdzWRXQamzwO9uEX75Mj/LtivmV7zHnjI8uPQTBzlo/sAe19A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DXH/eNAwtvvHwaW80VvF/8bVvtjFVbQSqAW4mkjtAwA=; b=KiFms3EDqwZPjikrbwsivu6mTXtlQU5sqvGgeBA4JJCJFJJuTX6LNjNdLMQuptlSca0fmb5FhmMw9cIVB8L8vjuqTdzWmSzOyuU/GnjnmrgoEszC7fhYiFOx/Nx+JiGZ7NbqQkm9OZYw7lDvLRuNHuXyfMeh8Y/QZTHDFhJ/SwjvF35IAsU7DQD12Jh36gfvZAodEud0Iwub4PjhrWuQqEwJ1DZl4ekd+deUXx2YYpXy/44NJuqhk/X71fn5tpbBc0K4TSrCQCx8kxwxTzV2HxfsXKvOuFPtW3wQHdUT4eANzbG+Wvx0OXheQdyNBbNccrtmAHnFx51yo1OOyvea7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=wavecomp.com; dmarc=pass action=none header.from=mips.com; dkim=pass header.d=mips.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wavecomp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DXH/eNAwtvvHwaW80VvF/8bVvtjFVbQSqAW4mkjtAwA=; b=DGBHW6myIHjUTqwgcqFUJoL8eYpmrc5Mo8RnBCGFlQoaM3MUsSJwBZgYew5hrd5uJgNTYc9iZlOaOW32dWGl8HD5ogzf96dJ7ybp1gjbSrXOXYWNN0yDprz24amg90OkqPQ0PRzaMQdPoTv5TN96SNeCpyWe7/NykbwQX0FeEJs= Received: from MWHPR2201MB1277.namprd22.prod.outlook.com (10.172.60.12) by MWHPR2201MB1646.namprd22.prod.outlook.com (10.174.167.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.20; Wed, 2 Oct 2019 17:46:36 +0000 Received: from MWHPR2201MB1277.namprd22.prod.outlook.com ([fe80::498b:c2cd:e816:1481]) by MWHPR2201MB1277.namprd22.prod.outlook.com ([fe80::498b:c2cd:e816:1481%2]) with mapi id 15.20.2305.023; Wed, 2 Oct 2019 17:46:36 +0000 From: Paul Burton To: "linux-mips@vger.kernel.org" CC: Paul Burton , Vincenzo Frascino Subject: [PATCH 2/2] MIPS: VDSO: Fix build for binutils < 2.25 Thread-Topic: [PATCH 2/2] MIPS: VDSO: Fix build for binutils < 2.25 Thread-Index: AQHVeUlWDfP89pcbwEGYZtTvpI6IMw== Date: Wed, 2 Oct 2019 17:46:36 +0000 Message-ID: <20191002174438.127127-2-paul.burton@mips.com> References: <20191002174438.127127-1-paul.burton@mips.com> In-Reply-To: <20191002174438.127127-1-paul.burton@mips.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR07CA0076.namprd07.prod.outlook.com (2603:10b6:a03:12b::17) To MWHPR2201MB1277.namprd22.prod.outlook.com (2603:10b6:301:18::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=pburton@wavecomp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.23.0 x-originating-ip: [12.94.197.246] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9bad8cf1-e9ce-4238-b32c-08d7476077d5 x-ms-traffictypediagnostic: MWHPR2201MB1646: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 0178184651 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(346002)(366004)(39830400003)(376002)(136003)(396003)(189003)(199004)(66476007)(8936002)(6116002)(6916009)(6436002)(5640700003)(3846002)(14454004)(6486002)(478600001)(1076003)(486006)(2351001)(5660300002)(81156014)(8676002)(50226002)(81166006)(66556008)(64756008)(66446008)(66946007)(316002)(36756003)(54906003)(25786009)(76176011)(44832011)(6512007)(7736002)(102836004)(6506007)(52116002)(26005)(11346002)(446003)(42882007)(66066001)(476003)(2616005)(386003)(99286004)(2501003)(305945005)(71190400001)(71200400001)(186003)(2906002)(14444005)(4326008)(256004);DIR:OUT;SFP:1102;SCL:1;SRVR:MWHPR2201MB1646;H:MWHPR2201MB1277.namprd22.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: wavecomp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nrxFyTu0ioddbt0iNGW7iP+5tnGM14paMKC5dvqmHeXjNJujFBOtmPEIu4g+GFBnDEJyvCH91S8eXtMzIR1/LDgd1BoXJWfMGf/iZpGYREvD/7LsTEuCoF+2q6tpGMsKjwYrmbG7dxIepvWcJxQcjAolmb/mhM3taZUCz1uZzTGpQhqa6Uee4hLKUyJkARn5IYcCAUigI7hwk5VuxO0/oQjNL+gvrJkUPDunMir7J9l8qe+GLK6lFTFGW8zOz8xJTvVJM87s7qnvU2Iss2zfEEa2L6W9sNQyfZ6m6goquK0qCFEgs7AtZKPbuZf0wJFSEKDJeqRZf7aLbDKX/1i/26eR5h2YgI3qPv4AunFK7kg19K0KjuTMgouEfp6DUMKFLAcsgDNTOYxZ//T7ZwzJGnufnPZT5sr3fsZEzyaZqpA= MIME-Version: 1.0 X-OriginatorOrg: mips.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9bad8cf1-e9ce-4238-b32c-08d7476077d5 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Oct 2019 17:46:36.4033 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 463607d3-1db3-40a0-8a29-970c56230104 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cK27cldi85MPivu22WAsxubh5Mn/18OIx9c2TI5HQFEGAqMSp23BHD4i01+B4ql23oN3GuB4yFWxSq3jsd37Ng== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR2201MB1646 Sender: linux-mips-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mips@vger.kernel.org Versions of binutils prior to 2.25 are unable to link our VDSO due to an unsupported R_MIPS_PC32 relocation generated by the ".word _start - ." line of the inline asm in get_vdso_base(). As such, the intent is that when building with binutils older than 2.25 we don't build code for gettimeofday() & friends in the VDSO that rely upon get_vdso_base(). Commit 24640f233b46 ("mips: Add support for generic vDSO") converted us to using generic VDSO infrastructure, and as part of that the gettimeofday() functionality moved to a new vgettimeofday.c file. The check for binutils < 2.25 wasn't updated to handle this new filename, and so it continues trying to remove the old unused filename from the build. The end result is that we try to include the gettimeofday() code in builds that will fail to link. Fix this by updating the binutils < 2.25 case to remove vgettimeofday.c from obj-vdso-y, rather than gettimeofday.c. Signed-off-by: Paul Burton Fixes: 24640f233b46 ("mips: Add support for generic vDSO") Cc: Vincenzo Frascino --- arch/mips/vdso/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile index 69cfa0a5339e..807f0f782f75 100644 --- a/arch/mips/vdso/Makefile +++ b/arch/mips/vdso/Makefile @@ -59,7 +59,7 @@ CFLAGS_REMOVE_vgettimeofday.o = -pg ifndef CONFIG_CPU_MIPSR6 ifeq ($(call ld-ifversion, -lt, 225000000, y),y) $(warning MIPS VDSO requires binutils >= 2.25) - obj-vdso-y := $(filter-out gettimeofday.o, $(obj-vdso-y)) + obj-vdso-y := $(filter-out vgettimeofday.o, $(obj-vdso-y)) ccflags-vdso += -DDISABLE_MIPS_VDSO endif endif