Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161215105901.GI16379@port70.net>
Date: Thu, 15 Dec 2016 11:59:01 +0100
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Subject: Re: musl + PowerPC + GCC 5

* A. Wilcox <AWilcox@...cox-Tech.com> [2016-12-14 22:11:49 -0600]:
> On 14/12/16 04:53, Szabolcs Nagy wrote:
> > * A. Wilcox <awilfox@...lielinux.org> [2016-12-14 04:02:39 -0600]:
> > i think the simplest fix is to config with --disable-decimal-float
> 
> Note "--disable-decimal-float".  I receive the same error.
> 

yeah, libgcc insists on using decimal float if the
compiler you build it with supports it.. (which is xgcc
when you cross compile so things work, but if you build
natively the config flags don't affect the outcome).
try to configure with

libgcc_cv_dfp=no

> > the second simplest fix is to patch the ifdef logic (e.g. define
> > BFP_FMT "%Le") but then the conversion code would be broken at
> > runtime: the code is compiled with -mlong-double-128 and musl
> > expects 64 bit long double. (most likely the bootstrap process
> > does not depend on this to work so this is a workaround hack
> > that only breaks 128bit float to decimal conversion.)
> 
> That sounds unacceptable for production code.  I do not understand the
> inner workings of floating point though.
> 

note that without -mlong-double-128 the broken functions
are never generated, and since musl does not support 128bit
long double, with -mlong-double-128 broken decimal conversion
will be the least of your problems.

> > the correct way on musl is to build libgcc without -mlong-double-128
> > and without all the 128bit (TF mode) float stuff, but this may need
> > some configure and build system changes as i don't immediately see
> > an option to turn tf mode things off.
> 
> I cannot seem to disable -mlong-double-128 no matter what I patch. :(
> 

there is this:
http://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/gcc/gcc-6.2/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
but it needs more work. (the makefile should be modified too)

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.