From patchwork Fri Jan 21 16:30:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1582649 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=112.213.38.117; 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 [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JgPyD4pgQz9sCD for ; Sat, 22 Jan 2022 03:31:00 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JgPy91QMBz3bZX for ; Sat, 22 Jan 2022 03:30:57 +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::629; 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-mr2fra01on0629.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e19::629]) (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 4JgPxz65WQz30QS for ; Sat, 22 Jan 2022 03:30:45 +1100 (AEDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dqDl+Q7I7l7APW7B9E617mfPcnZX4cAV6pxK579PrJqavBaflB/r3XFcIsEyAocpC8TSxT3ZqrmP6Im2E1OoDIL8oFlvKWmp6rtvsJeViudOnrt/GNdkHHussWiziGr8BjwMbIp2F9mBMiZa3wrd956rRiVtDZQJp/2PcwmnknrcVS1phjcQ+mlo3C/bK7TQ0ZpuPgAVWq2HdCfVPwo1Xy5tWPSAfhdHRZbdIagREKMdUIMFPGgk1uhX6ZWpp9uggwf/zb5S7ZmYQ/DIUip6pY8ODfWg0rPBaXFMFJDT9ztIhoyU/ycL5C1RJ8NlAGl8PROlTbh3MQOPGz831q9V3A== 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=eCqWP44nsBwXq5cm9/xzAMKWhXNOs0nxau/reX0vETOz7ysT+xNvhfrSz3fWPP1z1I9S8CFIrEJrjXqm8pLX2P4IELmj64aebeGbCrx4TIysUJGl2mrztc/ikzd7/8NxNOesDNx+WxixrViDYZeX3uloSVtgi51Kzzr+rYRX+on6Du7rRpDzr/+do0ZHdiyOUOsrgJv9hv+5O3zKTysY5xTSALCKDnK0OYXeX7T1xAEf+wLw7Pf2apP7lBYwPdWCjtKyPgLLB+4d/L1g38Hou5Mmb4/xDQxGYe+lDRxcMWlXel7g03dHwCeZOgBOfzf+SAYiiH/Lu0FJBNljdWFN1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by PR0P264MB3436.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:14b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Fri, 21 Jan 2022 16:30:24 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::9d4f:1090:9b36:3fc5]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::9d4f:1090:9b36:3fc5%5]) with mapi id 15.20.4909.008; Fri, 21 Jan 2022 16:30:24 +0000 From: Christophe Leroy To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , "masahiroy@kernel.org" Subject: [PATCH v4 2/5] powerpc/vdso: Rework VDSO32 makefile to add a prefix to object files Thread-Topic: [PATCH v4 2/5] powerpc/vdso: Rework VDSO32 makefile to add a prefix to object files Thread-Index: AQHYDuQwc7FEdN27b06YHATBao+VCA== Date: Fri, 21 Jan 2022 16:30:23 +0000 Message-ID: <0c421b704a57b228e75a891512568339c53667ad.1642782130.git.christophe.leroy@csgroup.eu> References: In-Reply-To: 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: b346de70-d48b-47f2-90a6-08d9dcfb533d x-ms-traffictypediagnostic: PR0P264MB3436: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: TyywOvy/ESFMdVJqTw3euuk6DvMxEc4GxMGksUc5VXqNAyzF7NdMTuw3Ktq0D3LNHlIC69E8K3IMjJNh+ie8Y8CPTMdpklorveCkD/5Mzn8hTNJQxPkiGmNFqIyJaEMnAhMQrstugm+LWlOaoVanvw3Um7yuSkuVMhi1PyIFBUnWTttlIEiCxvx/puULUP4IpkMDhMC9RfDsIfHevxdP7GVBXMUnIoVPI3e2pJSd2Bd8PnqJgmJXLjoKqI4ADT4R8RdkLn565rgblD2Fiiq23a+pADVUbiZvSc+FplhXSPEUAdgmnLW09dGn/G3AbsMUvA1hRrugJaiNsntyyt44hgDzFfTT9PeAMKmT/Rz/8tLFOM/JCbyYke85s2VsvL5M/6+TOwmofw3wdIUsJd1GZIWd9rQG0h2bdmeTrnx1aXEL+6lyld/bgANuTHuJrWpjpWpkLkDQWbJKpkepLgPvqs/95+LCzx+Jm0qroNt1D+6pglc9/QJTxXs+byU2mhzU3ZQ3zLEPgeCC2kFLuMUTmtbq0oYB0IPmqAgZ6cggySph9XRKDCoEX1rUqhP6OYho0wg11XEXEe1VPmZWKcOpldkp5ELCAfiOZk3n531+q5+gEBkHTk85crR3v9IHEz7zvyGr4L4K17nQtS1+GgmBHbI4IibgnyKk+rDEeFEvfvc2rkU16qZckflun5nVBZfKZSrvt/LgQrCaO7jt2Rn/hQ== 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)(44832011)(36756003)(5660300002)(64756008)(38070700005)(6486002)(4326008)(66446008)(186003)(66476007)(66556008)(66946007)(91956017)(86362001)(6506007)(83380400001)(38100700002)(2906002)(54906003)(110136005)(122000001)(71200400001)(316002)(508600001)(6512007)(8676002)(8936002)(76116006)(26005)(2616005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?ZsAwJzYD6HvUnNI6VPGBhJq?= =?iso-8859-1?q?Op5eWfqZi+CWqc1cFyXXFFudwZazprS+F1S6n0fQkra39pxcUSowX0knFUwg?= =?iso-8859-1?q?i2H+Mr9XRusYiF0ih6sel3yQFMOuAowMatUCwqm1F6qSmEgbdXwKcSHSCC7P?= =?iso-8859-1?q?ocgit0r5EIAt7B9kp8pIrAI5jyXVMI8x6mGn4J9RkxqHLBAJcAsTFWMmAsU2?= =?iso-8859-1?q?YOO4jv1s4A700FNjbfQZ+BqJfRzv1HtfjFalHrTTRrz4OwbkjohhS2tWB5fQ?= =?iso-8859-1?q?15OeFvDwgMktMou+PJb7opYCiBC/t1hULPDELmmdTOXVc/5boI3vV8NOiAVd?= =?iso-8859-1?q?Qw18lUu362W8KPbTgxlLQVF7ONywNN4X2Hh/UzXVdvic6BOl7DkTSp7zbbl7?= =?iso-8859-1?q?9I8glTBfDgpJ4JRaZpJd4f1xRGeln4R3eiy6bPTc2U+lbw8UpN2eCkn3Hijd?= =?iso-8859-1?q?CrF8bS7BfGsRJ/6vpqISWsD2dYttZZ9Xv/8R4i3mg1CSgpzMNSmhUrsDCoak?= =?iso-8859-1?q?75fcgHJttCW2QLcH9UXVlCy5x0suryNrL4m6c66Ak14yYQ2mZZ3tpAJtcD7n?= =?iso-8859-1?q?yWJIrudJJjTIz8Wze5Yn1LuSpjjgb3MeJZAH+FZs99JJrvItXLPTS9kjn8TJ?= =?iso-8859-1?q?M39JcPb7QBXmtmyREjxrZfIDkugd5Xw5qtlow86xhKaVnzwxAX6eizq3h/zJ?= =?iso-8859-1?q?cLdvSZP4SnbR2y2N5lfkxFGJximZPDvBeYWRQsReNuZtoXELSGcnOOWrNrA7?= =?iso-8859-1?q?0nfehTYIufbkaSSM/pAXRVAwMhSHrGs6aDkIMv5TWnACkfpytahBP9rdFDfs?= =?iso-8859-1?q?mmHFCcL6y6zH0XbA5CeD0Fj723ylVoonVFzW9drC5ovPvV5GMVPbKE8oNDCU?= =?iso-8859-1?q?lUqek3MDzKrt/ujDIzkwv4Da8sNDHtluxdOQjyAtrjrll8WUkknF6roJX6bL?= =?iso-8859-1?q?U87dhvzHykO9EZRNnDO3diBrLngE452isSF78Ah6ORJv/qAcUGedxsRfSF2A?= =?iso-8859-1?q?pCkCBUP7pDWZYuC3V+YwDZtwDRHkEoONex3oKnkox1MCiHLq3x3YCzpcj6yk?= =?iso-8859-1?q?CQ6C+IOM1XVUeNq4QxQrhNMMIjGigFp/imYMl+ap/UCLwhQxTChLi2GidQUI?= =?iso-8859-1?q?Da9Bp3NMTSNZfrXY6JNtIzgN1K3vH8Ucw4m1SLFrOFQwUp2TAAbBEH3LouWK?= =?iso-8859-1?q?Lqe69KPNLH9oHiwrBSFrMe87KwYqX5xmxVryLI8dasemf2ArKk45bCxV02Eo?= =?iso-8859-1?q?g80CCGiqWeMBsmjx+OB56pFO03CpGV8+ActNye84M1Xcb4soSGurpmftmDk5?= =?iso-8859-1?q?7Yb0XNQ7Xc1lNooY/lguZxlkmobTSbSifZQJ+KfyVaSwKQndn4/IErqQVot/?= =?iso-8859-1?q?QX2pFWVHXUAqaEHecwEgNpjehv0ZIXdFDCMMZQjNw5L59CzDRCqujegn/v8H?= =?iso-8859-1?q?XexLY1QrwulAtxkTuIp03KqWlf/PajCB7vxLNBwPSFtHqfZItXpTORn5nxeu?= =?iso-8859-1?q?fEa5e78G+Ekxj5n5BidLDZIhOgX+EpyIcC1iyKxM4Rmu98cuz84gY+1DChWg?= =?iso-8859-1?q?3qwNcU3Iqgt7UXa4x1937ucozjD1Hq7aadPttW5rfti6L8o8zG4J+bRS/pRb?= =?iso-8859-1?q?k+K4kKERg9C0CU2HN/IqUPUkiLzMiWC4qi6ZawNlRxQVx8nMtElYB/9FoB2j?= =?iso-8859-1?q?m+wMcMkyO1dTJntI2xD9Qi4MyYWgjnPsqIc1mWu7vGDDrlbnQabuBjG9T7XT?= =?iso-8859-1?q?92j0=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: b346de70-d48b-47f2-90a6-08d9dcfb533d X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jan 2022 16:30:24.0144 (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: yNZdjACymelN/9S+jpxwPgjgjJr+B4wq68+v5mH71jWSF72/jCdHf1QeLoKUrN6mnPR2aIRi8ZNpZ/IRHs+PICytsv6a+QCXM7UBjaM/Tps= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB3436 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