Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp937880pxb; Thu, 15 Apr 2021 09:53:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz/a6WWfudCuTYZP2jXjIjl2MtRWqp3By9ecoeHd2OU3ZgX7ypCMavnGe8wqBAkj0W/Syce X-Received: by 2002:a05:6a00:22d6:b029:246:6209:b483 with SMTP id f22-20020a056a0022d6b02902466209b483mr3886036pfj.58.1618505607729; Thu, 15 Apr 2021 09:53:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618505607; cv=none; d=google.com; s=arc-20160816; b=I1CQaKSeaYeVg6viEVCRZ6hjLUTlJ5/eih4S2x/I2yGux+7caEB9RQgJFQb/wLrYon 1W/l5ekckagv+JdOTXH51ZcI10jyyoMNw+9ATURm8u8S6TUziRYYFu99dkzFmpsqUK1F KiMpQkw5PZDhbdJM8pBBUIqZNZWrWf9lDFtMDmdl9dRPGegYuj/VByt+sZmz7rvy6RZP xpv/tL/cD2cFkqEj2XpnsjRYcXnCmWYK1Rn7XC6JY2CURkh9oiGKAfMSkCG4ROHdwlu8 a0Lr10nKqXTCWiC914shQFKEWeTwPvKtOxPphPsCpIWs6KETK/v4yzZs0SxV38VZ/Kro tBhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=U37DmZ+J3T6SaAA0HXrJNqq/8z5wrCoZ7qw6igvtpHg=; b=BEyLCdA6ZX+EmuhQlFSHm1b7sle9FHN7TtX4zsWe1EzzV/NSyIm750O5MQuMNZdg/m YJZLsUn/W3kaE3WXJO1vMK0ZO8w0G8x6o00opfDUPobvzhJTsHskUl0imYVKnJ/h06Sw ukGLPW+C8GmtDIN7mtJln7zTm1MTlWM1XDgYJyeU8NfrtpPElDn1jb/P9ZhFhDCSBne/ 5/Zx2ZVRGXdLfD9N0nKQ2UJVGf02o4gy7FSAWZ2zZnkxtlFg2qKCmBEbJGSEkB2G8zJM QmVYFfrTpm7iM5cFy5TZBeODtTkcGqSEPGKgCoVNldlDwf8to078mQU7geGk/ZqvBiEV h/eg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=o0LZ7oRT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f185si3540172pfb.190.2021.04.15.09.53.10; Thu, 15 Apr 2021 09:53:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=o0LZ7oRT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234150AbhDOQwx (ORCPT + 99 others); Thu, 15 Apr 2021 12:52:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41940 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233583AbhDOQww (ORCPT ); Thu, 15 Apr 2021 12:52:52 -0400 Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 62422C061574 for ; Thu, 15 Apr 2021 09:52:28 -0700 (PDT) Received: by mail-lj1-x234.google.com with SMTP id u20so27842115lja.13 for ; Thu, 15 Apr 2021 09:52:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=U37DmZ+J3T6SaAA0HXrJNqq/8z5wrCoZ7qw6igvtpHg=; b=o0LZ7oRTf0bmGgDrCymXA3Les/i63Ka5ogz7o1R1QfOxWJbRt8gkDAK9714JEu1rLU 07mzVIPZ37KqJOzpjXbGgjsok/9XGmeInZdGGnxAo7EowibqCjFPzQZkBkr9nfEso++4 A2sh15q4Q/k/dBUGA5hvzKkd1t/ZyMtHbD8xd6XgC2UzMAPuPCzuv3QKg5CC0q1OGaZH NvMyJD2+w3mArpciv55SzvVhBakchRZf9FXWbXEmN2AVV+qulegnay8nTIa/5Us6TD76 hLSfjwbUpowtjmcLXjJflvhz0AgaDp+rx4NggJljseocLt2+ZHL+CBfd/C3eSip1/Flx toHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=U37DmZ+J3T6SaAA0HXrJNqq/8z5wrCoZ7qw6igvtpHg=; b=a/vTJf2c2l1Vafm96A8Cdm1Yjd8BFKwgnsnNUIu/noCsc3+mgQiMz0hSYU2ERmpfrZ 8Uf16QNEmM5ZUs0cpfDkyg3puAljvh4fMeFNFGpNGX4gFWiZhTdbkpDASFIHHFXAAJQx yIJ/+qwT3uOmRxtMqikF4uE+SqWB5fn5+XsW/HEkl2tscTxH2iTEfxxbElzQffYo2819 W9k6NT8+m8R60eS0dQVET/B8k0+BhtHb3PNVZgcWsgNNM587gviFosVa7lffU6/6PuFU 9J6CpVEzsTmDvJeptHRrUEMFaDCQ40+MddH56fuCfSqn2QjWKF+ivI+gW7zHkQXrMzvt GI7g== X-Gm-Message-State: AOAM532q4PUH1lijvObyXADYVYvwI0XQqewDAPTShtfV18ao9Yo1hv7h ARrwk0AW/r1PlyHOT6rGCD1vNmsyzoyUS2kaO7e1Ag== X-Received: by 2002:a2e:988a:: with SMTP id b10mr57627ljj.341.1618505546655; Thu, 15 Apr 2021 09:52:26 -0700 (PDT) MIME-Version: 1.0 References: <20210414214548.700993-1-ndesaulniers@google.com> In-Reply-To: From: Nick Desaulniers Date: Thu, 15 Apr 2021 09:52:14 -0700 Message-ID: Subject: Re: [PATCH v2] arm64: vdso32: drop -no-integrated-as flag To: Vincenzo Frascino Cc: Catalin Marinas , Will Deacon , Nathan Chancellor , Masahiro Yamada , Stephen Boyd , Linux ARM , LKML , clang-built-linux Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Apr 15, 2021 at 6:31 AM Vincenzo Frascino wrote: > > > > On 4/14/21 10:45 PM, Nick Desaulniers wrote: > > Clang can assemble these files just fine; this is a relic from the top > > level Makefile conditionally adding this. We no longer need --prefix, > > --gcc-toolchain, or -Qunused-arguments flags either with this change, so > > remove those too. > > > > To test building: > > $ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- \ > > CROSS_COMPILE_COMPAT=arm-linux-gnueabi- make LLVM=1 LLVM_IAS=1 \ > > defconfig arch/arm64/kernel/vdso32/ > > > > Suggested-by: Nathan Chancellor > > Signed-off-by: Nick Desaulniers > > The patch looks fine, but I have one question: the kernel requires as a minimum > Clang/LLVM version 10.0.1. Did you verify that with that version compat vDSOs > still builds and works correctly? Hi Vincenzo, Great question, let's check. $ cd path/to/llvm-project $ git checkout origin/release/10.x $ cd llvm/build && ninja $ cd path/to/linux $ b4 am https://lore.kernel.org/lkml/20210413230609.3114365-1-ndesaulniers@google.com/ -o - | git am -3 We can't generally build ARCH=arm64 defconfig with LLVM_IAS=1 with clang-10, but dropping LLVM_IAS=1 it looks like we can still build without that. $ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- CROSS_COMPILE_COMPAT=arm-linux-gnueabi- make LLVM=1 -j72 defconfig clean all $ ls -l arch/arm64/kernel/vdso32 total 116 -rw-r----- 1 ndesaulniers primarygroup 7534 Apr 14 14:41 Makefile -rw-r----- 1 ndesaulniers primarygroup 387 Mar 31 10:47 note.c -rw-r----- 1 ndesaulniers primarygroup 2544 Apr 15 09:48 note.o -rw-r----- 1 ndesaulniers primarygroup 4552 Apr 15 09:48 vdso.lds -rw-r----- 1 ndesaulniers primarygroup 1587 Apr 1 12:55 vdso.lds.S -rw------- 1 ndesaulniers primarygroup 3576 Apr 15 09:48 vdso.so -rw------- 1 ndesaulniers primarygroup 24380 Apr 15 09:48 vdso.so.dbg -rwxr-x--- 1 ndesaulniers primarygroup 24380 Apr 15 09:48 vdso.so.raw -rw-r----- 1 ndesaulniers primarygroup 828 Apr 1 12:55 vgettimeofday.c -rw-r----- 1 ndesaulniers primarygroup 29084 Apr 15 09:48 vgettimeofday.o FWIW, clang-10 was missing support for R_AARCH64_PREL32, which affects building arch/arm64/kvm/hyp/nvhe/hyp-reloc.S. > > Otherwise: > > Reviewed-by: Vincenzo Frascino > > > --- > > Changes V1 -> V2: > > * Remove --prefix, --gcc-toolchain, COMPAT_GCC_TOOLCHAIN, and > > COMPAT_GCC_TOOLCHAIN_DIR as per Nathan. > > * Credit Nathan with Suggested-by tag. > > * Remove -Qunused-arguments. > > * Update commit message. > > > > arch/arm64/kernel/vdso32/Makefile | 8 -------- > > 1 file changed, 8 deletions(-) > > > > diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile > > index 789ad420f16b..3dba0c4f8f42 100644 > > --- a/arch/arm64/kernel/vdso32/Makefile > > +++ b/arch/arm64/kernel/vdso32/Makefile > > @@ -10,15 +10,7 @@ include $(srctree)/lib/vdso/Makefile > > > > # Same as cc-*option, but using CC_COMPAT instead of CC > > ifeq ($(CONFIG_CC_IS_CLANG), y) > > -COMPAT_GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE_COMPAT)elfedit)) > > -COMPAT_GCC_TOOLCHAIN := $(realpath $(COMPAT_GCC_TOOLCHAIN_DIR)/..) > > - > > CC_COMPAT_CLANG_FLAGS := --target=$(notdir $(CROSS_COMPILE_COMPAT:%-=%)) > > -CC_COMPAT_CLANG_FLAGS += --prefix=$(COMPAT_GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE_COMPAT)) > > -CC_COMPAT_CLANG_FLAGS += -no-integrated-as -Qunused-arguments > > -ifneq ($(COMPAT_GCC_TOOLCHAIN),) > > -CC_COMPAT_CLANG_FLAGS += --gcc-toolchain=$(COMPAT_GCC_TOOLCHAIN) > > -endif > > > > CC_COMPAT ?= $(CC) > > CC_COMPAT += $(CC_COMPAT_CLANG_FLAGS) > > > > -- > Regards, > Vincenzo -- Thanks, ~Nick Desaulniers