Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAMKF1soOHZXd3rXuFjHTuF1MRBnA07iAAPj6iRzFQ+kY1qBXkg@mail.gmail.com>
Date: Wed, 15 Jun 2016 07:54:42 -0700
From: Khem Raj <raj.khem@...il.com>
To: Bobby Bingham <koorogi@...rogi.info>
Cc: musl@...ts.openwall.com, Luca Barbato <lu_zero@...too.org>
Subject: Re: Dynamic linker name

On Wed, Jun 15, 2016 at 6:00 AM, Bobby Bingham <koorogi@...rogi.info> wrote:
> 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.

Thats right. I have fixed it in clang here
https://github.com/kraj/clang/commit/3c3627dbd4358c8e97c95a614e63803cc9048fa6

>
> 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.