From nobody Fri Dec 19 16:12:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A6D7BC4332F for ; Mon, 14 Nov 2022 11:45:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236694AbiKNLpa (ORCPT ); Mon, 14 Nov 2022 06:45:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236690AbiKNLot (ORCPT ); Mon, 14 Nov 2022 06:44:49 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 156E422508 for ; Mon, 14 Nov 2022 03:44:35 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 897A4B80E73 for ; Mon, 14 Nov 2022 11:44:34 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 16C86C433C1; Mon, 14 Nov 2022 11:44:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1668426273; bh=ApTSBGC/5zyM3eDvn776xtW4dxkstz2N0HPAS1gCaY0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cDe/BWVa7LVUh1wr2YKoKMSQ+DOJlndaHrRFQwyP+4dg9OY5/w6swCuGR3SnvFnFi BYfRYHeK0ukY7PG2tQPtB1s9+EfesgR5S3X9dHy+MTPim1IlxDX0GrSaNFjszroBsM TrLvirzkUBIDy00BvaiFBVSsBdqwYsHhG+x17OwNte7Bb9NTv2dYhU4VLk9oJQwh+N aAZMwV7jrT0HcL+9YZIANQ9pqCm3KzAJJ391EqaSh4Mh0IhTQR8YnAPoXkUzTUs0TW biGP4UaRDZWyvnfkK7Bq6fRa8iPc/MpDnqxBESFp3e7EYS458CvD48vTVoBZHELnde 3Mswaewh+4pPg== From: "Jiri Slaby (SUSE)" To: linux-kernel@vger.kernel.org Cc: Andi Kleen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Martin Liska , Jiri Slaby Subject: [PATCH 16/46] x86, lto: Mark gdt_page and native_sched_clock() as __visible Date: Mon, 14 Nov 2022 12:43:14 +0100 Message-Id: <20221114114344.18650-17-jirislaby@kernel.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221114114344.18650-1-jirislaby@kernel.org> References: <20221114114344.18650-1-jirislaby@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Andi Kleen Symbols referenced from assembler (either directly or e.f. from DEFINE_STATIC_KEY()) need to be global and visible in gcc LTO because they could end up in a different object file than the assembler. This can lead to linker errors without this patch. So mark gdt_page and native_sched_clock() as __visible. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: Cc: "H. Peter Anvin" Cc: Martin Liska Signed-off-by: Jiri Slaby --- arch/x86/kernel/cpu/common.c | 2 +- arch/x86/kernel/tsc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index 3e508f239098..5417a8fd7a45 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -201,7 +201,7 @@ static const struct cpu_dev default_cpu =3D { =20 static const struct cpu_dev *this_cpu =3D &default_cpu; =20 -DEFINE_PER_CPU_PAGE_ALIGNED(struct gdt_page, gdt_page) =3D { .gdt =3D { +__visible DEFINE_PER_CPU_PAGE_ALIGNED(struct gdt_page, gdt_page) =3D { .gd= t =3D { #ifdef CONFIG_X86_64 /* * We need valid kernel segments for data and code in long mode too diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index cafacb2e58cc..df1589482662 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -215,7 +215,7 @@ static void __init cyc2ns_init_secondary_cpus(void) /* * Scheduler clock - returns current time in nanosec units. */ -u64 native_sched_clock(void) +__visible u64 native_sched_clock(void) { if (static_branch_likely(&__use_tsc)) { u64 tsc_now =3D rdtsc(); --=20 2.38.1