From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 06B90307AD5 for ; Sat, 3 Jan 2026 10:39:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767436758; cv=none; b=FHsKrkwThFlRaZSa9JccCXJTiZgf1GSkKQvQ/VH7LLVXeYyIzyXTcfz9B6zwBB3KKR3l4lwIo6/GkSYdL6rhqa7ie3nYBk4BBLRJMw9sQlOCOVCmSk1833R1T65OS/XXQjLqCy+49ua7X96Zf9tV3xGp8rm1dHdO3FKSNya0qw4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767436758; c=relaxed/simple; bh=6eyfh3jMX1J1eZ7cZHsALtCQzKd/TkTN6PNL8Hj5FaU=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=ixV1RTCQwmqZDDvfwmJV6j3VOI+kM+JYA4HEXOmlmAlyOUsYV73weyS72xR/hDCCpdq/Hl8yyT8UGHVXFxpzwO8DcWNy+Bc01443HxuvZWSP6R9O9JX5aiazG8ZUOSRZxmO/Q1nvseR8HyfIHHU/PM/Evh+C5SSLgTMUDYIo1UQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Z1jg//JS; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Z1jg//JS" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7B1FBC113D0; Sat, 3 Jan 2026 10:39:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1767436757; bh=6eyfh3jMX1J1eZ7cZHsALtCQzKd/TkTN6PNL8Hj5FaU=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=Z1jg//JS4ytc62BBpngrMbSU5yGEKn1srAHRgCUkCO9fj65ls944bDewGE6zLeu4P vMci6Bsfe/NN6E34wTKgOEl8rDzMIJmU3tM7OJwmYRlMyvf4CDc/ER122LZRipU2Vz RF2e8N6FPyB7SsHdCwuyHLIwOAfiVnrz4x28jAzC1tE2SQQYsGBMv3fMPDrsjveAnJ Fa3zL7nlvEe1J37mftVhLG5204nGmJT6UiwOeZajvO2XCErEHsigcl3XQpMgCXgWy7 aywOE/mrgaLfqaGnBdoGrEP4ctDyywE/NpIRHCXQfVTFZ8sScz2e2QMSVgx42nRT21 pWZGjdvpZ9ZKg== Message-ID: Date: Sat, 3 Jan 2026 11:39:12 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] powerpc: Implement ARCH_HAS_CC_CAN_LINK To: =?UTF-8?Q?Thomas_Wei=C3=9Fschuh?= , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org References: <20251230-cc-can-link-powerpc-v1-1-82298df6e3bf@linutronix.de> Content-Language: fr-FR From: "Christophe Leroy (CS GROUP)" In-Reply-To: <20251230-cc-can-link-powerpc-v1-1-82298df6e3bf@linutronix.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Le 30/12/2025 à 08:06, Thomas Weißschuh a écrit : > The generic CC_CAN_LINK detection does not handle different byte orders. > This may lead to userprogs which are not actually runnable on the target > kernel. Isn't the kernel supposed to handle any userland endianess ? Macro SET_ENDIAN() is there for that as far as I understand. And if you want to be complete, I think you should also check whether the ELF ABI is v1 or v2. Christophe > > Use architecture-specific logic supporting byte orders instead. > > Signed-off-by: Thomas Weißschuh > --- > arch/powerpc/Kconfig | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index 9537a61ebae0..6bb2f90e97ea 100644 > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -127,6 +127,7 @@ config PPC > select ARCH_DMA_DEFAULT_COHERENT if !NOT_COHERENT_CACHE > select ARCH_ENABLE_MEMORY_HOTPLUG > select ARCH_ENABLE_MEMORY_HOTREMOVE > + select ARCH_HAS_CC_CAN_LINK > select ARCH_HAS_COPY_MC if PPC64 > select ARCH_HAS_CURRENT_STACK_POINTER > select ARCH_HAS_DEBUG_VIRTUAL > @@ -1342,6 +1343,20 @@ endif > config PPC_LIB_RHEAP > bool > > +config ARCH_CC_CAN_LINK > + bool > + default $(cc_can_link_user,$(m64-flag) -mlittle-endian) if 64BIT && CPU_LITTLE_ENDIAN > + default $(cc_can_link_user,$(m64-flag) -mbig-endian) if 64BIT && CPU_BIG_ENDIAN > + default $(cc_can_link_user,$(m32-flag) -mlittle-endian) if CPU_LITTLE_ENDIAN > + default $(cc_can_link_user,$(m32-flag) -mbig-endian) if CPU_BIG_ENDIAN > + > +config ARCH_USERFLAGS > + string > + default "$(m64-flag) -mlittle-endian" if 64BIT && CPU_LITTLE_ENDIAN > + default "$(m64-flag) -mbig-endian" if 64BIT && CPU_BIG_ENDIAN > + default "$(m32-flag) -mlittle-endian" if CPU_LITTLE_ENDIAN > + default "$(m32-flag) -mbig-endian" if CPU_BIG_ENDIAN > + > source "arch/powerpc/kvm/Kconfig" > > source "kernel/livepatch/Kconfig" > > --- > base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8 > change-id: 20251222-cc-can-link-powerpc-5ddd2469fd5b > > Best regards,