From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/9281 Path: news.gmane.org!not-for-mail From: Szabolcs Nagy Newsgroups: gmane.linux.lib.musl.general Subject: Re: musl libc for PPC64 Date: Mon, 8 Feb 2016 17:17:58 +0100 Message-ID: <20160208161758.GG9915@port70.net> References: Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1454948310 20056 80.91.229.3 (8 Feb 2016 16:18:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 8 Feb 2016 16:18:30 +0000 (UTC) Cc: Rich Felker , Gregor Richards , musl@lists.openwall.com To: David Edelsohn Original-X-From: musl-return-9294-gllmg-musl=m.gmane.org@lists.openwall.com Mon Feb 08 17:18:24 2016 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1aSoW3-0007ss-IH for gllmg-musl@m.gmane.org; Mon, 08 Feb 2016 17:18:19 +0100 Original-Received: (qmail 9910 invoked by uid 550); 8 Feb 2016 16:18:15 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 9863 invoked from network); 8 Feb 2016 16:18:10 -0000 Mail-Followup-To: David Edelsohn , Rich Felker , Gregor Richards , musl@lists.openwall.com Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Xref: news.gmane.org gmane.linux.lib.musl.general:9281 Archived-At: * David Edelsohn [2016-02-08 09:43:08 -0500]: > What work is necessary to enable basic musl libc support for PPC64 > Linux Little Endian? once the abi is clear (is long double ieee128?) the arch specific parts of musl need to be ported for ARCH=powerpc64. arch specific parts of musl are arch/$ARCH crt/$ARCH src/*/$ARCH porting check list: http://www.openwall.com/lists/musl/2012/07/08/1 things that changed since: - crt needs a small bit of inline asm in arch/$ARCH/crt_arch.h (which is used in crt/crt1.c and ldso/dlstart.c to align the stack, set up the argument and jump to the c entry point) - arch/$ARCH/bits/foo.h is only needed if arch/generic/bits/foo.h is not good for the target. (getting the bits headers right is still a bit fiddly work: they have to match linux uapi.) - fewer primitives are enough in arch/$ARCH/atomic_arch.h for an initial port (src/internal/atomic.h can implement most primitives in terms of a_cas or a_ll/a_sc). - arch/$ARCH/pthread_arch.h has MC_PC instead of CANCEL_REG_IP (should be an mcontext member that can access the pc). thinks that didnt change but not on that list: - src/fenv/$ARCH/fenv.s is needed for fenv support - configure script needs to be updated (compiler abi checks go here) testing can be done against http://repo.or.cz/libc-test.git there are not many docs about the internals but the git log is often informative.