Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 26 Aug 2014 13:09:25 +0200
From: Jens Gustedt <jens.gustedt@...ia.fr>
To: musl@...ts.openwall.com
Subject: Re: Multi-threaded performance progress

Hello,

Am Dienstag, den 26.08.2014, 12:44 +0200 schrieb Szabolcs Nagy:
> * Jens Gustedt <jens.gustedt@...ia.fr> [2014-08-26 09:04:14 +0200]:
> >  - one or two simple functions, such as the timespec_get that I posted
> >  - if we don't have C11 threads the feature test macro __STDC NO_THREAD__
> >  - perhaps some other feature test macros for unsupported features
> 
> further missing c11 things:
> 
> time.h needs TIME_UTC for timespec_get base parameter

I had that in my patch for timespec_get, too. This would perhaps need
some short discussion for the policy to apply.

It would be nice to propose all the POSIX clocks that musl implements
as extensions. That is explicitly allowed by C. Unfortunately the
constraint from C11 is that the TIME_XXX values can't be 0, so the
current CLOCK_XXX values don't work and we'd have to translate.

I had chosen the easy way, any TIME value is interpreted as
CLOCK_REALTIME, and that value is just echoed as return value of the
function.

> stdalign.h should only define alignas and alignof ifndef c++
> assert.h needs static_assert ifndef c++
> float.h needs *_DECIMAL_DIG and *_HAS_SUBNORM (i have a patch for this)
> uchar.h

ah, yes, this is probably still a bit of work to do

> stdatomic.h (or __STDC_NO_ATOMICS__)

Not necessarily, this is primarily a compiler feature and not a
library feature. With gcc 4.9 this works. (Well, with some hickups,
because they use POSIX lock features under the hood in libatomic,
instead of implementing them properly with atomic_flag.)

gcc version before that don't have sufficient C11 support, anyhow. In
particular I think that _Generic is only implemented from 4.9 onward.

On a longer term, we could think of replacing libatomic calls, too,
but this isn't urgent at all.

> (thread_local, alignas, alignof, static_assert, noreturn are keywords
> in c++, stdnoreturn.h is not specified by c++14 so that probably does
> not need the ifndef but the others do)

right

Jens


-- 
:: INRIA Nancy Grand Est ::: AlGorille ::: ICube/ICPS :::
:: ::::::::::::::: office Strasbourg : +33 368854536   ::
:: :::::::::::::::::::::: gsm France : +33 651400183   ::
:: ::::::::::::::: gsm international : +49 15737185122 ::
:: http://icube-icps.unistra.fr/index.php/Jens_Gustedt ::



Download attachment "signature.asc" of type "application/pgp-signature" (199 bytes)

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.