From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E6066418A5A for ; Thu, 23 Jul 2026 09:15:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784798156; cv=none; b=QlFpO6nQDDSrWJgRBHlYFd1lLyh8cZwytdAh2/ZfM8/zAgfwR3tL5wufe226zmuXeLu+puM5CfD7CFX5mA1b6G3frU22Zo4u1oMNts7Dr/Pwa3gORu7zXsnXB0xXVs8hvKXi6Wp58PGmn5VGsaeWQXiVAdSzj2RaVA68g6RQB18= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784798156; c=relaxed/simple; bh=mUo0Bw3C+bodsN9UVSLM51ud0jM2f1gq/odQxk5Ypmo=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=D+ZiEYbERoHt5f7f+F8Epi72iWsgcPuIDLAg2H9JlEfdR6DRWeQvUkqPCu5mpbfjfjW8zBuZ7oeSWe+1Q/RQy6647sXjWxnuqIq4GvEKFUjS8l7e9HAdq2YlNzlZ/Lgw4rIpQrdXYNxEYRfQBs3Q0aV+aPVL/BJ5gIFpH1jUgRU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=qtqPWv2T; arc=none smtp.client-ip=209.85.210.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="qtqPWv2T" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-8485ef63b68so384126b3a.1 for ; Thu, 23 Jul 2026 02:15:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784798152; x=1785402952; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :content-type:mime-version:references:message-id:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to:content-type; bh=0fXT6bgGgaK9AKCq3ImfbU0yU7WjLK0dX9VTXz/R7mw=; b=qtqPWv2TCOgx5zJuGIk1KpNfHbbSdXe6h5Uhvz+b69xxYY+0T6Rqu+ubC6XR0y0KAz 6dqgcpVQ3us5dRzhddM4wGNou/qMzU3U583teKf2D7CppFnebURHE6+ZbPuAZaRbiAFJ 3JAjLDCUktqd4V1rbhqGNLhOShkB4PkVGjrFy2e5oqcQosls7RAD/5u7XgC+KdtfMZlF U7JAVxByK/yFtHTP5sKMU8TfRoD0qOCGqCyJD8aAwM7t35D/Zr3rXU3zAksuf9GalmFI Zs66YpI3X3efKlmJGgpI18oYFgfNioZWClFYdxMEUTBg7uXwJS9FEmXSwp4/E8Kgm77V 2USw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784798152; x=1785402952; h=in-reply-to:content-transfer-encoding:content-disposition :content-type:mime-version:references:message-id:subject:cc:to:from :date:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to:content-type; bh=0fXT6bgGgaK9AKCq3ImfbU0yU7WjLK0dX9VTXz/R7mw=; b=FqkiwPl5dEC8eeLYYmwRE7zIEjm6DJ3SGuXnWn/BtRa8uEmXzg+5KHT0pon4JTom/X wQJl+pEoGO2ipY6Jn8JoIbodYbYN2s+D6yDnPHwfCORakwT+8b9SBNDnAO5/J201hGxL 5Tu939B+MHAlfck0+oWW7pn0oy/SdKN/iq6QopZBRhgSfssNLlbbW3QpgGkduhPq6TjT CCCpxJHtmcRiIqmYD5ZSizhFf5zYms35J89ug/50fIHw4lGxCYb74nAymRPnHzfVPHkM 5dHx20YR47eIelLOadbb7VXUb8UlslGZ0nO+rmRGWa/gsq9f65fnafpbB/fqG/qv3mCg O4xA== X-Forwarded-Encrypted: i=1; AHgh+RrkY9IMvokQZ/dDsw1ykhPAkCLnvfFBlIdStrnhC/Ju0NYngo1F76TCdMAUUH4KQpxblY5DksoTABco5xk=@vger.kernel.org X-Gm-Message-State: AOJu0Yyo6QBvKvYCYqP9nZzD15xgp8RVmf+GaXlfCks+tQlS4X73fjZr mNw2zlI55vdtWGJDotgDrllIkRlcATYX9SbQEBRB4AZq5zxIDbLoH/sF X-Gm-Gg: AR+sD12/o/o6vqw9+BEcYmKCu1IyPHdFMrZgFKQ03hXHf49X3MTIy0LhtrGpASo3OuF 9Exxy0E2TDDBrRxSN+vIq1xknJAAhClL4mZaQzWzZNRoFhOZ7sIiIY4+YX+YM/avGhosv0FHYev d+RwZqJ1FuM3FyobW/yhUHdhqewcaZSv9fvsSqOjDOaA/tUoPUmhXXTuiQ8dTTAOvYV32J/nwUc kt0pP5ZPZamWU+3l46Ry0KGo7RPWEITvdwsk6P+lR95FW9aHdNeoO0y4rDVlO06JSBkQ3lPPZc4 HPv+GuXjT6dyTTGi/hAF1EP3DsyTLYzObFI9/IimzQftMRkYB4kOpa8TDpNZ03OCIscZjm0bzTN GZvz97CdCw6RGrlKikv1RE9jC9ahXzdtI3Fe/0fXZyA5JKJQgIETBJLxmYrUGdn46Z3MelaUkqr hHZP8wdXvyWqFHFprWwsG5Sz4Tm58q+u+NmGqEIyhtUBfy X-Received: by 2002:a05:6a00:3c94:b0:845:4126:222b with SMTP id d2e1a72fcca58-84e2b8bf81fmr2868281b3a.28.1784798151685; Thu, 23 Jul 2026 02:15:51 -0700 (PDT) Received: from buffalo-ssd (M014013071096.v4.enabler.ne.jp. [14.13.71.96]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84e17600a72sm2738538b3a.58.2026.07.23.02.15.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jul 2026 02:15:51 -0700 (PDT) Date: Thu, 23 Jul 2026 18:15:47 +0900 From: Akari Tsuyukusa To: Nick Desaulniers Cc: Matthias Brugger , AngeloGioacchino Del Regno , Russell King , Nathan Chancellor , Bill Wendling , Justin Stitt , Yingjoe Chen , "moderated list:ARM SUB-ARCHITECTURES" , "open list:ARM/Mediatek SoC support" , "moderated list:ARM/Mediatek SoC support" , "open list:CLANG/LLVM BUILD SUPPORT:Keyword:b(?i:clang|llvm)b" , stable@vger.kernel.org, Arnd Bergmann , Ard Biesheuvel Subject: Re: [PATCH] arm: mediatek: fix secondary CPU boot on Thumb-2 kernels with Clang Message-ID: References: <20260722172443.534251-1-akkun11.open@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Hi Nick, On Wed, Jul 22, 2026 at 02:03:31PM -0700, Nick Desaulniers wrote: > On Wed, Jul 22, 2026 at 10:25 AM Akari Tsuyukusa wrote: > > > > When building with CONFIG_THUMB2_KERNEL=y and Clang, secondary CPUs > > Specifically, was LLVM=1 or CC=clang or something else used? I used ARCH=arm LLVM=1 config is here: https://github.com/TeamYogaBlade2/linux/blob/d7633f01ec25209fc6cdde012128b19ac336ab18/arch/arm/configs/lenovo-blade_defconfig > > secondary_startup_arm is ARM-mode code (.arm) and, on a Thumb-2 kernel, > > expects to be entered in ARM mode in order to switch to Thumb via the > > standard sequence at that label. Starting in Thumb mode causes the CPU > > to execute ARM instructions as Thumb, resulting in an immediate crash. > > > > Clear bit 0 of the entry address so the CPU always starts in ARM mode. > > Thanks for the patch. Any idea why this isn't an issue for > GCC+GAS+BFD? Perhaps there's a difference in the LLVM tools that we > need to address? > > There's definitely some difference between clang and GAS here. > https://github.com/llvm/llvm-project/issues/211376 > > I wonder if perhaps a better machine-agnostic assembler-agnostic > assembler-version-agnostic patch would be something like: > > ``` > diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S > index f22c50d4bd41..687ee7063a73 100644 > --- a/arch/arm/kernel/head.S > +++ b/arch/arm/kernel/head.S > @@ -383,6 +383,7 @@ ENDPROC(__create_page_tables) > ENTRY(secondary_startup_arm) > THUMB( badr r9, 1f ) @ Kernel is entered in ARM. > THUMB( bx r9 ) @ If this is a Thumb-2 kernel, > +ENDPROC(secondary_startup_arm) > THUMB( .thumb ) @ switch to Thumb now. > THUMB(1: ) > ENTRY(secondary_startup) > @@ -429,7 +430,6 @@ ARM_BE8(eor r4, r4, r5) @ > without using a temp reg. > @ (return control reg) > ret r12 > ENDPROC(secondary_startup) > -ENDPROC(secondary_startup_arm) > > ENTRY(__secondary_switched) > #if defined(CONFIG_VMAP_STACK) && !defined(CONFIG_ARM_LPAE) > > ``` > > Can you perhaps help test/verify that Akari? I tested your suggested patch and confirmed that it fixes the issue. Device: Lenovo YOGA Tablet 10 (Wi-Fi) (MT8125) Toolchain: Clang/LLVM 22.1.8-2 (cachyos-v3) Tested-by: Akari Tsuyukusa Can you send your fix as PATCH? I think your approach is better than mine. Best Regards, Akari