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 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.