Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 15 Jun 2016 08:00:13 -0500
From: Bobby Bingham <koorogi@...rogi.info>
To: musl@...ts.openwall.com
Cc: Luca Barbato <lu_zero@...too.org>, Khem Raj <raj.khem@...il.com>
Subject: Re: Dynamic linker name

On Wed, Jun 15, 2016 at 05:39:51PM +0800, Lei Zhang wrote:
> 2016-06-15 17:31 GMT+08:00 Luca Barbato <lu_zero@...too.org>:
> > On 15/06/16 10:16, Lei Zhang wrote:
> >> i386
> >> x86_64
> >> powerpc
> >> powerpc64
> >> mips
> >> mipsel
> >> mips64
> >> mips64el
> >>
> >> which should just work out the box with my previous patch. I'll take
> >> care of x32 and ARM (subarchs and ABIs) with further patches.
> >
> > Powerpc can be little endian as well but it can wait the arm patch as well.
> 
> I've only seen powerpc64le; don't know if 32-bit powerpc doesn't
> support little endian.

There are a couple things you should know about musl's support for
powerpc64 which mean you probably shouldn't add it.

Two different ABIs exist for powerpc64.  The new one is sometimes called
powerpc64le.  While it's typically used on little endian, there's no
reason it can't be used on big endian systems as well.  Musl only
supports the new ABI, but supports it for both big and little endian.
The arch names used by musl for them are:

powerpc64
powerpc64le

Some software out there assumes that big endian powerpc means the old ABI.
I'm not sure if clang supports big endian powerpc64 with the new ABI or
not, but it needs to if it's to target big endian powerpc64 musl.

The larger problem for both endians is long double support.  The new ABI
calls for a 128-bit long double, either IEEE quad, or IBM double-double.
Musl will not support double-double due to the different floating point
semantics it provides, and gcc's support for IEEE quad is not fully usable
on powerpc64 yet.  Therefore, musl currently uses a 64-bit long double on
powerpc64.

Last I checked, clang only supported using IBM double-double for long
double on powerpc64.  If this is still true, then clang cannot match
musl's ABI on powerpc64.

Bobby

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.