Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 10 Apr 2014 21:39:11 -0400
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Re: Preparing for releases 1.1.0 and 1.0.1

On Thu, Apr 10, 2014 at 03:11:23PM +0200, Szabolcs Nagy wrote:
> * x32 timex is broken (should use long long on x32)
> 
> diff --git a/include/sys/timex.h b/include/sys/timex.h
> index 2e68888..e404e8b 100644
> --- a/include/sys/timex.h
> +++ b/include/sys/timex.h
> @@ -17,6 +17,9 @@ struct ntptimeval {
>  };
>  
>  struct timex {
> +// TODO: x32
> +// 7fb30128527a4220f181c2867edd9ac178175a87 2013-12-27
> +// x32 adjtimex system call is the same as x86-64 adjtimex system call,
>  	unsigned modes;
>  	long offset, freq, maxerror, esterror;
>  	int status;

Uhg, so do we need to move this to bits or do some ugly hack? Or
rewrite it in the syscall wrapper code like for timespec?

> * math alias issues on non-x86 archs (about +80bytes)
> (either this or __may_alias__)

I prefer the +80 bytes; the other may_alias uses are optional and have
a portable fallback.

> * use 1/eps for rounding check (with *4 it's nicer, ymmv)

Could you explain why? I would prefer a change that doesn't require so
many lines changed since they're all places errors could hide. Just
getting rid of the CONCAT hack seems preferable to me, but I don't
mind hearing the reason you like the *4.

> * only use nanosec for entropy

I just worry on some archs with bad timer, this could prevent getting
sufficiently many temp names (of course the problem already existed).
Is there more non-valuable entropy we could merge into it? One idea
was the bytes of struct stat from stat() on /proc/self (this is like
using pid, but better). But perhaps there's more we could do with just
time.

> * broken legacy header..
> 
> diff --git a/include/sys/procfs.h b/include/sys/procfs.h
> index f7936c4..a1fcabf 100644
> --- a/include/sys/procfs.h
> +++ b/include/sys/procfs.h
> @@ -40,7 +40,7 @@ struct elf_prpsinfo
>  	char pr_zomb;
>  	char pr_nice;
>  	unsigned long int pr_flag;
> -#if UINTPTR_MAX == 0xffffffff
> +#if UINTPTR_MAX == 0xffffffff && !defined __powerpc__

I'm ok with this hack I think.

>  	unsigned short int pr_uid;
>  	unsigned short int pr_gid;
>  #else
> 
> * linux 3.14 stuff
> (sched_setattr/sched_getattr syscall numbers, new sockopt flag, new arphdr type)

This should probably be held until a later release. We need to
consider ABI issues. I believe we have sufficient room to put a union
(rather than the kernel's silly non-union approach) over top of our
schedparam struct and fit all the values needed without ABI breakage,
but this requires some code to convert to/from the kernel format.

> * makefile/config changes for out-of-tree build

Last I checked you were still finding breakage in it. When I get done
with the release and other higher-priority things I'm trying to get
done, maybe I should look at it and give it a proper review. Sorry I
haven't gotten around to that yet.

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.