From patchwork Tue Dec 21 17:49:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571842 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JJPBQ2QT0z9sR4 for ; Wed, 22 Dec 2021 04:50:38 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JJPBQ1WFhz2xsk for ; Wed, 22 Dec 2021 04:50:38 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e19::622; helo=fra01-mr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on0622.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e19::622]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JJP9j3d0Sz2xsZ for ; Wed, 22 Dec 2021 04:50:01 +1100 (AEDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CSYJzyvVi8dfvyD7ZSTqqVgAMo9CCSFkeZqUqS0ax63mLEBw39mjpx4nGE7vQj0AQMYlMVqwhQ2b7mXsteOaeKBKShY3jsuPalV2nA8C/4aRUPc3FX/F15rCdf3uA6HKdZASotfUKnQ3GjZHuwdaMhsiAJ2XOAE4XSs13g+tGXkLKC3MlyMvcNzE3NU6pD43wQboJdjq6UYS6G2KAPHk5k3Jgx8IQ6HzSFX81WA/JXeosWShVutmJu0LDq78ihSBRetneSY9X8pejbqp+zj5Vqkg3LRBwgLB8reblmGgyAFNNOrPK3SQ1xFoqjdLKFr0p4tPc53vRTC6wQ9i9LVUhg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=s2uoIMr7ouwSiiTxtmQ00wCzL0EFew1/CqzIpuCx3MU=; b=j09XNvDAouVh369Eh9aQ0j1JmNKf/6rCUHaAgIFewtWqIQw6DaK+C9PTw46+cbprZw9EVrnXBo5dy6K8eTx8QGEzUBdp/7Fv4E6/RSF7mpWuvmNcH3hHfNL0F1RwhoT/rtkuawTuOmNOT//NCFY6Jc0mq5M9+uprmsXvSxpsCbYaajE4Y9i4xgG6DKT0iaTwDk7vy4CHgBh81AXJ8O7PXuKpUAXwu7Qgz6LOdCu+K3Mq8v8JYHGS4Z4B2huV2pPKI/R/ObSIkwGwAfzd1VtlqPzdM0cR5QBKfrHv1FW5a0LQgMSTk/18Ympo3xgxwj91iChEh+1BDHBrqjaze/nQLw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MRXP264MB0648.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500:21::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.14; Tue, 21 Dec 2021 17:49:39 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Tue, 21 Dec 2021 17:49:39 +0000 From: Christophe Leroy To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , "masahiroy@kernel.org" Subject: [PATCH 2/3] powerpc/vdso: Rework VDSO32 makefile to add a prefix to object files Thread-Topic: [PATCH 2/3] powerpc/vdso: Rework VDSO32 makefile to add a prefix to object files Thread-Index: AQHX9pMgi7Z9cv3SfEOftOggZd+0DA== Date: Tue, 21 Dec 2021 17:49:38 +0000 Message-ID: References: <09b25a22cd5179eba4580ae95414f18fc162bedf.1640108961.git.christophe.leroy@csgroup.eu> In-Reply-To: <09b25a22cd5179eba4580ae95414f18fc162bedf.1640108961.git.christophe.leroy@csgroup.eu> Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6240991a-157c-4a87-7a04-08d9c4aa429c x-ms-traffictypediagnostic: MRXP264MB0648:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1013; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Fh8E4uOyOEtadum3aeqTyyLaEB06J4BSyPqNvd5uUXSYlNO6hzkiBqz59c5+pPlB2S5G43TuMlzdV2lTTVjyPR9CRUso5PEOc1qWAfuKsBSOYNJ+HDEv0Vqij5HmnZJwEZnXptT3bx+nZ6m2j1sNnXegDQKc+x425Be24FHu0Q358xeKZ+dtWxqCK5kVGs7mn3XbMcpG8XrO8RHbGj1dTxdbcJxHqOdVewBjKPfHPEuQCv9DSqZFg+UOCyo6d7DjtigpH9AsPXW5U9BqsgZk1vnSHQgeQsS2r4dIHtj3l8Qbi0akmEv/YHWQW/ctnPWmkWrdxT3Usc2TB+v6+iSF5QW34w+SLY6FwCPiKD6qCQQpZD3XhLqawg5yuQ36VRWon3q76S0RYcG3OhG4bQ/xtQBfZZc5L4W9KBGjOc72njGp6kLaDfLOvW0SHryvNYaHS1Y6csVpgF5vyVBcKSM0lG+mMKOvEa99DZ9/OL5nzUulEUFThKnbPwJE7QSNJdhwN6bkEpYjizDL+LDxWGBmFDoWKjzR/U4lTEBwhpeKC/2mgQWZbfKUeDjVk+3+RI9+Kkr9lrYUR58hv0tHzc3ZhuFzRDBiSc9gD2oZSVCNNkcZlBCpFZnqunWoezfGNhrV8YWQFe6B9E1zu52OAdi4kKcU7B0mat13qWbLkClyhp/iQZP1Y8G5qjk/dZcDOVn94FgZChYlCGd5QodEU8oRow== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(4636009)(366004)(8676002)(54906003)(186003)(5660300002)(6486002)(38070700005)(26005)(6512007)(44832011)(64756008)(110136005)(38100700002)(508600001)(66476007)(66946007)(66556008)(91956017)(66446008)(76116006)(71200400001)(86362001)(2616005)(316002)(6506007)(122000001)(8936002)(2906002)(4326008)(83380400001)(36756003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?uAPjxtH7jOu6MYyaaLkhBmV?= =?iso-8859-1?q?+HH8YE3p8LEziYdLKFyTyQ4jUZsGvszEPI0yVLqWLPSPGzzOW3XaqcORLz6J?= =?iso-8859-1?q?VBSWvF8RBB2RynZgUuF47ziX8QpaMnP4L1faZNYTgVAgV5iSWDZVad/NCXqL?= =?iso-8859-1?q?HsjDMJzFVM9gpP745mGYCXz949DaeGp6w8mn7pcefUZD1WZH6tkkvhm53scn?= =?iso-8859-1?q?eqiKGfrek56qXNPIN582Yax9hZVfgrWmPc2elBR7MuqlBhtLtDsQToyEvFxS?= =?iso-8859-1?q?zmaKV42dL2nmZXFxrTE2LfkWZHwTlRzU1Xgc7toA3+M77wjniPtA6Cx4/CWp?= =?iso-8859-1?q?f9/2pW75SMcHP4cwIfHKgCTYYnu7lwrZe1dq2AWbiQVNBDCYoL45KLZRIUL6?= =?iso-8859-1?q?W8PvMirmSqEJGEvU6UolX8+jw8Ab7a46hNHsdAhcYyFv08eAwNmvnAbchQ0n?= =?iso-8859-1?q?1SgshDAFd1zXu5S85S4s1gbakkA7OcOTEsq/nk20Zwk/joVgO8yFOsnEaLFQ?= =?iso-8859-1?q?S8F8AX5iFH6BcmeXUcz68bqEO7ngM34DDtgqalS3o/E7SlxKYSbIxZye+GXe?= =?iso-8859-1?q?Bx8mnrEAV7CV9wPtX99KdHw8N3NIPqYs+jS2Hpx/PsCTT4c938v+zFXLURy0?= =?iso-8859-1?q?CiHfuvdtEbEMCI4ehDJRcFsL2Bfo3lKanTEvTbH0IdGzhTBttD7LwSFQ2j4M?= =?iso-8859-1?q?pmvm2eWacgp6cWVjN7AYniYP7npO/CPGLiC0/IYJxl+LYJj5yC/mwEqsRRPz?= =?iso-8859-1?q?WPCz2vEJ+xHsH4oGhKYsFYYFrrJ3yjwtM9cZR9dGofdaWp0WLp6EVeEAvduo?= =?iso-8859-1?q?kdRmsgw/FYcLphK3/tt5q/HZUBmHtF7Dd8HVO5n9Gc6gOcmthl0Y9XwtKLMe?= =?iso-8859-1?q?LuRA328MdBKk4OJX0iGUMYFfm98/BMcE0STBtqN2bqb8CQV8UMyv93gqpLLr?= =?iso-8859-1?q?WJTLpkYcQH1CJvIlzTkEUT5it2h4oifEs0uByoWtBmqLkJCNx92uFuyY2FWz?= =?iso-8859-1?q?VRc7QFPuFLQD5xaXEr06sNOkfgm5gixkKCLvHtUq7AGm1wXizMUYB7Rn9f3m?= =?iso-8859-1?q?Uh/YKE7xthwzNR5ZJdfIlREPyYyg6Smwz/UyrWCQxmHh3usDxwvB1tOJ+3WT?= =?iso-8859-1?q?AwL7xOQ+irA+UFqF3it2Yomo4KSV6J+fYWjQ/IEaloVhg9JJl04LhoLsQGIg?= =?iso-8859-1?q?9UxG0WeS9JZrs+cr+lpZZXevJcd8o9L/XnUyc+ZgDSs2F81Ywul7FW16gMnq?= =?iso-8859-1?q?y/ub6HdDiitG8CzPuZJTWl3RFN4bRsFS5SIrE0tq/dc1KpxopBihlqMYqypt?= =?iso-8859-1?q?Sh/qNxIuXor3FJjjBTXSVhDDybo7Kc7sVJE5RaTNzqtptlb/piNUES7QO0iT?= =?iso-8859-1?q?9H/FUiCKz7TakqLJRhL0g0Oh+GjqEGGwZh08Dkdg5Pwj10bGdg3dN04mQeSh?= =?iso-8859-1?q?FdGct2a4ytu3Csvv4DcDKmFMCxt8i4vJclH5RrV7FL/tarATlq7DI8F2Pz0y?= =?iso-8859-1?q?1qYYSKokpH/mqsVDmm+OE9GaFP6SshGzLF0OZv6t6IjnYziFGtBj01U1FsIF?= =?iso-8859-1?q?CN6dZE09JU1fgZgBJitFyX7ktxwDlkpKlxDif6WvtQ9uE1eWj/2Xy4kikbEM?= =?iso-8859-1?q?IVnX1EPvQA98TJ58ukehDEyuFW4J1yWQ2VIVAkiQxuKPTe4U7+Prg+DiH4C2?= =?iso-8859-1?q?FrZ2OSKHsLXF/Gl0HylW6riM/Jk9vdf9iqmHZ7AJr3L+YYLS7rNbbi6YUN0B?= =?iso-8859-1?q?mc+A=3D?= MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 6240991a-157c-4a87-7a04-08d9c4aa429c X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Dec 2021 17:49:39.0046 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: R+9YPPKPyVvl4pA4v2yarBAO7SfPTWOBZgxevKHHieu3YSqJc23mYkb+l/bppBZB6qjv3CbYpk9Y8lRn0+L8bTOhAgQcWMm6C00npe+3JDQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRXP264MB0648 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" In order to merge vdso32 and vdso64 build in following patch, rework Makefile is order to add -32 suffix to VDSO32 object files. Also change sigtramp.S to sigtramp32.S as VDSO64 sigtramp.S is too different to be squashed into VDSO32 sigtramp.S at the first place. gen_vdso_offsets.sh also becomes gen_vdso32_offsets.sh Signed-off-by: Christophe Leroy --- arch/powerpc/kernel/vdso32/Makefile | 47 +++++++++---------- ..._vdso_offsets.sh => gen_vdso32_offsets.sh} | 0 .../vdso32/{sigtramp.S => sigtramp32.S} | 0 3 files changed, 21 insertions(+), 26 deletions(-) rename arch/powerpc/kernel/vdso32/{gen_vdso_offsets.sh => gen_vdso32_offsets.sh} (100%) rename arch/powerpc/kernel/vdso32/{sigtramp.S => sigtramp32.S} (100%) diff --git a/arch/powerpc/kernel/vdso32/Makefile b/arch/powerpc/kernel/vdso32/Makefile index 7d9a6fee0e3d..7d7b38d90ca5 100644 --- a/arch/powerpc/kernel/vdso32/Makefile +++ b/arch/powerpc/kernel/vdso32/Makefile @@ -5,15 +5,16 @@ ARCH_REL_TYPE_ABS := R_PPC_JUMP_SLOT|R_PPC_GLOB_DAT|R_PPC_ADDR32|R_PPC_ADDR24|R_PPC_ADDR16|R_PPC_ADDR16_LO|R_PPC_ADDR16_HI|R_PPC_ADDR16_HA|R_PPC_ADDR14|R_PPC_ADDR14_BRTAKEN|R_PPC_ADDR14_BRNTAKEN|R_PPC_REL24 include $(srctree)/lib/vdso/Makefile -obj-vdso32 = sigtramp.o gettimeofday.o datapage.o cacheflush.o note.o getcpu.o +obj-vdso32 = sigtramp32-32.o gettimeofday-32.o datapage-32.o cacheflush-32.o note-32.o getcpu-32.o ifneq ($(c-gettimeofday-y),) - CFLAGS_vgettimeofday.o += -include $(c-gettimeofday-y) - CFLAGS_vgettimeofday.o += $(DISABLE_LATENT_ENTROPY_PLUGIN) - CFLAGS_vgettimeofday.o += $(call cc-option, -fno-stack-protector) - CFLAGS_vgettimeofday.o += -DDISABLE_BRANCH_PROFILING - CFLAGS_vgettimeofday.o += -ffreestanding -fasynchronous-unwind-tables - CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) + CFLAGS_vgettimeofday-32.o += -include $(c-gettimeofday-y) + CFLAGS_vgettimeofday-32.o += $(DISABLE_LATENT_ENTROPY_PLUGIN) + CFLAGS_vgettimeofday-32.o += $(call cc-option, -fno-stack-protector) + CFLAGS_vgettimeofday-32.o += -DDISABLE_BRANCH_PROFILING + CFLAGS_vgettimeofday-32.o += -ffreestanding -fasynchronous-unwind-tables + CFLAGS_REMOVE_vgettimeofday-32.o = $(CC_FLAGS_FTRACE) + CFLAGS_REMOVE_vgettimeofday-32.o += -mcmodel=medium -mabi=elfv1 -mabi=elfv2 -mcall-aixdesc endif # Build rules @@ -24,13 +25,7 @@ else VDSOCC := $(CC) endif -CC32FLAGS := -ifdef CONFIG_PPC64 -CC32FLAGS += -m32 -KBUILD_CFLAGS := $(filter-out -mcmodel=medium -mabi=elfv1 -mabi=elfv2 -mcall-aixdesc,$(KBUILD_CFLAGS)) -endif - -targets := $(obj-vdso32) vdso32.so.dbg vgettimeofday.o +targets := $(obj-vdso32) vdso32.so.dbg vgettimeofday-32.o obj-vdso32 := $(addprefix $(obj)/, $(obj-vdso32)) GCOV_PROFILE := n @@ -38,36 +33,36 @@ KCOV_INSTRUMENT := n UBSAN_SANITIZE := n KASAN_SANITIZE := n -ccflags-y := -shared -fno-common -fno-builtin -nostdlib \ - -Wl,-soname=linux-vdso32.so.1 -Wl,--hash-style=both -asflags-y := -D__VDSO32__ -s +ccflags-y := -shared -fno-common -fno-builtin -nostdlib -Wl,--hash-style=both + +CC32FLAGS := -Wl,-soname=linux-vdso32.so.1 -m32 +AS32FLAGS := -D__VDSO32__ -s -obj-y += vdso32_wrapper.o targets += vdso32.lds CPPFLAGS_vdso32.lds += -P -C -Upowerpc # link rule for the .so file, .lds has to be first -$(obj)/vdso32.so.dbg: $(src)/vdso32.lds $(obj-vdso32) $(obj)/vgettimeofday.o FORCE +$(obj)/vdso32.so.dbg: $(src)/vdso32.lds $(obj-vdso32) $(obj)/vgettimeofday-32.o FORCE $(call if_changed,vdso32ld_and_check) # assembly rules for the .S files -$(obj-vdso32): %.o: %.S FORCE +$(obj-vdso32): %-32.o: %.S FORCE $(call if_changed_dep,vdso32as) -$(obj)/vgettimeofday.o: %.o: %.c FORCE +$(obj)/vgettimeofday-32.o: %-32.o: %.c FORCE $(call if_changed_dep,vdso32cc) # Generate VDSO offsets using helper script -gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh -quiet_cmd_vdsosym = VDSOSYM $@ - cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@ +gen-vdso32sym := $(srctree)/$(src)/gen_vdso32_offsets.sh +quiet_cmd_vdso32sym = VDSO32SYM $@ + cmd_vdso32sym = $(NM) $< | $(gen-vdso32sym) | LC_ALL=C sort > $@ include/generated/vdso32-offsets.h: $(obj)/vdso32.so.dbg FORCE - $(call if_changed,vdsosym) + $(call if_changed,vdso32sym) # actual build commands quiet_cmd_vdso32ld_and_check = VDSO32L $@ cmd_vdso32ld_and_check = $(VDSOCC) $(c_flags) $(CC32FLAGS) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) ; $(cmd_vdso_check) quiet_cmd_vdso32as = VDSO32A $@ - cmd_vdso32as = $(VDSOCC) $(a_flags) $(CC32FLAGS) -c -o $@ $< + cmd_vdso32as = $(VDSOCC) $(a_flags) $(CC32FLAGS) $(AS32FLAGS) -c -o $@ $< quiet_cmd_vdso32cc = VDSO32C $@ cmd_vdso32cc = $(VDSOCC) $(c_flags) $(CC32FLAGS) -c -o $@ $< diff --git a/arch/powerpc/kernel/vdso32/gen_vdso_offsets.sh b/arch/powerpc/kernel/vdso32/gen_vdso32_offsets.sh similarity index 100% rename from arch/powerpc/kernel/vdso32/gen_vdso_offsets.sh rename to arch/powerpc/kernel/vdso32/gen_vdso32_offsets.sh diff --git a/arch/powerpc/kernel/vdso32/sigtramp.S b/arch/powerpc/kernel/vdso32/sigtramp32.S similarity index 100% rename from arch/powerpc/kernel/vdso32/sigtramp.S rename to arch/powerpc/kernel/vdso32/sigtramp32.S