From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/7436 Path: news.gmane.org!not-for-mail From: Justin Cormack Newsgroups: gmane.linux.lib.musl.general Subject: ppc64 ABI Date: Sun, 19 Apr 2015 12:44:15 +0100 Message-ID: Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1429443883 8491 80.91.229.3 (19 Apr 2015 11:44:43 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 19 Apr 2015 11:44:43 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-7449-gllmg-musl=m.gmane.org@lists.openwall.com Sun Apr 19 13:44:36 2015 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 1YjneN-0005G5-6s for gllmg-musl@m.gmane.org; Sun, 19 Apr 2015 13:44:35 +0200 Original-Received: (qmail 27815 invoked by uid 550); 19 Apr 2015 11:44:32 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 27753 invoked from network); 19 Apr 2015 11:44:27 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=specialbusservice.com; s=google; h=mime-version:date:message-id:subject:from:to:content-type; bh=WCKJ0WKuwaC+VjnAqTiNoVpgWJwZyuvZwLxNsYhFKzI=; b=aE/IMrGedLFaQ3bCufEkSZ1VJxVaHIW+lVodimJdWtQDrVzHda1JX242yH3fH53rgi XZtt4NYxov4isdnzCapD02JarxMc7CIj6FuPA5sQ6H/k66CHJOrrxirzWBVL/v3xtv4A AGi/BvT6am/x2mBacPZ3BasnLomZtreD6aW+A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=WCKJ0WKuwaC+VjnAqTiNoVpgWJwZyuvZwLxNsYhFKzI=; b=LApvL1njJIAT/Ce09YuNOPzj51OzuafdReZz0iXXuOLeTF2+tgkfGp4/qgQcrP+z+7 bcysjqy1dnxrWTSq1ZIyaOjeygJa6Nzz24oE4W/OYzhEJMUb9zP0dahsmFp2KlSP93pH uTcrhZNTj8M2IGA9j3tX8DiD3AZQXT40pz0t4HxcJZz4kHTgzVC5o4Nu07E7WDApqGtu KJwkrQsx6cLgFvOD+FK+NOstBQyfiKSg6Z/cpAVc65T4cFQ9LS8eU9f1ra5tCpFWf4uC x8zFgFmZ1BAyAi0aOdunrZUkeMKL5nXoCF3j6ZZ918XbSx1CfaZLbdxsrIXRGMFwegCO HUQQ== X-Gm-Message-State: ALoCoQkBypcJcLjKw6/nAxm3IsoFoI7DM84wqJ/yBLPwpQyDIUzwunHFlYclrw/8d4DmyOfYywvX X-Received: by 10.194.59.199 with SMTP id b7mr22137678wjr.26.1429443856008; Sun, 19 Apr 2015 04:44:16 -0700 (PDT) Xref: news.gmane.org gmane.linux.lib.musl.general:7436 Archived-At: I am looking at doing a ppc64 port, and after some discussion on irc last night wondering which ABI to port to. ppc64 has two ABIs: v1: as documented here http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html Slightly odd, as has function descriptors, so you cant just reference a function pointer, mainly makes asm code messier as needs a header for every function. Traditionally bigendian. Fedora and Gentoo do distros, not sure there are any others; FreeBSD support also exists. v2, usually known as powerpc64le, helpfully. It is not little endian exclusively, but there are no existing distros that are big endian. Aim was to make it much closer to a standard ABI, so function pointers are gone. IBM has been pushing this, and there are RedHat and Ubuntu releases, targeting POWER8. (Which also means Ubuntu ships with cross compilers for it). I was thinking of doing a v1 port first then v2, partly as I have little endian only hardware (Apple G5 running Fedora; Fedora has recently dropped support though; ten years old but dual G5 is still decent hardware). However maybe I should just skip to v2; I do have access to hardware. In principal could then produce a bigendian Musl distro for G5... IBM have been spending a fair amount of time making sure software works with v2. Both have 16 byte long double oddness. Thoughts?