aboutsummaryrefslogtreecommitdiff
path: root/i386/include
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-03-31 02:05:11 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-03-31 02:06:34 +0200
commit2e1342cdcd9907076015398fd47943c191633518 (patch)
tree732379115a48dc83d3f5f25c8ca87c2073c9e928 /i386/include
parent6c4464d16b2fccb1acf8cd78f6b61426a949ab01 (diff)
downloadgnumach-2e1342cdcd9907076015398fd47943c191633518.tar.gz
gnumach-2e1342cdcd9907076015398fd47943c191633518.tar.bz2
gnumach-2e1342cdcd9907076015398fd47943c191633518.zip
Restore vm_size_t to natural_t
Plenty of places such as glibc RPC uses currently assume that vm_size_t is a natural_t (thus int on 32bit), not an unsigned long. * i386/include/mach/i386/vm_types.h (vm_size_t) [!__x86_64__]: Set type to natural_t. * device/dev_page.c (device_pager_data_request): Cast vm_size_t to unsigned long. * i386/i386at/model_dep.c (c_boot_entry): Likewise.
Diffstat (limited to 'i386/include')
-rw-r--r--i386/include/mach/i386/vm_types.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/i386/include/mach/i386/vm_types.h b/i386/include/mach/i386/vm_types.h
index 78fb805b..28609e7c 100644
--- a/i386/include/mach/i386/vm_types.h
+++ b/i386/include/mach/i386/vm_types.h
@@ -83,7 +83,11 @@ typedef unsigned long phys_addr_t;
* expressing the difference between two
* vm_offset_t entities.
*/
+#ifdef __x86_64__
typedef unsigned long vm_size_t;
+#else
+typedef natural_t vm_size_t;
+#endif
#endif /* __ASSEMBLER__ */