|
|
Message-ID: <20140410131122.GR3034@port70.net>
Date: Thu, 10 Apr 2014 15:11:23 +0200
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Subject: Re: Preparing for releases 1.1.0 and 1.0.1
* Rich Felker <dalias@...ifal.cx> [2014-04-09 22:40:45 -0400]:
> The commits which I plan to cherry-pick into the 1.0.1 release are:
>
> 30c1205acd73c8481ca34f0a41de1d41884d07b5
> 0a8d98285f46f721dabf38485df916c02d6a4675
> 91d5aa06572d2660122f9a06ed242fef0383f292
> 109048e031f39fbb370211fde44ababf6c04c8fb
> 89740868c9f1c84b8ee528468d12df1fa72cd392
> e94d0692864ecf9522fd6a97610a47a2f718d3de
> 6fbdeff0e51f6afc38fbb1476a4db81322779da4
looks ok
> - Testing x32 and/or sh ports to determine if they're of sufficient
> quality to promote up from "experimental" to the list of officially
> supported archs.
>
> - Informing me of any pending patches or trivial fix requests I might
> have misplaced that could be committed before release.
i have some uncommitted local modifications/todo items
none of them are critical
* 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;
* math alias issues on non-x86 archs (about +80bytes)
(either this or __may_alias__)
diff --git a/src/math/modfl.c b/src/math/modfl.c
index f736bba..4b03a4b 100644
--- a/src/math/modfl.c
+++ b/src/math/modfl.c
@@ -3,7 +3,12 @@
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long double modfl(long double x, long double *iptr)
{
- return modf(x, (double *)iptr);
+ double d;
+ long double r;
+
+ r = modf(x, &d);
+ *iptr = d;
+ return r;
}
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#if LDBL_MANT_DIG == 64
diff --git a/src/math/sincosl.c b/src/math/sincosl.c
index 2c60080..d3ac1c4 100644
--- a/src/math/sincosl.c
+++ b/src/math/sincosl.c
@@ -4,7 +4,10 @@
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
void sincosl(long double x, long double *sin, long double *cos)
{
- sincos(x, (double *)sin, (double *)cos);
+ double sind, cosd;
+ sincos(x, &sind, &cosd);
+ *sin = sind;
+ *cos = cosd;
}
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
void sincosl(long double x, long double *sin, long double *cos)
* use 1/eps for rounding check (with *4 it's nicer, ymmv)
diff --git a/src/stdio/vfprintf.c b/src/stdio/vfprintf.c
index f6e7f38..6e50965 100644
--- a/src/stdio/vfprintf.c
+++ b/src/stdio/vfprintf.c
@@ -343,12 +343,12 @@ static int fmt_fp(FILE *f, long double y, int w, int p, int fl, int t)
x = *d % i;
/* Are there any significant digits past j? */
if (x || d+1!=z) {
- long double round = CONCAT(0x1p,LDBL_MANT_DIG);
+ long double round = 4/LDBL_EPSILON;
long double small;
- if (*d/i & 1) round += 2;
- if (x<i/2) small=0x0.8p0;
- else if (x==i/2 && d+1==z) small=0x1.0p0;
- else small=0x1.8p0;
+ if (*d/i & 1) round += 4;
+ if (x<i/2) small=1;
+ else if (x==i/2 && d+1==z) small=2;
+ else small=3;
if (pl && *prefix=='-') round*=-1, small*=-1;
*d -= x;
/* Decide whether to round by probing round+small */
* only use nanosec for entropy
diff --git a/src/temp/__randname.c b/src/temp/__randname.c
index 464b83d..b01bed5 100644
--- a/src/temp/__randname.c
+++ b/src/temp/__randname.c
@@ -12,7 +12,7 @@ char *__randname(char *template)
unsigned long r;
__clock_gettime(CLOCK_REALTIME, &ts);
- r = ts.tv_nsec*65537 ^ (uintptr_t)&ts / 16 + (uintptr_t)template;
+ r = ts.tv_nsec;
for (i=0; i<6; i++, r>>=5)
template[i] = 'A'+(r&15)+(r&16)*2;
* 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__
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)
* makefile/config changes for out-of-tree build
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.