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 764a246910817e198c79ca3fe6acd2c660bfba29..bd23a6ae8da1f17bc85e1daa4b3b11f0a0f66282 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 04fd1cb408a2c967e945e5997ef8ad14048eb4cf..efd2c077396426a536e91c5aed33b2baa82291e0 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 eb842aaf35ea58c58e83c40d424d725d4d2ba58c..6bd79429e57bba0f76b1223cd75804e22d2ece9e 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 eb842aaf35ea58c58e83c40d424d725d4d2ba58c..6bd79429e57bba0f76b1223cd75804e22d2ece9e 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 1c3fe283577a3eff0b2872afea11192d4c0eecab..e9d8dd8a90cb53d474dbf1bf11192de77fc46636 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 b9bff866c14b0fae33f643b557692286f81b6a52..277e94480825e9b5c62cf8956d1ed52c4a4f2512 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 f3481fc23b0b4f4dc6255b21400da8d21d7d28db..644c61de88a06fde908509870ffc93c1bb6bfba3 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;