From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/11623 Path: news.gmane.org!.POSTED!not-for-mail From: David Edelsohn Newsgroups: gmane.linux.lib.musl.general Subject: Re: [PATCH] powerpc64le: Add single instruction math functions Date: Thu, 29 Jun 2017 09:49:34 -0400 Message-ID: References: <20170623193533.GO1627@brightrain.aerifal.cx> <594DB66E.7030009@adelielinux.org> <594DDEC6.8030200@adelielinux.org> <594EFC63.3000707@adelielinux.org> <20170625001024.GA1627@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1498744190 25383 195.159.176.226 (29 Jun 2017 13:49:50 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 29 Jun 2017 13:49:50 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-11636-gllmg-musl=m.gmane.org@lists.openwall.com Thu Jun 29 15:49:46 2017 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1dQZpI-0006Jn-Od for gllmg-musl@m.gmane.org; Thu, 29 Jun 2017 15:49:44 +0200 Original-Received: (qmail 16030 invoked by uid 550); 29 Jun 2017 13:49:48 -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 16009 invoked from network); 29 Jun 2017 13:49:47 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-transfer-encoding; bh=wHAp+CUN1bZmbJpxIy3a9mpg7iGTRPungDiQ8oYp7vY=; b=H5ZG3BIPnv8stVyAwYUfcPsJPPHn/7V79f7i4V+EjHafhxPBGN+9JQK+4tIzFKT39l XQFAYryUvL+EkiCqMiN37oYb+4YHtejcY/4Au+Moh4WusK232HrEf7IN6JMZ7oRa6xyS V4KlDnLEZ5RvgLO6vU3ILHQsIxusAZnZtEUZZeSYEUBDcafV0OawXeLpRw6vRlocqGey hn6NhpUtpE8x/la7tMC6UOnX1ED4lN7G11yKi3L0JMf0JYthHHRQUthXYiWXwnJDgqPL 1jyEN3fvv61a7mEw388cMWIsP4Efc4+XhgcLa9OuB95Op9Vpr0QUkWwVAtTCxHZvaFS5 5vxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-transfer-encoding; bh=wHAp+CUN1bZmbJpxIy3a9mpg7iGTRPungDiQ8oYp7vY=; b=BXKuGTrcMmxCUurek/rLsMRJWz15cjUbA5/q3RayDS4lmCsMGIvwOs7Wk2TQua7arK gLXBusj8wx25W4Wj89RAzRSeAgz1avSP9vtYlCS27VyEnXFARIGgBJe5b8ZM8KbEjCcy uMOBmw9HOtYV6/4ihua7uo5y5VK9aEZvtp547VBFskrrypmAVPJg126UJ/D3FHvolCDh K5sN1qLScld4CBhLjh95D88eF7XJZEt+6YGZquBFGthdqgcyr74/rebzAckNeo9V30X6 X7X2ILvWYh36osXeb/t1cOsC2uempul428E+45csAItE4Vy1qgnZDTEva7LheA+vB4Yb CQHw== X-Gm-Message-State: AKS2vOzXunSOufOvRqt8QfxUjyJML1yfFpyv8o1NI0u3xCRqPmeXvX3Q 8IiowD8Fat5w5MRINiJdx6xMxkc/oA== X-Received: by 10.55.98.17 with SMTP id w17mr18174445qkb.106.1498744175213; Thu, 29 Jun 2017 06:49:35 -0700 (PDT) In-Reply-To: <20170625001024.GA1627@brightrain.aerifal.cx> Xref: news.gmane.org gmane.linux.lib.musl.general:11623 Archived-At: On Sat, Jun 24, 2017 at 8:10 PM, Rich Felker wrote: > On Sat, Jun 24, 2017 at 06:57:23PM -0500, A. Wilcox wrote: >> Except Ad=C3=A9lie, Sabotage, and anyone who is creating their own >> environment without using a distribution. Or are you saying that GCC >> assumes LE with ELFv2? >> >> That is the primary reason I haven't shipped any PPC64 image yet. In >> addition to the usual badness of porting an entire distro worth of >> packages to a platform nobody has really used yet (had a similar time >> with musl on MIPS64 and 32-bit PowerPC), I'm a bit uneasy on the >> toolchain itself being able to understand what Rich has said. Since >> ELFv2 says that Power8 is the minimum ISA, gcc can do whatever it >> wants, and I'm not sure if -mcpu=3Dpower6 (specific lower ISA) or >> - -mcpu=3Dpowerpc64 (generic) will affect its code output when it sees >> - -mabi=3Delfv2. So I'm going to need to put any PPC64 image through a >> much more rigorous test than I did any other platform. > > I don't see any reason GCC would introduce a problem here. It should > always honor -march, and the default -march for the > powerpc64-linux-musl (elfv2 of course) toolchain I just built seems to > be POWER4 according to the predefined macros. > >> > I added the macro tests for portability and completeness. >> > >> > The only ports of Musl that will function on existing, supported, >> > big-endian PowerPC systems are the 32 bit "powerpc" port and an >> > unimplemented PPC64 BE ELFv1 port. >> >> >> Except Rich specifically said that he did not want an ELFv1 port for >> 64-bit PowerPC when I asked him, so I don't think that's going to happen > > To clarify, my view is that it does not make sense to add a new port > that differs only in ABI, unless it's an ABI variant that's actually > necessary for reasonable support of some actual hardware (like > softfloat, fdpic for nommu, etc.). That is not the case here. A colleague of mine reminded me that ELFv2 ABI specifies POWER8 as the minimum hardware (not little-endian). The implementation of ELFv2 can operate on earlier hardware, but binaries may not be forward compatible because of VSX. Because of the calling convention of VSX registers in ELFv2, the stack may be corrupted if an application built without VSX support is linked with a library that does support VSX. One cannot mix and match musl libc built for POWER4 or PPC970 and musl libc built for POWER7. Thanks, David