From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id 3A9803840C07; Mon, 1 Jun 2020 23:45:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3A9803840C07 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=joseph_myers@mentor.com IronPort-SDR: ize41U3iWkYgVdOzKscIBRjOHIISVJPjQf/QiIRwvJbDKoillb7/jEjVdUl+eEl6E467BzDPux YHRCeKu+hmPFQx4zPYbTTsd30wEBoc2j7CHPneNLIMsKcDPrHSOcYEKQIkcog5PdFoHXq9MPhG H6NrT39D+Nm+uV3tnm1cMtjZY/j6Ka/twp2NOyxB/NeI2v0lD2JRhMCpoDNj/Ombt57Rp0How3 RxASWgVlGpAhJs+Fulbs3ikL8hqyyudFSGtMpGXV2ylfDLflwM3JNNpld36RHYB2eeAjkT8Z0S /7s= X-IronPort-AV: E=Sophos;i="5.73,462,1583222400"; d="scan'208";a="51456613" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa1.mentor.iphmx.com with ESMTP; 01 Jun 2020 15:45:57 -0800 IronPort-SDR: U8xvQsw8q+AP8rcpT0UOMFPVnnVThZmAAGPNM9seGF+20dWTAXtdNtV+qe56cTrvi5KX9anyNh Q8JAj0iS6c1YwAc3gBAjoUn9HMBUnfCSaFXboSBY7iFxlzCnYgqVJXdcpGD+69fSO4hPfdV2pZ rNaxYgx8GHVeFYXFLd6JGlGwdVwFWCgQcGi0KbjhFR4wdXwB16VJTa1PauQgmC8thsTNF1Cdxa 4h/ZsDWbg6CkbUb7PDlR+u7SggN39bXnRA3gNzrL5TEFBcn/C4MI53J0ulGzGcM/AXqngIcvgf FJc= Date: Mon, 1 Jun 2020 23:45:51 +0000 From: Joseph Myers X-X-Sender: jsm28@digraph.polyomino.org.uk To: Daniel Kolesa CC: Will Springer , , , , Palmer Dabbelt via binutils , via libc-dev , Subject: Re: ppc64le and 32-bit LE userland compatibility In-Reply-To: Message-ID: References: <2047231.C4sosBPzcN@sheen> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-08.mgc.mentorg.com (139.181.222.8) To svr-ies-mbx-02.mgc.mentorg.com (139.181.222.2) X-Spam-Status: No, score=-3131.3 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Jun 2020 23:46:01 -0000 On Tue, 2 Jun 2020, Daniel Kolesa wrote: > Are you sure this would be a new port? Glibc already works in this > combination, as it seems to me it'd be best if it was just a variant of > the existing 32-bit PowerPC port, sharing most conventions besides > endianness with the BE port. The supported glibc ABIs are listed at . This would be a new ABI, which should have a new ABI-and-architecture-specific dynamic linker name (all new ports are expected to have a unique dynamic linker name for each ABI, to support systems using multiarch directory arrangements), new symbol versions and avoid legacy features such as 32-bit time or offsets or IBM long double. > 128-bit IEEE long double would not work, since that relies on VSX being > present (gcc will explicitly complain if it's not). I'd be all for using The minimum supported architecture for powerpc64le (POWER8) has VSX. My understanding was that the suggestion was for 32-bit userspace to run under powerpc64le kernels running on POWER8 or later, meaning that such a 32-bit LE port, and any ABI designed for such a port, can assume VSX is available. Or does VSX not work, at the hardware level, for 32-bit POWER8? (In which case you could pick another ABI for binary128 argument passing and return.) > There is also one more thing while we're at this. The 64-bit big endian > Void port uses the ELFv2 ABI, even on glibc. This is not officially > supported on glibc as far as I can tell, but it does work out of box, > without any patching (things in general match little endian then, i.e. > ld64.so.2 etc, but they're big endian). Is there any chance of making > that support official? If you want to support ELFv2 for 64-bit big endian in glibc, again that should have a unique dynamic linker name, new symbol versions, only binary128 long double, etc. - avoid all the legacy aspects of the existing ELFv1 port rather than selectively saying that "ELFv1" itself is the only legacy aspect and keeping the others (when it's the others that are actually more problematic in glibc). -- Joseph S. Myers joseph@codesourcery.com