|
Message-ID: <20150106175005.GL4574@brightrain.aerifal.cx> Date: Tue, 6 Jan 2015 12:50:05 -0500 From: Rich Felker <dalias@...c.org> To: musl@...ts.openwall.com Subject: Re: musl-llvm-clang-libc++ On Tue, Jan 06, 2015 at 05:43:13PM +0100, Szabolcs Nagy wrote: > * Tomasz Sterna <tomek@...oka.com> [2015-01-06 15:31:43 +0100]: > > You might be interested to know, that I managed to build a > > musl + LLVM (clang, libc++) based, self hosted system. > > > > The hardest part was to scrub libgcc and libstdc++ dependencies. > > Using instructions from Wiki[1] and hints from this list[2] and LLVM > > bugtracker[3] I finally managed to get a self-hosting system able to > > rebuild itself clean without any GCC help. > > nice > > > It requires a bit arm-twisting to LLVM compiler and libs, but it looks > > like it works just fine. The musl/libc++/clang++ env is able to build > > working libc++ and clang++, which I consider GoodEnough(TM) test case. > > i ran http://repo.or.cz/w/libc-test.git on it and it turned up > some float bugs: > > - musl's FLT_ROUND is wrong: it should reflect the current rounding mode > (i found this because clang float.h was used when comiling the tests > instead of musl's which may or may not be a problem) This behavior is copied from GCC. We'll need to define a new ABI for the header to provide a runtime-variable value I think. The definition should probably be removed from bits files _except_ on archs without fenv; then, the top-level float.h can define it to use the new runtime-variable value unless it's already defined as a constant by the bits file. > - clang does not support c99 fenv and -frounding-math flag so fenv tests > are broken, but i didnt see incorrect results because of this GCC is pretty similar here. It doesn't properly support them (even though it sort of claims to) but things "mostly work" unless you get unlucky... > - long double is broken for some reason: strtod, and most long double > math functions give bad results in some cases, needs more investigation.. That's really ugly/bad... :( Hopefully we can find the cause and get it fixed soon. Unless this is just a build failure, future documentation versions (arg, docs are way out of date!) will probably need to mention that non-latest clang doesn't work for x86[_64] due to major floating point bugs. Rich
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.