From 85800279bcad0b3495ccc22374f42cd04675f9e4 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 24 Jan 2003 11:44:14 +0000 Subject: Ok, people are probably going to hate me for this... This commit changes the type of 'struct stat' and 'struct stat64' so they use consistant types. This change is the result of a bug I found while trying to use GNU tar. The problem was caused by our using kernel types within struct stat and trying to directly compare these values with standard types. Trying an 'if (a < b)' when 'a' is an 'unsigned long' and 'b' is an 'int' leads to very different results then when comparing entities of the same type (i.e. time_t values).... Grumble. Nasty stuff, but I'm glad I got this out of the way now. As a result of this fix, uClibc 0.9.17 will not be binary compatible with earlier releases. I have always warned people this can and will happen. -Erik --- ldso/ldso/ld_syscall.h | 1 + 1 file changed, 1 insertion(+) (limited to 'ldso') diff --git a/ldso/ldso/ld_syscall.h b/ldso/ldso/ld_syscall.h index 8ea8092c7..23f4c0141 100644 --- a/ldso/ldso/ld_syscall.h +++ b/ldso/ldso/ld_syscall.h @@ -9,6 +9,7 @@ /* Pull in whatever this particular arch's kernel thinks the kernel version of * struct stat should look like. It turns out that each arch has a different * opinion on the subject, and different kernel revs use different names... */ +#define kernel_stat stat #include -- cgit v1.2.3