use patches from git repository; rediffed against 20080517
This commit is contained in:
parent
c0c3c48d61
commit
1c0742353d
14 changed files with 1396 additions and 1050 deletions
|
|
@ -1,5 +1,17 @@
|
|||
--- dietlibc-0.28-unpatched/lib/__nice.c 2005-02-13 18:01:18.966469056 -0500
|
||||
+++ dietlibc-0.28/lib/__nice.c 2005-02-13 18:17:04.381744088 -0500
|
||||
From ab91f175a8c77f275c9fa917dfe7cbc9b6262e1c Mon Sep 17 00:00:00 2001
|
||||
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
Date: Sat, 19 Apr 2008 17:49:05 +0200
|
||||
Subject: [PATCH] Return new nice value for nice(2)
|
||||
|
||||
Changed nice(2) to return the new nice value instead of 0/-1.
|
||||
---
|
||||
lib/__nice.c | 8 ++++++--
|
||||
1 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/__nice.c b/lib/__nice.c
|
||||
index d751104..8e205c0 100644
|
||||
--- a/lib/__nice.c
|
||||
+++ b/lib/__nice.c
|
||||
@@ -1,9 +1,13 @@
|
||||
#include "syscalls.h"
|
||||
-#include <sys/time.h>
|
||||
|
|
@ -16,3 +28,6 @@
|
|||
+ return getpriority(PRIO_PROCESS,0);
|
||||
}
|
||||
#endif
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,20 @@
|
|||
2005-04-24 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
* libcompat/syscall.S: catch the case when syscall(2) is not
|
||||
implemented for the actual arch instead of jumping to the next
|
||||
function and executing the wrong code
|
||||
From 406e0419735c9e9c00290d437e9f42f88c3ae6d2 Mon Sep 17 00:00:00 2001
|
||||
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
Date: Sat, 19 Apr 2008 17:50:24 +0200
|
||||
Subject: [PATCH] Sanity checks for syscall availability
|
||||
|
||||
--- dietlibc-0.29/libcompat/syscall.S.scall
|
||||
+++ dietlibc-0.29/libcompat/syscall.S
|
||||
@@ -120,6 +120,12 @@
|
||||
nop
|
||||
Catch the case when syscall(2) is not implemented for the actual arch
|
||||
instead of jumping to the next function and executing the wrong code
|
||||
---
|
||||
libcompat/syscall.S | 8 +++++++-
|
||||
1 files changed, 7 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/libcompat/syscall.S b/libcompat/syscall.S
|
||||
index c9f72bb..6b6a8aa 100644
|
||||
--- a/libcompat/syscall.S
|
||||
+++ b/libcompat/syscall.S
|
||||
@@ -130,6 +130,12 @@ syscall:
|
||||
b __unified_syscall
|
||||
|
||||
#else
|
||||
- /* arch not implemented yet */
|
||||
|
|
@ -19,3 +27,6 @@
|
|||
+#endif
|
||||
#endif
|
||||
.size syscall, . - syscall
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,19 @@
|
|||
--- dietlibc-0.30/libm/gamma.c~ 2005-03-15 08:51:23.000000000 +0000
|
||||
+++ dietlibc-0.30/libm/gamma.c 2006-12-28 14:36:58.000000000 +0000
|
||||
@@ -33,19 +33,19 @@ Return value gamma returns a value in
|
||||
From ba4e9f8557b25e4fbb6886e7c54a2ca75ca57368 Mon Sep 17 00:00:00 2001
|
||||
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
Date: Sat, 19 Apr 2008 17:54:03 +0200
|
||||
Subject: [PATCH] Workaround PPC build issues
|
||||
|
||||
Fixes https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=182118 and
|
||||
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27054
|
||||
---
|
||||
libm/gamma.c | 26 +++++++++++++-------------
|
||||
1 files changed, 13 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/libm/gamma.c b/libm/gamma.c
|
||||
index 9682f35..370bec6 100644
|
||||
--- a/libm/gamma.c
|
||||
+++ b/libm/gamma.c
|
||||
@@ -33,19 +33,19 @@ Return value gamma returns a value in range (-0.1208, +oo). For a input
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
|
@ -33,3 +46,6 @@
|
|||
|
||||
static const double coeff[] = { B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10 };
|
||||
int signgam;
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,17 @@
|
|||
diff -up dietlibc-0.31/include/paths.h.~1~ dietlibc-0.31/include/paths.h
|
||||
--- dietlibc-0.31/include/paths.h.defpath
|
||||
+++ dietlibc-0.31/include/paths.h
|
||||
From 66528a176d332bb8de4ddf324754089e59139424 Mon Sep 17 00:00:00 2001
|
||||
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
Date: Sat, 19 Apr 2008 18:00:19 +0200
|
||||
Subject: [PATCH] Security fix for proper $PATH
|
||||
|
||||
Removed '.' from the default $PATH.
|
||||
---
|
||||
include/paths.h | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/include/paths.h b/include/paths.h
|
||||
index 553b4fa..9bf216f 100644
|
||||
--- a/include/paths.h
|
||||
+++ b/include/paths.h
|
||||
@@ -2,7 +2,7 @@
|
||||
#define _PATHS_H
|
||||
|
||||
|
|
@ -10,3 +21,6 @@ diff -up dietlibc-0.31/include/paths.h.~1~ dietlibc-0.31/include/paths.h
|
|||
|
||||
#define _PATH_DEVNULL "/dev/null"
|
||||
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
|
|
|||
|
|
@ -1,19 +1,41 @@
|
|||
diff -up dietlibc-0.31.20080409/lib/signalfd.c.implicitfunc dietlibc-0.31.20080409/lib/signalfd.c
|
||||
--- dietlibc-0.31.20080409/lib/signalfd.c.implicitfunc 2008-02-19 01:28:13.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/lib/signalfd.c 2008-04-13 22:52:10.000000000 +0200
|
||||
@@ -1,6 +1,9 @@
|
||||
#include <signal.h>
|
||||
#include <errno.h>
|
||||
+#include <sys/signalfd.h>
|
||||
From 5c0e868e1a9266d580c95411c3b2f0272dfa14ab Mon Sep 17 00:00:00 2001
|
||||
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
Date: Sat, 19 Apr 2008 17:43:08 +0200
|
||||
Subject: [PATCH] Fixes for -Werror-no-implicit-functions
|
||||
|
||||
Some fixes for issues preventing builds with
|
||||
'-Werror-implicit-function-declaration'.
|
||||
---
|
||||
test/getservbyname.c | 1 +
|
||||
test/stdlib/testsort.c | 2 ++
|
||||
test/stdlib/tst-calloc.c | 2 ++
|
||||
3 files changed, 5 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/test/getservbyname.c b/test/getservbyname.c
|
||||
index b70ca19..caf1c9f 100644
|
||||
--- a/test/getservbyname.c
|
||||
+++ b/test/getservbyname.c
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <stdio.h>
|
||||
#include <netdb.h>
|
||||
+#include <arpa/inet.h>
|
||||
|
||||
+extern int __signalfd(int fd, const sigset_t *mask, size_t flags);
|
||||
int main(int argc,char *argv[]) {
|
||||
struct servent* se;
|
||||
diff --git a/test/stdlib/testsort.c b/test/stdlib/testsort.c
|
||||
index aa4332a..5a92bc0 100644
|
||||
--- a/test/stdlib/testsort.c
|
||||
+++ b/test/stdlib/testsort.c
|
||||
@@ -1,3 +1,5 @@
|
||||
+#define _BSD_SOURCE
|
||||
+
|
||||
int signalfd(int fd,const sigset_t* mask,int flags) {
|
||||
if (flags) { /* bizarre glibc bullshit */
|
||||
errno=EINVAL;
|
||||
diff -up dietlibc-0.31.20080409/test/stdlib/tst-calloc.c.implicitfunc dietlibc-0.31.20080409/test/stdlib/tst-calloc.c
|
||||
--- dietlibc-0.31.20080409/test/stdlib/tst-calloc.c.implicitfunc 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/stdlib/tst-calloc.c 2008-04-13 22:52:10.000000000 +0200
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
diff --git a/test/stdlib/tst-calloc.c b/test/stdlib/tst-calloc.c
|
||||
index a9b9e2a..049117b 100644
|
||||
--- a/test/stdlib/tst-calloc.c
|
||||
+++ b/test/stdlib/tst-calloc.c
|
||||
@@ -17,6 +17,8 @@
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
|
@ -23,22 +45,6 @@ diff -up dietlibc-0.31.20080409/test/stdlib/tst-calloc.c.implicitfunc dietlibc-0
|
|||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <malloc.h>
|
||||
diff -up dietlibc-0.31.20080409/test/stdlib/testsort.c.implicitfunc dietlibc-0.31.20080409/test/stdlib/testsort.c
|
||||
--- dietlibc-0.31.20080409/test/stdlib/testsort.c.implicitfunc 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/stdlib/testsort.c 2008-04-13 22:52:10.000000000 +0200
|
||||
@@ -1,3 +1,5 @@
|
||||
+#define _BSD_SOURCE
|
||||
+
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
diff -up dietlibc-0.31.20080409/test/getservbyname.c.implicitfunc dietlibc-0.31.20080409/test/getservbyname.c
|
||||
--- dietlibc-0.31.20080409/test/getservbyname.c.implicitfunc 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/getservbyname.c 2008-04-13 22:53:38.000000000 +0200
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <stdio.h>
|
||||
#include <netdb.h>
|
||||
+#include <arpa/inet.h>
|
||||
|
||||
int main(int argc,char *argv[]) {
|
||||
struct servent* se;
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,20 @@
|
|||
diff -up dietlibc-0.31.20080409/libugly/strftime.c.lcctime dietlibc-0.31.20080409/libugly/strftime.c
|
||||
--- dietlibc-0.31.20080409/libugly/strftime.c.lcctime 2006-08-15 18:07:15.000000000 +0200
|
||||
+++ dietlibc-0.31.20080409/libugly/strftime.c 2008-04-13 13:20:41.000000000 +0200
|
||||
From aac35698d1b84f6370d37860c9e889c34cd6a21c Mon Sep 17 00:00:00 2001
|
||||
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
Date: Sat, 19 Apr 2008 17:42:20 +0200
|
||||
Subject: [PATCH] Fixes/enhancements in str?time() functions
|
||||
|
||||
This patch changes the used format for %x and %X specifiers in
|
||||
strptime(3) to match these specified by SUSv2. It adds support
|
||||
for '%F' in strftime(3) too.
|
||||
---
|
||||
libugly/strftime.c | 1 +
|
||||
libugly/strptime.c | 5 +++--
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libugly/strftime.c b/libugly/strftime.c
|
||||
index 56ae082..cf16f37 100644
|
||||
--- a/libugly/strftime.c
|
||||
+++ b/libugly/strftime.c
|
||||
@@ -55,6 +55,7 @@ again:
|
||||
case 'x': src = "%b %a %d"; goto _strf;
|
||||
case 'X': src = "%k:%M:%S"; goto _strf;
|
||||
|
|
@ -9,10 +23,11 @@ diff -up dietlibc-0.31.20080409/libugly/strftime.c.lcctime dietlibc-0.31.2008040
|
|||
case 'T': src = "%H:%M:%S";
|
||||
_strf: p += strftime (p, (size_t)(dst+max-p), src, tm); break;
|
||||
case 'a': src = sweekdays [tm->tm_wday]; goto _str;
|
||||
diff -up dietlibc-0.31.20080409/libugly/strptime.c.lcctime dietlibc-0.31.20080409/libugly/strptime.c
|
||||
--- dietlibc-0.31.20080409/libugly/strptime.c.lcctime 2007-08-03 22:58:33.000000000 +0200
|
||||
+++ dietlibc-0.31.20080409/libugly/strptime.c 2008-04-13 13:13:12.000000000 +0200
|
||||
@@ -119,10 +119,11 @@ char* strptime(const char* s,const char*
|
||||
diff --git a/libugly/strptime.c b/libugly/strptime.c
|
||||
index 6ac5340..32dc2a7 100644
|
||||
--- a/libugly/strptime.c
|
||||
+++ b/libugly/strptime.c
|
||||
@@ -119,10 +119,11 @@ char* strptime(const char* s,const char* format, struct tm* tm) {
|
||||
++s;
|
||||
break;
|
||||
case 'x':
|
||||
|
|
@ -26,3 +41,6 @@ diff -up dietlibc-0.31.20080409/libugly/strptime.c.lcctime dietlibc-0.31.2008040
|
|||
break;
|
||||
case 'y':
|
||||
i=getint(&s,2);
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,22 @@
|
|||
diff -up dietlibc-0.31.20080409/include/stdlib.h.noreturn dietlibc-0.31.20080409/include/stdlib.h
|
||||
--- dietlibc-0.31.20080409/include/stdlib.h.noreturn 2008-04-13 22:56:59.000000000 +0200
|
||||
+++ dietlibc-0.31.20080409/include/stdlib.h 2008-04-13 22:57:54.000000000 +0200
|
||||
From e96b03324e5395ff3c0041c249bfed9aa1bdb8b5 Mon Sep 17 00:00:00 2001
|
||||
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
Date: Sat, 19 Apr 2008 17:43:42 +0200
|
||||
Subject: [PATCH] __noreturn__ annotation for abort(3)
|
||||
|
||||
SUSv2 says about abort(3):
|
||||
|
||||
The abort() function shall not return.
|
||||
|
||||
Hence, an '__attribute__((__noreturn__))' should be added to the
|
||||
abort(3) declaration.
|
||||
---
|
||||
include/stdlib.h | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/include/stdlib.h b/include/stdlib.h
|
||||
index 34f3a7f..0cea604 100644
|
||||
--- a/include/stdlib.h
|
||||
+++ b/include/stdlib.h
|
||||
@@ -47,7 +47,7 @@ double atof(const char *nptr) __THROW;
|
||||
__extension__ long long int atoll(const char *nptr);
|
||||
|
||||
|
|
@ -10,3 +26,6 @@ diff -up dietlibc-0.31.20080409/include/stdlib.h.noreturn dietlibc-0.31.20080409
|
|||
|
||||
extern int rand(void) __THROW;
|
||||
extern int rand_r(unsigned int *seed) __THROW;
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,6 +1,58 @@
|
|||
diff -up dietlibc-0.31.20080409/lib/__dtostr.c.printFG dietlibc-0.31.20080409/lib/__dtostr.c
|
||||
--- dietlibc-0.31.20080409/lib/__dtostr.c.printFG 2006-07-04 05:33:02.000000000 +0200
|
||||
+++ dietlibc-0.31.20080409/lib/__dtostr.c 2008-04-14 00:36:10.000000000 +0200
|
||||
From 313a9b41133ca631890de99f979ee01074d0c0be Mon Sep 17 00:00:00 2001
|
||||
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
Date: Sat, 19 Apr 2008 17:39:23 +0200
|
||||
Subject: [PATCH] Fixes/enhancements for INF/NAN handling in printf()
|
||||
|
||||
This patch adds support for uppercase 'F' and 'G' printf format
|
||||
specifiers. It fixes handling of -INF values in __dtostr() too;
|
||||
previously, there was
|
||||
|
||||
| unsigned int i;
|
||||
| if ((i=isinf(d))) return copystring(buf,maxlen,i>0?"inf":"-inf");
|
||||
~~~
|
||||
which evaluated to true everytime. The copystring() function
|
||||
worked for 3-letter words only but not for '-inf'.
|
||||
|
||||
The last argument of __dtostr() was changed from a boolean flag to
|
||||
a bitmask. Bit 0 encodes 'g' or 'f', and bit 1 lower-/uppercase.
|
||||
There should be probably added some macros for them; for now,
|
||||
these values are used directly.
|
||||
|
||||
Please note that this might affect other applications (liblowfat?)
|
||||
too which are using __dtostr().
|
||||
|
||||
'isinf(3)' is a builtin with gcc 4.3 and does not give a hint
|
||||
about the signess of the infinity anymore. Hence, this patch uses
|
||||
a more portable way where needed.
|
||||
---
|
||||
include/stdlib.h | 6 ++++-
|
||||
lib/__dtostr.c | 18 +++++++++++-----
|
||||
lib/__v_printf.c | 59 +++++++++++++++++++++++++++++------------------------
|
||||
test/printf.c | 44 +++++++++++++++++++++++++++++++++++----
|
||||
4 files changed, 88 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/include/stdlib.h b/include/stdlib.h
|
||||
index d1e1569..34f3a7f 100644
|
||||
--- a/include/stdlib.h
|
||||
+++ b/include/stdlib.h
|
||||
@@ -28,8 +28,12 @@ long double strtold(const char *nptr, char **endptr) __THROW;
|
||||
long int strtol(const char *nptr, char **endptr, int base) __THROW;
|
||||
unsigned long int strtoul(const char *nptr, char **endptr, int base) __THROW;
|
||||
|
||||
+/* HACK: used flags in __dtostr
|
||||
+ 0x01 ... 'g'
|
||||
+ 0x02 ... uppercase
|
||||
+ Define some constants somewhere... */
|
||||
extern int __ltostr(char *s, unsigned int size, unsigned long i, unsigned int base, int UpCase) __THROW;
|
||||
-extern int __dtostr(double d,char *buf,unsigned int maxlen,unsigned int prec,unsigned int prec2,int g) __THROW;
|
||||
+extern int __dtostr(double d,char *buf,unsigned int maxlen,unsigned int prec,unsigned int prec2,int flags) __THROW;
|
||||
|
||||
#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L
|
||||
__extension__ long long int strtoll(const char *nptr, char **endptr, int base) __THROW;
|
||||
diff --git a/lib/__dtostr.c b/lib/__dtostr.c
|
||||
index 1d082e3..bc61200 100644
|
||||
--- a/lib/__dtostr.c
|
||||
+++ b/lib/__dtostr.c
|
||||
@@ -5,13 +5,15 @@
|
||||
|
||||
static int copystring(char* buf,int maxlen, const char* s) {
|
||||
|
|
@ -20,7 +72,7 @@ diff -up dietlibc-0.31.20080409/lib/__dtostr.c.printFG dietlibc-0.31.20080409/li
|
|||
#if 1
|
||||
union {
|
||||
unsigned long long l;
|
||||
@@ -35,8 +37,12 @@ int __dtostr(double d,char *buf,unsigned
|
||||
@@ -35,8 +37,12 @@ int __dtostr(double d,char *buf,unsigned int maxlen,unsigned int prec,unsigned i
|
||||
double tmp;
|
||||
char *oldbuf=buf;
|
||||
|
||||
|
|
@ -35,7 +87,7 @@ diff -up dietlibc-0.31.20080409/lib/__dtostr.c.printFG dietlibc-0.31.20080409/li
|
|||
e10=1+(long)(e*0.30102999566398119802); /* log10(2) */
|
||||
/* Wir iterieren von Links bis wir bei 0 sind oder maxlen erreicht
|
||||
* ist. Wenn maxlen erreicht ist, machen wir das nochmal in
|
||||
@@ -126,7 +132,7 @@ int __dtostr(double d,char *buf,unsigned
|
||||
@@ -126,7 +132,7 @@ int __dtostr(double d,char *buf,unsigned int maxlen,unsigned int prec,unsigned i
|
||||
if (prec2 || prec>(unsigned int)(buf-oldbuf)+1) { /* more digits wanted */
|
||||
if (!maxlen) return 0; --maxlen;
|
||||
*buf='.'; ++buf;
|
||||
|
|
@ -44,9 +96,10 @@ diff -up dietlibc-0.31.20080409/lib/__dtostr.c.printFG dietlibc-0.31.20080409/li
|
|||
if (prec2) prec=prec2;
|
||||
prec-=buf-oldbuf-1;
|
||||
} else {
|
||||
diff -up dietlibc-0.31.20080409/lib/__v_printf.c.printFG dietlibc-0.31.20080409/lib/__v_printf.c
|
||||
--- dietlibc-0.31.20080409/lib/__v_printf.c.printFG 2008-02-19 01:28:13.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/lib/__v_printf.c 2008-04-14 00:36:10.000000000 +0200
|
||||
diff --git a/lib/__v_printf.c b/lib/__v_printf.c
|
||||
index 36202f5..964c005 100644
|
||||
--- a/lib/__v_printf.c
|
||||
+++ b/lib/__v_printf.c
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
|
@ -72,8 +125,7 @@ diff -up dietlibc-0.31.20080409/lib/__v_printf.c.printFG dietlibc-0.31.20080409/
|
|||
if (flag_sign || d < +0.0) flag_in_sign=1;
|
||||
|
||||
- sz=__dtostr(d,s,sizeof(buf)-1,width,preci,g);
|
||||
+ sz=__dtostr(d,s,sizeof(buf)-1,width,preci,flags);
|
||||
|
||||
-
|
||||
- if (flag_dot) {
|
||||
- char *tmp;
|
||||
- if ((tmp=strchr(s,'.'))) {
|
||||
|
|
@ -83,6 +135,8 @@ diff -up dietlibc-0.31.20080409/lib/__v_printf.c.printFG dietlibc-0.31.20080409/
|
|||
- } else if (flag_hash) {
|
||||
- s[sz]='.';
|
||||
- s[++sz]='\0';
|
||||
+ sz=__dtostr(d,s,sizeof(buf)-1,width,preci,flags);
|
||||
+
|
||||
+ if (!isnan(d) && !isinf(d)) { /* skip NaN + INF values */
|
||||
+ if (flag_dot) {
|
||||
+ char *tmp;
|
||||
|
|
@ -131,9 +185,10 @@ diff -up dietlibc-0.31.20080409/lib/__v_printf.c.printFG dietlibc-0.31.20080409/
|
|||
}
|
||||
|
||||
sz=strlen(s);
|
||||
diff -up dietlibc-0.31.20080409/test/printf.c.printFG dietlibc-0.31.20080409/test/printf.c
|
||||
--- dietlibc-0.31.20080409/test/printf.c.printFG 2008-02-19 01:28:13.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/printf.c 2008-04-14 00:36:10.000000000 +0200
|
||||
diff --git a/test/printf.c b/test/printf.c
|
||||
index 719461a..ef6050d 100644
|
||||
--- a/test/printf.c
|
||||
+++ b/test/printf.c
|
||||
@@ -2,11 +2,26 @@
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
|
@ -215,20 +270,6 @@ diff -up dietlibc-0.31.20080409/test/printf.c.printFG dietlibc-0.31.20080409/tes
|
|||
+
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
diff -up dietlibc-0.31.20080409/include/stdlib.h.printFG dietlibc-0.31.20080409/include/stdlib.h
|
||||
--- dietlibc-0.31.20080409/include/stdlib.h.printFG 2007-09-20 20:51:18.000000000 +0200
|
||||
+++ dietlibc-0.31.20080409/include/stdlib.h 2008-04-14 00:36:10.000000000 +0200
|
||||
@@ -28,8 +28,12 @@ long double strtold(const char *nptr, ch
|
||||
long int strtol(const char *nptr, char **endptr, int base) __THROW;
|
||||
unsigned long int strtoul(const char *nptr, char **endptr, int base) __THROW;
|
||||
|
||||
+/* HACK: used flags in __dtostr
|
||||
+ 0x01 ... 'g'
|
||||
+ 0x02 ... uppercase
|
||||
+ Define some constants somewhere... */
|
||||
extern int __ltostr(char *s, unsigned int size, unsigned long i, unsigned int base, int UpCase) __THROW;
|
||||
-extern int __dtostr(double d,char *buf,unsigned int maxlen,unsigned int prec,unsigned int prec2,int g) __THROW;
|
||||
+extern int __dtostr(double d,char *buf,unsigned int maxlen,unsigned int prec,unsigned int prec2,int flags) __THROW;
|
||||
|
||||
#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L
|
||||
__extension__ long long int strtoll(const char *nptr, char **endptr, int base) __THROW;
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,18 @@
|
|||
diff -up dietlibc-0.31/lib/stack_smash_handler2.c.~1~ dietlibc-0.31/lib/stack_smash_handler2.c
|
||||
--- dietlibc-0.31/lib/stack_smash_handler2.c.~1~ 2007-09-01 14:13:21.000000000 +0200
|
||||
+++ dietlibc-0.31/lib/stack_smash_handler2.c 2007-09-01 14:13:40.000000000 +0200
|
||||
From 4bd1b2d53138ab594a6b73c938daf1b7c2195367 Mon Sep 17 00:00:00 2001
|
||||
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
Date: Sat, 19 Apr 2008 17:57:09 +0200
|
||||
Subject: [PATCH] __stack_chk_fail_local function
|
||||
|
||||
Added __stack_chk_fail_local() function as an alias for __stack_chk_fail().
|
||||
This is required for dynamic linking.
|
||||
---
|
||||
lib/stack_smash_handler2.c | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/lib/stack_smash_handler2.c b/lib/stack_smash_handler2.c
|
||||
index ecefeb8..b03c0d5 100644
|
||||
--- a/lib/stack_smash_handler2.c
|
||||
+++ b/lib/stack_smash_handler2.c
|
||||
@@ -2,6 +2,7 @@
|
||||
#include <write12.h>
|
||||
|
||||
|
|
@ -9,3 +21,6 @@ diff -up dietlibc-0.31/lib/stack_smash_handler2.c.~1~ dietlibc-0.31/lib/stack_sm
|
|||
|
||||
/* earlier versions of ProPolice actually gave the address and function
|
||||
* name as arguments to the handler, so it could print some useful
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,39 @@
|
|||
2007-09-01 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
* lib/stack_smash_handler2: modified __stack_chk_fail() to trigger
|
||||
a segfault by accessing address 0x0. Every system with an MMU
|
||||
known by me, segfaults by dereferencing a NULL pointer
|
||||
From 9fb58ca3604cb1426e94689fab57ab5c127c8c55 Mon Sep 17 00:00:00 2001
|
||||
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
Date: Sat, 19 Apr 2008 17:56:07 +0200
|
||||
Subject: [PATCH] Enhanced __stack_chk_fail
|
||||
|
||||
* Makefile: added hack to compile stack_smash_handler2 with
|
||||
'--fno-omit-frame-pointer'.
|
||||
* modified __stack_chk_fail() to trigger a segfault by accessing
|
||||
address 0x0. Every system with an MMU known by me, segfaults
|
||||
by dereferencing a NULL pointer.
|
||||
|
||||
diff -up dietlibc-0.31/lib/stack_smash_handler2.c.~1~ dietlibc-0.31/lib/stack_smash_handler2.c
|
||||
--- dietlibc-0.31/lib/stack_smash_handler2.c.stacksmash
|
||||
+++ dietlibc-0.31/lib/stack_smash_handler2.c
|
||||
* added hack to compile stack_smash_handler2 with
|
||||
'--fno-omit-frame-pointer'.
|
||||
---
|
||||
Makefile | 3 ++-
|
||||
lib/stack_smash_handler2.c | 10 +++++++++-
|
||||
2 files changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index adc2779..0cd0105 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -172,9 +172,10 @@ $(OBJDIR)/%.o: %.S $(ARCH)/syscalls.h
|
||||
$(OBJDIR)/pthread_%.o: libpthread/pthread_%.c
|
||||
$(CROSS)$(CC) $(INC) $(CFLAGS) -c $< -o $@
|
||||
$(COMMENT) -$(CROSS)strip -x -R .comment -R .note $@
|
||||
+$(OBJDIR)/stack_smash_handler2.o: XCFLAGS:=-fno-omit-frame-pointer
|
||||
|
||||
$(OBJDIR)/%.o: %.c
|
||||
- $(CROSS)$(CC) $(INC) $(CFLAGS) -c $< -o $@ -D__dietlibc__
|
||||
+ $(CROSS)$(CC) $(INC) $(CFLAGS) $(XCFLAGS) -c $< -o $@ -D__dietlibc__
|
||||
$(COMMENT) -$(CROSS)strip -x -R .comment -R .note $@
|
||||
endif
|
||||
|
||||
diff --git a/lib/stack_smash_handler2.c b/lib/stack_smash_handler2.c
|
||||
index 9e85099..ecefeb8 100644
|
||||
--- a/lib/stack_smash_handler2.c
|
||||
+++ b/lib/stack_smash_handler2.c
|
||||
@@ -8,5 +8,13 @@ void __stack_chk_fail(void);
|
||||
* diagnostics. No more. :-( */
|
||||
void __stack_chk_fail(void) {
|
||||
|
|
@ -24,17 +49,6 @@ diff -up dietlibc-0.31/lib/stack_smash_handler2.c.~1~ dietlibc-0.31/lib/stack_sm
|
|||
+ while (1)
|
||||
+ *(char *)0 = 0;
|
||||
}
|
||||
--- dietlibc-0.31/Makefile.stacksmash
|
||||
+++ dietlibc-0.31/Makefile
|
||||
@@ -172,9 +172,10 @@ $(OBJDIR)/%.o: %.S $(ARCH)/syscalls.h
|
||||
$(OBJDIR)/pthread_%.o: libpthread/pthread_%.c
|
||||
$(CROSS)$(CC) $(INC) $(CFLAGS) -c $< -o $@
|
||||
$(COMMENT) -$(CROSS)strip -x -R .comment -R .note $@
|
||||
+$(OBJDIR)/stack_smash_handler2.o: XCFLAGS:=-fno-omit-frame-pointer
|
||||
|
||||
$(OBJDIR)/%.o: %.c
|
||||
- $(CROSS)$(CC) $(INC) $(CFLAGS) -c $< -o $@ -D__dietlibc__
|
||||
+ $(CROSS)$(CC) $(INC) $(CFLAGS) $(XCFLAGS) -c $< -o $@ -D__dietlibc__
|
||||
$(COMMENT) -$(CROSS)strip -x -R .comment -R .note $@
|
||||
endif
|
||||
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
|
|
|||
|
|
@ -1,88 +0,0 @@
|
|||
diff -up dietlibc-0.31.20080409/test/stdio/tst-fseek.c.stat64 dietlibc-0.31.20080409/test/stdio/tst-fseek.c
|
||||
--- dietlibc-0.31.20080409/test/stdio/tst-fseek.c.stat64 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/stdio/tst-fseek.c 2008-04-12 21:17:47.000000000 +0200
|
||||
@@ -19,6 +19,7 @@
|
||||
02111-1307 USA. */
|
||||
|
||||
#define _GNU_SOURCE
|
||||
+#define _FILE_OFFSET_BITS 64
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -38,8 +39,8 @@ main (void)
|
||||
const char outstr[] = "hello world!\n";
|
||||
char strbuf[sizeof outstr];
|
||||
char buf[200];
|
||||
- struct stat64 st1;
|
||||
- struct stat64 st2;
|
||||
+ struct stat st1;
|
||||
+ struct stat st2;
|
||||
int result = 0;
|
||||
|
||||
tmpdir = getenv ("TMPDIR");
|
||||
@@ -315,9 +316,9 @@ main (void)
|
||||
}
|
||||
|
||||
/* Check the access time. */
|
||||
- if (fstat64 (fd, &st1) < 0)
|
||||
+ if (fstat (fd, &st1) < 0)
|
||||
{
|
||||
- printf ("%d: fstat64() before fseeko() failed\n\n", __LINE__);
|
||||
+ printf ("%d: fstat() before fseeko() failed\n\n", __LINE__);
|
||||
result = 1;
|
||||
}
|
||||
else
|
||||
@@ -338,9 +339,9 @@ main (void)
|
||||
sleep (1);
|
||||
t = time (NULL);
|
||||
|
||||
- if (fstat64 (fd, &st2) < 0)
|
||||
+ if (fstat (fd, &st2) < 0)
|
||||
{
|
||||
- printf ("%d: fstat64() after fseeko() failed\n\n", __LINE__);
|
||||
+ printf ("%d: fstat() after fseeko() failed\n\n", __LINE__);
|
||||
result = 1;
|
||||
}
|
||||
if (st1.st_ctime >= t)
|
||||
@@ -424,9 +425,9 @@ main (void)
|
||||
printf ("%d: fopen() failed\n\n", __LINE__);
|
||||
result = 1;
|
||||
}
|
||||
- else if (fstat64 (fileno (fp), &st1) < 0)
|
||||
+ else if (fstat (fileno (fp), &st1) < 0)
|
||||
{
|
||||
- printf ("%d: fstat64() before fseeko() failed\n\n", __LINE__);
|
||||
+ printf ("%d: fstat() before fseeko() failed\n\n", __LINE__);
|
||||
result = 1;
|
||||
}
|
||||
else if (fseeko (fp, 0, SEEK_END) != 0)
|
||||
@@ -436,7 +437,7 @@ main (void)
|
||||
}
|
||||
else if (ftello (fp) != st1.st_size)
|
||||
{
|
||||
- printf ("%d: fstat64 st_size %zd ftello %zd\n", __LINE__,
|
||||
+ printf ("%d: fstat st_size %zd ftello %zd\n", __LINE__,
|
||||
(size_t) st1.st_size, (size_t) ftello (fp));
|
||||
result = 1;
|
||||
}
|
||||
@@ -451,9 +452,9 @@ main (void)
|
||||
printf ("%d: fopen() failed\n\n", __LINE__);
|
||||
result = 1;
|
||||
}
|
||||
- else if (fstat64 (fileno (fp), &st1) < 0)
|
||||
+ else if (fstat (fileno (fp), &st1) < 0)
|
||||
{
|
||||
- printf ("%d: fstat64() before fgetc() failed\n\n", __LINE__);
|
||||
+ printf ("%d: fstat() before fgetc() failed\n\n", __LINE__);
|
||||
result = 1;
|
||||
}
|
||||
else if (fgetc (fp) == EOF)
|
||||
@@ -468,7 +469,7 @@ main (void)
|
||||
}
|
||||
else if (ftello (fp) != st1.st_size)
|
||||
{
|
||||
- printf ("%d: fstat64 st_size %zd ftello %zd\n", __LINE__,
|
||||
+ printf ("%d: fstat st_size %zd ftello %zd\n", __LINE__,
|
||||
(size_t) st1.st_size, (size_t) ftello (fp));
|
||||
result = 1;
|
||||
}
|
||||
|
|
@ -1,53 +1,101 @@
|
|||
diff -up dietlibc-0.31.20080409/test/getmntent.c.testsuite dietlibc-0.31.20080409/test/getmntent.c
|
||||
--- dietlibc-0.31.20080409/test/getmntent.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/getmntent.c 2008-04-14 00:41:17.000000000 +0200
|
||||
@@ -33,10 +33,6 @@ while ((e = getmntent(fstab))) {
|
||||
From ca5319e550e6e64e803a46fbb80d9436d8348567 Mon Sep 17 00:00:00 2001
|
||||
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
Date: Sat, 19 Apr 2008 17:41:23 +0200
|
||||
Subject: [PATCH] Several testsuite fixes/enhancments
|
||||
|
||||
* test/getmntent.c: I removed the checks which called endmntent()
|
||||
multiple times resp. with a NULL pointer. Behavior in first
|
||||
case is undefined and latter causes a segfault (I could not
|
||||
find documentation that this is allowed). Hence, it does not
|
||||
make sense to test this.
|
||||
|
||||
* test/stdlib/tst-malloc.c: test 'malloc(0)' only, when
|
||||
WANT_MALLOC_ZERO is set
|
||||
|
||||
* test/time/tst-strftime.c: the '%Zu' printf format specifier is
|
||||
bogus (from libc5 ages). I replaced it with the '%zu' one.
|
||||
|
||||
Please note, that this test still fails because it uses glibc
|
||||
specific features.
|
||||
|
||||
* test/time/tst-strptime.c: removed tests which set a non-C
|
||||
locale. Broken usage of 'strptime()' result was fixed too.
|
||||
This test should succeed now.
|
||||
|
||||
* test/math.c: this test was added while working on the '%F/%G'
|
||||
patch and verifies the isinf() + isnan() functions.
|
||||
|
||||
* fixes lot of broken printf() format specifiers
|
||||
|
||||
* fixes tests using isinf(); the math.c test checks the dietlibc
|
||||
implementation of isinf() (which differs between positive and
|
||||
negative inf). All other tests use boolean retval only and test
|
||||
for the signess of the values
|
||||
---
|
||||
test/Makefile | 2 +-
|
||||
test/asprintf.c | 2 +-
|
||||
test/bsearch.c | 2 +-
|
||||
test/byteswap.c | 8 ++++----
|
||||
test/cycles.c | 2 +-
|
||||
test/getmntent.c | 6 +-----
|
||||
test/math.c | 29 +++++++++++++++++++++++++++++
|
||||
test/mktime.c | 6 +++---
|
||||
test/printftest.c | 6 +++---
|
||||
test/rand48.c | 12 ++++++------
|
||||
test/runtests.sh | 2 +-
|
||||
test/speed.c | 4 ++--
|
||||
test/stdio/tstscanf.c | 4 ++--
|
||||
test/stdlib/tst-malloc.c | 6 +++++-
|
||||
test/stdlib/tst-strtod.c | 4 ++--
|
||||
test/sysenter.c | 6 +++---
|
||||
test/time/tst-strftime.c | 6 +++---
|
||||
test/time/tst-strptime.c | 23 ++++++++++++++++++++---
|
||||
18 files changed, 88 insertions(+), 42 deletions(-)
|
||||
create mode 100644 test/math.c
|
||||
|
||||
diff --git a/test/Makefile b/test/Makefile
|
||||
index ff416cf..537b32f 100644
|
||||
--- a/test/Makefile
|
||||
+++ b/test/Makefile
|
||||
@@ -10,7 +10,7 @@ LCOMPAT=-lcompat
|
||||
TESTPROGRAMS=adjtime argv asprintf atexit bsearch byteswap calloc confstr cycles empty flush fnmatch \
|
||||
fputc ftw fwrite getaddrinfo getenv getgrnam gethostbyaddr gethostbyname \
|
||||
gethostbyname_r getmntent getopt getpass getpwnam getservbyname getservbyport getusershell \
|
||||
-glob grent hasmntopt hello iconv if_nameindex ltostr malloc-debugger md5_testharness \
|
||||
+glob grent hasmntopt hello iconv if_nameindex ltostr malloc-debugger math md5_testharness \
|
||||
memccpy memchr memcmp memrchr memusage mktime mmap_test pipe printf printftest \
|
||||
protoent prototypes putenv pwent rand48 read1 readdir regex select sendfile servent siglist \
|
||||
speed spent sprintf sscanf stdarg strcasecmp strcmp strncat strncpy strptime strrchr \
|
||||
diff --git a/test/asprintf.c b/test/asprintf.c
|
||||
index 996a5aa..0d4f2eb 100644
|
||||
--- a/test/asprintf.c
|
||||
+++ b/test/asprintf.c
|
||||
@@ -13,7 +13,7 @@ int main(int argc, char **argv) {
|
||||
assert(strlen(path) == asprintlen);
|
||||
|
||||
printf("%s\n", path);
|
||||
- asprintlen=asprintf(&path, "/proc" "/%d/stat", strlen(argv[1]));
|
||||
+ asprintlen=asprintf(&path, "/proc" "/%zu/stat", strlen(argv[1]));
|
||||
assert(strlen(path) == asprintlen);
|
||||
printf("%s\n", path);
|
||||
|
||||
printf("closing /etc/fstab\n");
|
||||
assert ( 1 == endmntent(fstab));
|
||||
- printf("closing /etc/fstab again\n");
|
||||
- assert ( 1 == endmntent(fstab)); /* endmntent must always return 1 */
|
||||
- printf("entmntent(0)\n");
|
||||
- assert ( 1 == endmntent(0)); /* causes a segfault with diet libc */
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
-
|
||||
diff -up dietlibc-0.31.20080409/test/stdio/tst-fphex.c.testsuite dietlibc-0.31.20080409/test/stdio/tst-fphex.c
|
||||
--- dietlibc-0.31.20080409/test/stdio/tst-fphex.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/stdio/tst-fphex.c 2008-04-14 00:41:17.000000000 +0200
|
||||
@@ -37,7 +37,7 @@ int main (int argc, char **argv) {
|
||||
int n = snprintf (buf, sizeof buf, t->fmt, t->value);
|
||||
if (n != strlen (t->expect) || strcmp (buf, t->expect) != 0)
|
||||
{
|
||||
- printf ("%s\tExpected \"%s\" (%u)\n\tGot \"%s\" (%d, %u)\n",
|
||||
+ printf ("%s\tExpected \"%s\" (%zu)\n\tGot \"%s\" (%d, %zu)\n",
|
||||
t->fmt, t->expect, strlen (t->expect), buf, n, strlen (buf));
|
||||
result = 1;
|
||||
}
|
||||
diff -up dietlibc-0.31.20080409/test/stdio/tstscanf.c.testsuite dietlibc-0.31.20080409/test/stdio/tstscanf.c
|
||||
--- dietlibc-0.31.20080409/test/stdio/tstscanf.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/stdio/tstscanf.c 2008-04-14 00:47:36.000000000 +0200
|
||||
@@ -338,14 +338,14 @@ main (int argc, char **argv)
|
||||
int res;
|
||||
|
||||
res = sscanf ("-InF", "%f", &value);
|
||||
- if (res != 1 || isinf (value) != -1)
|
||||
+ if (res != 1 || !isinf (value) || !(value<0))
|
||||
{
|
||||
fputs ("test failed!\n", stdout);
|
||||
result = 1;
|
||||
diff --git a/test/bsearch.c b/test/bsearch.c
|
||||
index 961ad35..ede4c88 100644
|
||||
--- a/test/bsearch.c
|
||||
+++ b/test/bsearch.c
|
||||
@@ -35,7 +35,7 @@ int main() {
|
||||
die("bsearch returned NULL\n");
|
||||
}
|
||||
|
||||
res = sscanf ("+InfiNiTY", "%f", &value);
|
||||
- if (res != 1 || isinf (value) != 1)
|
||||
+ if (res != 1 || !isinf (value) || !(value>0))
|
||||
{
|
||||
fputs ("test failed!\n", stdout);
|
||||
result = 1;
|
||||
diff -up dietlibc-0.31.20080409/test/byteswap.c.testsuite dietlibc-0.31.20080409/test/byteswap.c
|
||||
--- dietlibc-0.31.20080409/test/byteswap.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/byteswap.c 2008-04-14 00:41:17.000000000 +0200
|
||||
if (k != array+i) die("bsearch found wrong element\n");
|
||||
- printf("%d\n",k-array);
|
||||
+ printf("%ld\n",k-array);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
diff --git a/test/byteswap.c b/test/byteswap.c
|
||||
index 19239dd..6f43c25 100644
|
||||
--- a/test/byteswap.c
|
||||
+++ b/test/byteswap.c
|
||||
@@ -9,12 +9,12 @@ int main() {
|
||||
snprintf(buf,100,"%x %x", bswap_16(0x1234), bswap_16(0x5678));
|
||||
assert(strcmp(buf, "3412 7856") == 0);
|
||||
|
|
@ -65,20 +113,10 @@ diff -up dietlibc-0.31.20080409/test/byteswap.c.testsuite dietlibc-0.31.20080409
|
|||
assert(strcmp(buf, "efcdab8967452301") == 0);
|
||||
return 0;
|
||||
}
|
||||
diff -up dietlibc-0.31.20080409/test/runtests.sh.testsuite dietlibc-0.31.20080409/test/runtests.sh
|
||||
--- dietlibc-0.31.20080409/test/runtests.sh.testsuite 2008-04-14 00:41:17.000000000 +0200
|
||||
+++ dietlibc-0.31.20080409/test/runtests.sh 2008-04-14 00:41:17.000000000 +0200
|
||||
@@ -1,6 +1,6 @@
|
||||
SUBDIRS="dirent inet stdio string stdlib time"
|
||||
|
||||
-TESTPROGRAMS="adjtime argv atexit bsearch byteswap calloc confstr empty flush fputc ffs fnmatch ftw fwrite getaddrinfo getenv getdelim getgrnam gethostbyaddr gethostbyname gethostbyname_r getmntent getopt getpwnam getservbyname getservbyport getusershell glob grent hasmntopt hello iconv if_nameindex ltostr malloc-debugger md5_testharness memccpy memchr memcmp memrchr memusage mktime mmap_test pipe printf printftest protoent prototypes putenv pwent rand48 readdir regex select sendfile servent siglist speed spent sprintf sscanf stdarg strcasecmp strcmp strncat strncpy strptime strrchr strstr strtol sysconf sysenter ungetc waitpid"
|
||||
+TESTPROGRAMS="adjtime argv atexit bsearch byteswap calloc confstr empty flush fputc ffs fnmatch ftw fwrite getaddrinfo getenv getdelim getgrnam gethostbyaddr gethostbyname gethostbyname_r getmntent getopt getpwnam getservbyname getservbyport getusershell glob grent hasmntopt hello iconv if_nameindex ltostr malloc-debugger math md5_testharness memccpy memchr memcmp memrchr memusage mktime mmap_test pipe printf printftest protoent prototypes putenv pwent rand48 readdir regex select sendfile servent siglist speed spent sprintf sscanf stdarg strcasecmp strcmp strncat strncpy strptime strrchr strstr strtol sysconf sysenter ungetc waitpid"
|
||||
|
||||
STDIN="read1"
|
||||
PASS="getpass"
|
||||
diff -up dietlibc-0.31.20080409/test/cycles.c.testsuite dietlibc-0.31.20080409/test/cycles.c
|
||||
--- dietlibc-0.31.20080409/test/cycles.c.testsuite 2004-08-24 12:10:48.000000000 +0200
|
||||
+++ dietlibc-0.31.20080409/test/cycles.c 2008-04-14 00:41:17.000000000 +0200
|
||||
diff --git a/test/cycles.c b/test/cycles.c
|
||||
index 35547f8..a4cb8c8 100644
|
||||
--- a/test/cycles.c
|
||||
+++ b/test/cycles.c
|
||||
@@ -24,7 +24,7 @@ int main(int argc,char* argv[]) {
|
||||
if (!fork()) { execve(argv[1],argv+1,environ); exit(1); }
|
||||
wait(0);
|
||||
|
|
@ -88,51 +126,84 @@ diff -up dietlibc-0.31.20080409/test/cycles.c.testsuite dietlibc-0.31.20080409/t
|
|||
|
||||
return 0;
|
||||
}
|
||||
diff -up dietlibc-0.31.20080409/test/sysenter.c.testsuite dietlibc-0.31.20080409/test/sysenter.c
|
||||
--- dietlibc-0.31.20080409/test/sysenter.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/sysenter.c 2008-04-14 00:41:17.000000000 +0200
|
||||
@@ -11,11 +11,11 @@ int main() {
|
||||
int i;
|
||||
for (i=0; environ[i]; ++i) ;
|
||||
for (x=(struct elf_aux*)(environ+i+1); x->type; ++x) {
|
||||
- printf("%d %x\n",x->type,x->value);
|
||||
+ printf("%ld %lx\n",x->type,x->value);
|
||||
if (x->type==AT_PAGESZ)
|
||||
- printf("pagesize %d\n",x->value);
|
||||
+ printf("pagesize %ld\n",x->value);
|
||||
else if (x->type==AT_SYSINFO)
|
||||
- printf("vsyscall %p\n",x->value);
|
||||
+ printf("vsyscall %p\n",(void *)x->value);
|
||||
}
|
||||
diff --git a/test/getmntent.c b/test/getmntent.c
|
||||
index fc17a83..1039d06 100644
|
||||
--- a/test/getmntent.c
|
||||
+++ b/test/getmntent.c
|
||||
@@ -33,10 +33,6 @@ while ((e = getmntent(fstab))) {
|
||||
|
||||
printf("closing /etc/fstab\n");
|
||||
assert ( 1 == endmntent(fstab));
|
||||
- printf("closing /etc/fstab again\n");
|
||||
- assert ( 1 == endmntent(fstab)); /* endmntent must always return 1 */
|
||||
- printf("entmntent(0)\n");
|
||||
- assert ( 1 == endmntent(0)); /* causes a segfault with diet libc */
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
-
|
||||
diff --git a/test/math.c b/test/math.c
|
||||
new file mode 100644
|
||||
index 0000000..687103c
|
||||
--- /dev/null
|
||||
+++ b/test/math.c
|
||||
@@ -0,0 +1,29 @@
|
||||
+#include <math.h>
|
||||
+#include <float.h>
|
||||
+#include <assert.h>
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+ extern int __isinf(double d);
|
||||
+ extern int __isnan(double d);
|
||||
+
|
||||
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))
|
||||
+ assert(__isinf(__builtin_inff()) == +1);
|
||||
+ assert(__isinf(-__builtin_inff()) == -1);
|
||||
+
|
||||
+ assert(__isinf(__builtin_inf()) == +1);
|
||||
+ assert(__isinf(-__builtin_inf()) == -1);
|
||||
+
|
||||
+ assert(__isnan(__builtin_nan("")));
|
||||
+#endif
|
||||
+
|
||||
+ assert(__isinf((DBL_MAX * DBL_MAX)) == +1);
|
||||
+ assert(__isinf(-(DBL_MAX * DBL_MAX)) == -1);
|
||||
+
|
||||
+ assert(isinf((DBL_MAX * DBL_MAX)));
|
||||
+ assert(isinf(-(DBL_MAX * DBL_MAX)));
|
||||
+
|
||||
+ //assert(isnan(nan("")));
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/test/mktime.c b/test/mktime.c
|
||||
index 5e9e65c..9b4bd5e 100644
|
||||
--- a/test/mktime.c
|
||||
+++ b/test/mktime.c
|
||||
@@ -9,15 +9,15 @@ int main() {
|
||||
t.tm_mday=29;
|
||||
t.tm_mon=2;
|
||||
t.tm_year=100;
|
||||
- printf("%d\n",mktime(&t));
|
||||
+ printf("%ld\n",(long)mktime(&t));
|
||||
t.tm_mday=1;
|
||||
t.tm_mon=3;
|
||||
t.tm_year=102;
|
||||
- printf("%d\n",mktime(&t));
|
||||
+ printf("%ld\n",(long)mktime(&t));
|
||||
t.tm_mday=1;
|
||||
t.tm_mon=6;
|
||||
t.tm_year=102;
|
||||
- printf("%d\n",mktime(&t));
|
||||
+ printf("%ld\n",(long)mktime(&t));
|
||||
return 0;
|
||||
}
|
||||
diff -up dietlibc-0.31.20080409/test/Makefile.testsuite dietlibc-0.31.20080409/test/Makefile
|
||||
--- dietlibc-0.31.20080409/test/Makefile.testsuite 2008-04-14 00:41:17.000000000 +0200
|
||||
+++ dietlibc-0.31.20080409/test/Makefile 2008-04-14 00:41:17.000000000 +0200
|
||||
@@ -10,7 +10,7 @@ LCOMPAT=-lcompat
|
||||
TESTPROGRAMS=adjtime argv asprintf atexit bsearch byteswap calloc confstr cycles empty flush fnmatch \
|
||||
fputc ftw fwrite getaddrinfo getenv getgrnam gethostbyaddr gethostbyname \
|
||||
gethostbyname_r getmntent getopt getpass getpwnam getservbyname getservbyport getusershell \
|
||||
-glob grent hasmntopt hello iconv if_nameindex ltostr malloc-debugger md5_testharness \
|
||||
+glob grent hasmntopt hello iconv if_nameindex ltostr malloc-debugger math md5_testharness \
|
||||
memccpy memchr memcmp memrchr memusage mktime mmap_test pipe printf printftest \
|
||||
protoent prototypes putenv pwent rand48 read1 readdir regex select sendfile servent siglist \
|
||||
speed spent sprintf sscanf stdarg strcasecmp strcmp strncat strncpy strptime strrchr \
|
||||
diff -up dietlibc-0.31.20080409/test/bsearch.c.testsuite dietlibc-0.31.20080409/test/bsearch.c
|
||||
--- dietlibc-0.31.20080409/test/bsearch.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/bsearch.c 2008-04-14 00:41:17.000000000 +0200
|
||||
@@ -35,7 +35,7 @@ int main() {
|
||||
die("bsearch returned NULL\n");
|
||||
}
|
||||
if (k != array+i) die("bsearch found wrong element\n");
|
||||
- printf("%d\n",k-array);
|
||||
+ printf("%ld\n",k-array);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
diff -up dietlibc-0.31.20080409/test/printftest.c.testsuite dietlibc-0.31.20080409/test/printftest.c
|
||||
--- dietlibc-0.31.20080409/test/printftest.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/printftest.c 2008-04-14 00:41:17.000000000 +0200
|
||||
|
||||
diff --git a/test/printftest.c b/test/printftest.c
|
||||
index 4743279..47d9580 100644
|
||||
--- a/test/printftest.c
|
||||
+++ b/test/printftest.c
|
||||
@@ -101,8 +101,8 @@ int main()
|
||||
printf("#%i#\n",18);
|
||||
printf("#%d#\n",18);
|
||||
|
|
@ -153,9 +224,87 @@ diff -up dietlibc-0.31.20080409/test/printftest.c.testsuite dietlibc-0.31.200804
|
|||
|
||||
printf ("snprintf (\"%%.999999u\", 10) == %d\n",
|
||||
snprintf(buf2, sizeof(buf2), "%.999999u", 10));
|
||||
diff -up dietlibc-0.31.20080409/test/stdlib/tst-malloc.c.testsuite dietlibc-0.31.20080409/test/stdlib/tst-malloc.c
|
||||
--- dietlibc-0.31.20080409/test/stdlib/tst-malloc.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/stdlib/tst-malloc.c 2008-04-14 00:41:17.000000000 +0200
|
||||
diff --git a/test/rand48.c b/test/rand48.c
|
||||
index 4f5b08f..1e67632 100644
|
||||
--- a/test/rand48.c
|
||||
+++ b/test/rand48.c
|
||||
@@ -6,16 +6,16 @@ main (void)
|
||||
{
|
||||
static unsigned short data[7] = { 1, 2, 3, 4, 5, 6, 7 };
|
||||
|
||||
- printf ("one %X\n", mrand48 ());
|
||||
- printf ("two %X\n", mrand48 ());
|
||||
- printf ("three %X\n", mrand48 ());
|
||||
+ printf ("one %lX\n", mrand48 ());
|
||||
+ printf ("two %lX\n", mrand48 ());
|
||||
+ printf ("three %lX\n", mrand48 ());
|
||||
|
||||
lcong48 (data);
|
||||
printf ("after lcong48:\n");
|
||||
|
||||
- printf ("one %X\n", mrand48 ());
|
||||
- printf ("two %X\n", mrand48 ());
|
||||
- printf ("three %X\n", mrand48 ());
|
||||
+ printf ("one %lX\n", mrand48 ());
|
||||
+ printf ("two %lX\n", mrand48 ());
|
||||
+ printf ("three %lX\n", mrand48 ());
|
||||
|
||||
return 0;
|
||||
}
|
||||
diff --git a/test/runtests.sh b/test/runtests.sh
|
||||
index 908caa5..fcd3202 100644
|
||||
--- a/test/runtests.sh
|
||||
+++ b/test/runtests.sh
|
||||
@@ -1,6 +1,6 @@
|
||||
SUBDIRS="dirent inet stdio string stdlib time"
|
||||
|
||||
-TESTPROGRAMS="adjtime argv atexit bsearch byteswap calloc confstr empty flush fputc ffs fnmatch ftw fwrite getaddrinfo getenv getdelim getgrnam gethostbyaddr gethostbyname gethostbyname_r getmntent getopt getpwnam getservbyname getservbyport getusershell glob grent hasmntopt hello iconv if_nameindex ltostr malloc-debugger md5_testharness memccpy memchr memcmp memrchr memusage mktime mmap_test pipe printf printftest protoent prototypes putenv pwent rand48 readdir regex select sendfile servent siglist speed spent sprintf sscanf stdarg strcasecmp strcmp strncat strncpy strptime strrchr strstr strtol sysconf sysenter ungetc waitpid"
|
||||
+TESTPROGRAMS="adjtime argv atexit bsearch byteswap calloc confstr empty flush fputc ffs fnmatch ftw fwrite getaddrinfo getenv getdelim getgrnam gethostbyaddr gethostbyname gethostbyname_r getmntent getopt getpwnam getservbyname getservbyport getusershell glob grent hasmntopt hello iconv if_nameindex ltostr malloc-debugger math md5_testharness memccpy memchr memcmp memrchr memusage mktime mmap_test pipe printf printftest protoent prototypes putenv pwent rand48 readdir regex select sendfile servent siglist speed spent sprintf sscanf stdarg strcasecmp strcmp strncat strncpy strptime strrchr strstr strtol sysconf sysenter ungetc waitpid"
|
||||
|
||||
STDIN="read1"
|
||||
PASS="getpass"
|
||||
diff --git a/test/speed.c b/test/speed.c
|
||||
index 674b9a8..22249a7 100644
|
||||
--- a/test/speed.c
|
||||
+++ b/test/speed.c
|
||||
@@ -7,10 +7,10 @@ int main() {
|
||||
int i;
|
||||
time_t t;
|
||||
|
||||
- printf("%d\n", time(0));
|
||||
+ printf("%ld\n", (long)time(0));
|
||||
for (i=0; i<10000000; ++i)
|
||||
t=time(0);
|
||||
|
||||
- printf("%d\n", time(0));
|
||||
+ printf("%ld\n", (long)time(0));
|
||||
return 0;
|
||||
}
|
||||
diff --git a/test/stdio/tstscanf.c b/test/stdio/tstscanf.c
|
||||
index 44ddf49..0f55c3c 100644
|
||||
--- a/test/stdio/tstscanf.c
|
||||
+++ b/test/stdio/tstscanf.c
|
||||
@@ -338,14 +338,14 @@ main (int argc, char **argv)
|
||||
int res;
|
||||
|
||||
res = sscanf ("-InF", "%f", &value);
|
||||
- if (res != 1 || isinf (value) != -1)
|
||||
+ if (res != 1 || !isinf (value) || !(value<0))
|
||||
{
|
||||
fputs ("test failed!\n", stdout);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
res = sscanf ("+InfiNiTY", "%f", &value);
|
||||
- if (res != 1 || isinf (value) != 1)
|
||||
+ if (res != 1 || !isinf (value) || !(value>0))
|
||||
{
|
||||
fputs ("test failed!\n", stdout);
|
||||
result = 1;
|
||||
diff --git a/test/stdlib/tst-malloc.c b/test/stdlib/tst-malloc.c
|
||||
index 09fbb1f..4a491d9 100644
|
||||
--- a/test/stdlib/tst-malloc.c
|
||||
+++ b/test/stdlib/tst-malloc.c
|
||||
@@ -21,13 +21,15 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
|
@ -185,9 +334,10 @@ diff -up dietlibc-0.31.20080409/test/stdlib/tst-malloc.c.testsuite dietlibc-0.31
|
|||
|
||||
p = realloc (p, 0);
|
||||
if (p != NULL)
|
||||
diff -up dietlibc-0.31.20080409/test/stdlib/tst-strtod.c.testsuite dietlibc-0.31.20080409/test/stdlib/tst-strtod.c
|
||||
--- dietlibc-0.31.20080409/test/stdlib/tst-strtod.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/stdlib/tst-strtod.c 2008-04-14 00:41:17.000000000 +0200
|
||||
diff --git a/test/stdlib/tst-strtod.c b/test/stdlib/tst-strtod.c
|
||||
index 630a8fc..bacdca7 100644
|
||||
--- a/test/stdlib/tst-strtod.c
|
||||
+++ b/test/stdlib/tst-strtod.c
|
||||
@@ -149,10 +149,10 @@ main (int argc, char ** argv)
|
||||
}
|
||||
|
||||
|
|
@ -201,35 +351,29 @@ diff -up dietlibc-0.31.20080409/test/stdlib/tst-strtod.c.testsuite dietlibc-0.31
|
|||
status = 1;
|
||||
}
|
||||
|
||||
diff -up dietlibc-0.31.20080409/test/rand48.c.testsuite dietlibc-0.31.20080409/test/rand48.c
|
||||
--- dietlibc-0.31.20080409/test/rand48.c.testsuite 2002-05-29 15:20:40.000000000 +0200
|
||||
+++ dietlibc-0.31.20080409/test/rand48.c 2008-04-14 00:41:17.000000000 +0200
|
||||
@@ -6,16 +6,16 @@ main (void)
|
||||
{
|
||||
static unsigned short data[7] = { 1, 2, 3, 4, 5, 6, 7 };
|
||||
|
||||
- printf ("one %X\n", mrand48 ());
|
||||
- printf ("two %X\n", mrand48 ());
|
||||
- printf ("three %X\n", mrand48 ());
|
||||
+ printf ("one %lX\n", mrand48 ());
|
||||
+ printf ("two %lX\n", mrand48 ());
|
||||
+ printf ("three %lX\n", mrand48 ());
|
||||
|
||||
lcong48 (data);
|
||||
printf ("after lcong48:\n");
|
||||
|
||||
- printf ("one %X\n", mrand48 ());
|
||||
- printf ("two %X\n", mrand48 ());
|
||||
- printf ("three %X\n", mrand48 ());
|
||||
+ printf ("one %lX\n", mrand48 ());
|
||||
+ printf ("two %lX\n", mrand48 ());
|
||||
+ printf ("three %lX\n", mrand48 ());
|
||||
|
||||
diff --git a/test/sysenter.c b/test/sysenter.c
|
||||
index a8fa3a8..3d85916 100644
|
||||
--- a/test/sysenter.c
|
||||
+++ b/test/sysenter.c
|
||||
@@ -11,11 +11,11 @@ int main() {
|
||||
int i;
|
||||
for (i=0; environ[i]; ++i) ;
|
||||
for (x=(struct elf_aux*)(environ+i+1); x->type; ++x) {
|
||||
- printf("%d %x\n",x->type,x->value);
|
||||
+ printf("%ld %lx\n",x->type,x->value);
|
||||
if (x->type==AT_PAGESZ)
|
||||
- printf("pagesize %d\n",x->value);
|
||||
+ printf("pagesize %ld\n",x->value);
|
||||
else if (x->type==AT_SYSINFO)
|
||||
- printf("vsyscall %p\n",x->value);
|
||||
+ printf("vsyscall %p\n",(void *)x->value);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
diff -up dietlibc-0.31.20080409/test/time/tst-strftime.c.testsuite dietlibc-0.31.20080409/test/time/tst-strftime.c
|
||||
--- dietlibc-0.31.20080409/test/time/tst-strftime.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/time/tst-strftime.c 2008-04-14 00:41:17.000000000 +0200
|
||||
diff --git a/test/time/tst-strftime.c b/test/time/tst-strftime.c
|
||||
index e092e93..27db9a4 100644
|
||||
--- a/test/time/tst-strftime.c
|
||||
+++ b/test/time/tst-strftime.c
|
||||
@@ -49,18 +49,18 @@ int main (void) {
|
||||
|
||||
if (res == 0)
|
||||
|
|
@ -252,9 +396,10 @@ diff -up dietlibc-0.31.20080409/test/time/tst-strftime.c.testsuite dietlibc-0.31
|
|||
|
||||
free (buf);
|
||||
}
|
||||
diff -up dietlibc-0.31.20080409/test/time/tst-strptime.c.testsuite dietlibc-0.31.20080409/test/time/tst-strptime.c
|
||||
--- dietlibc-0.31.20080409/test/time/tst-strptime.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/time/tst-strptime.c 2008-04-14 00:41:17.000000000 +0200
|
||||
diff --git a/test/time/tst-strptime.c b/test/time/tst-strptime.c
|
||||
index 6277ea6..2773180 100644
|
||||
--- a/test/time/tst-strptime.c
|
||||
+++ b/test/time/tst-strptime.c
|
||||
@@ -41,10 +41,12 @@ static const struct
|
||||
{ "C", "03/03/00", "%D", 5, 62, 2, 3 },
|
||||
{ "C", "9/9/99", "%x", 4, 251, 8, 9 },
|
||||
|
|
@ -311,86 +456,6 @@ diff -up dietlibc-0.31.20080409/test/time/tst-strptime.c.testsuite dietlibc-0.31
|
|||
{
|
||||
printf ("not all of `%s' read\n", day_tests[i].input);
|
||||
result = 1;
|
||||
diff -up dietlibc-0.31.20080409/test/mktime.c.testsuite dietlibc-0.31.20080409/test/mktime.c
|
||||
--- dietlibc-0.31.20080409/test/mktime.c.testsuite 2004-03-27 01:47:00.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/mktime.c 2008-04-14 00:41:17.000000000 +0200
|
||||
@@ -9,15 +9,15 @@ int main() {
|
||||
t.tm_mday=29;
|
||||
t.tm_mon=2;
|
||||
t.tm_year=100;
|
||||
- printf("%d\n",mktime(&t));
|
||||
+ printf("%ld\n",(long)mktime(&t));
|
||||
t.tm_mday=1;
|
||||
t.tm_mon=3;
|
||||
t.tm_year=102;
|
||||
- printf("%d\n",mktime(&t));
|
||||
+ printf("%ld\n",(long)mktime(&t));
|
||||
t.tm_mday=1;
|
||||
t.tm_mon=6;
|
||||
t.tm_year=102;
|
||||
- printf("%d\n",mktime(&t));
|
||||
+ printf("%ld\n",(long)mktime(&t));
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff -up dietlibc-0.31.20080409/test/asprintf.c.testsuite dietlibc-0.31.20080409/test/asprintf.c
|
||||
--- dietlibc-0.31.20080409/test/asprintf.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/asprintf.c 2008-04-14 00:41:17.000000000 +0200
|
||||
@@ -13,7 +13,7 @@ int main(int argc, char **argv) {
|
||||
assert(strlen(path) == asprintlen);
|
||||
|
||||
printf("%s\n", path);
|
||||
- asprintlen=asprintf(&path, "/proc" "/%d/stat", strlen(argv[1]));
|
||||
+ asprintlen=asprintf(&path, "/proc" "/%zu/stat", strlen(argv[1]));
|
||||
assert(strlen(path) == asprintlen);
|
||||
printf("%s\n", path);
|
||||
|
||||
diff -up /dev/null dietlibc-0.31.20080409/test/math.c
|
||||
--- /dev/null 2008-03-18 07:40:22.289057188 +0100
|
||||
+++ dietlibc-0.31.20080409/test/math.c 2008-04-14 00:46:45.000000000 +0200
|
||||
@@ -0,0 +1,29 @@
|
||||
+#include <math.h>
|
||||
+#include <float.h>
|
||||
+#include <assert.h>
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+ extern int __isinf(double d);
|
||||
+ extern int __isnan(double d);
|
||||
+
|
||||
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))
|
||||
+ assert(__isinf(__builtin_inff()) == +1);
|
||||
+ assert(__isinf(-__builtin_inff()) == -1);
|
||||
+
|
||||
+ assert(__isinf(__builtin_inf()) == +1);
|
||||
+ assert(__isinf(-__builtin_inf()) == -1);
|
||||
+
|
||||
+ assert(__isnan(__builtin_nan("")));
|
||||
+#endif
|
||||
+
|
||||
+ assert(__isinf((DBL_MAX * DBL_MAX)) == +1);
|
||||
+ assert(__isinf(-(DBL_MAX * DBL_MAX)) == -1);
|
||||
+
|
||||
+ assert(isinf((DBL_MAX * DBL_MAX)));
|
||||
+ assert(isinf(-(DBL_MAX * DBL_MAX)));
|
||||
+
|
||||
+ //assert(isnan(nan("")));
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
diff -up dietlibc-0.31.20080409/test/speed.c.testsuite dietlibc-0.31.20080409/test/speed.c
|
||||
--- dietlibc-0.31.20080409/test/speed.c.testsuite 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080409/test/speed.c 2008-04-14 00:41:17.000000000 +0200
|
||||
@@ -7,10 +7,10 @@ int main() {
|
||||
int i;
|
||||
time_t t;
|
||||
|
||||
- printf("%d\n", time(0));
|
||||
+ printf("%ld\n", (long)time(0));
|
||||
for (i=0; i<10000000; ++i)
|
||||
t=time(0);
|
||||
|
||||
- printf("%d\n", time(0));
|
||||
+ printf("%ld\n", (long)time(0));
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,21 @@
|
|||
diff -up dietlibc-0.31.20080212/test/atexit.c.~1~ dietlibc-0.31.20080212/test/atexit.c
|
||||
--- dietlibc-0.31.20080212/test/atexit.c.~1~ 2003-02-20 16:57:12.000000000 +0100
|
||||
+++ dietlibc-0.31.20080212/test/atexit.c 2008-02-13 18:34:12.000000000 +0100
|
||||
From b8de58754249c7f43c5959dc72c62e13851d45cb Mon Sep 17 00:00:00 2001
|
||||
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
Date: Sat, 19 Apr 2008 17:45:11 +0200
|
||||
Subject: [PATCH] Use stdout instead of stderr in testsuite
|
||||
|
||||
This patches uses stdout instead stderr when giving out normal status
|
||||
messages in the testsuite.
|
||||
---
|
||||
test/atexit.c | 2 +-
|
||||
test/malloc-debugger.c | 2 +-
|
||||
test/sendfile.c | 2 +-
|
||||
test/waitpid.c | 2 +-
|
||||
4 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/test/atexit.c b/test/atexit.c
|
||||
index 709a3e4..79ee392 100644
|
||||
--- a/test/atexit.c
|
||||
+++ b/test/atexit.c
|
||||
@@ -2,7 +2,7 @@
|
||||
#include <unistd.h>
|
||||
|
||||
|
|
@ -10,19 +25,10 @@ diff -up dietlibc-0.31.20080212/test/atexit.c.~1~ dietlibc-0.31.20080212/test/at
|
|||
}
|
||||
|
||||
int main() {
|
||||
diff -up dietlibc-0.31.20080212/test/sendfile.c.~1~ dietlibc-0.31.20080212/test/sendfile.c
|
||||
--- dietlibc-0.31.20080212/test/sendfile.c.~1~ 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080212/test/sendfile.c 2008-02-13 18:35:34.000000000 +0100
|
||||
@@ -11,5 +11,5 @@ int main() {
|
||||
|
||||
printf("sendfile returned %d\n",ret);
|
||||
|
||||
-return 0;
|
||||
+ return ret<0 ? 1 : 0;
|
||||
}
|
||||
diff -up dietlibc-0.31.20080212/test/malloc-debugger.c.~1~ dietlibc-0.31.20080212/test/malloc-debugger.c
|
||||
--- dietlibc-0.31.20080212/test/malloc-debugger.c.~1~ 2003-02-20 16:57:13.000000000 +0100
|
||||
+++ dietlibc-0.31.20080212/test/malloc-debugger.c 2008-02-13 18:34:27.000000000 +0100
|
||||
diff --git a/test/malloc-debugger.c b/test/malloc-debugger.c
|
||||
index 040196e..058807e 100644
|
||||
--- a/test/malloc-debugger.c
|
||||
+++ b/test/malloc-debugger.c
|
||||
@@ -4,7 +4,7 @@
|
||||
int main() {
|
||||
char* c=malloc(13);
|
||||
|
|
@ -32,9 +38,21 @@ diff -up dietlibc-0.31.20080212/test/malloc-debugger.c.~1~ dietlibc-0.31.2008021
|
|||
c[0]=14;
|
||||
// c[15]=0;
|
||||
tmp=realloc(c,12345);
|
||||
diff -up dietlibc-0.31.20080212/test/waitpid.c.~1~ dietlibc-0.31.20080212/test/waitpid.c
|
||||
--- dietlibc-0.31.20080212/test/waitpid.c.~1~ 2003-12-15 14:07:42.000000000 +0100
|
||||
+++ dietlibc-0.31.20080212/test/waitpid.c 2008-02-13 18:35:57.000000000 +0100
|
||||
diff --git a/test/sendfile.c b/test/sendfile.c
|
||||
index d43cdd2..28b3af5 100644
|
||||
--- a/test/sendfile.c
|
||||
+++ b/test/sendfile.c
|
||||
@@ -11,5 +11,5 @@ int main() {
|
||||
|
||||
printf("sendfile returned %d\n",ret);
|
||||
|
||||
-return 0;
|
||||
+ return ret<0 ? 1 : 0;
|
||||
}
|
||||
diff --git a/test/waitpid.c b/test/waitpid.c
|
||||
index fe2cb5b..92c0b0e 100644
|
||||
--- a/test/waitpid.c
|
||||
+++ b/test/waitpid.c
|
||||
@@ -11,7 +11,7 @@ int main() {
|
||||
perror("fork");
|
||||
_exit(1);
|
||||
|
|
@ -44,3 +62,6 @@ diff -up dietlibc-0.31.20080212/test/waitpid.c.~1~ dietlibc-0.31.20080212/test/w
|
|||
sleep(1);
|
||||
_exit(23);
|
||||
}
|
||||
--
|
||||
1.5.4.5
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue