fix regression in size of nlink_t (broken stat struct) on x86_64
authorRich Felker <dalias@aerifal.cx>
Mon, 22 Jul 2013 19:45:28 +0000 (15:45 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 22 Jul 2013 19:45:28 +0000 (15:45 -0400)
rather than moving nlink_t back to the arch-specific file, I've added
a macro _Reg defined to the canonical type for register-size values on
the arch. this is not the same as _Addr for (not-yet-supported)
32-on-64 pseudo-archs like x32 and mips n32, so a new macro was
needed.

arch/arm/bits/alltypes.h.in
arch/i386/bits/alltypes.h.in
arch/microblaze/bits/alltypes.h.in
arch/mips/bits/alltypes.h.in
arch/powerpc/bits/alltypes.h.in
arch/x86_64/bits/alltypes.h.in
include/alltypes.h.in

index 764a246..bd23a6a 100644 (file)
@@ -1,5 +1,6 @@
 #define _Addr int
 #define _Int64 long long
+#define _Reg int
 
 TYPEDEF __builtin_va_list va_list;
 TYPEDEF __builtin_va_list __isoc_va_list;
index 04fd1cb..efd2c07 100644 (file)
@@ -1,5 +1,6 @@
 #define _Addr int
 #define _Int64 long long
+#define _Reg int
 
 #if __GNUC__ >= 3
 TYPEDEF __builtin_va_list va_list;
index eb842aa..6bd7942 100644 (file)
@@ -1,5 +1,6 @@
 #define _Addr int
 #define _Int64 long long
+#define _Reg int
 
 TYPEDEF __builtin_va_list va_list;
 TYPEDEF __builtin_va_list __isoc_va_list;
index eb842aa..6bd7942 100644 (file)
@@ -1,5 +1,6 @@
 #define _Addr int
 #define _Int64 long long
+#define _Reg int
 
 TYPEDEF __builtin_va_list va_list;
 TYPEDEF __builtin_va_list __isoc_va_list;
index 1c3fe28..e9d8dd8 100644 (file)
@@ -1,5 +1,6 @@
 #define _Addr int
 #define _Int64 long long
+#define _Reg int
 
 TYPEDEF __builtin_va_list va_list;
 TYPEDEF __builtin_va_list __isoc_va_list;
index b9bff86..277e944 100644 (file)
@@ -1,5 +1,6 @@
 #define _Addr long
 #define _Int64 long
+#define _Reg long
 
 TYPEDEF __builtin_va_list va_list;
 TYPEDEF __builtin_va_list __isoc_va_list;
index f3481fc..644c61d 100644 (file)
@@ -17,7 +17,7 @@ TYPEDEF unsigned _Int64 uint64_t;
 TYPEDEF unsigned _Int64 uintmax_t;
 
 TYPEDEF unsigned mode_t;
-TYPEDEF unsigned nlink_t;
+TYPEDEF unsigned _Reg nlink_t;
 TYPEDEF _Int64 off_t;
 TYPEDEF unsigned _Int64 ino_t;
 TYPEDEF unsigned _Int64 dev_t;