Skip to content

Commit

Permalink
libc: unify base types for arm_64 and riscv
Browse files Browse the repository at this point in the history
  • Loading branch information
nfeske committed Jan 22, 2025
1 parent 4dfa600 commit a9edc3c
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 1 deletion.
2 changes: 1 addition & 1 deletion repos/libports/ports/libc.hash
Original file line number Diff line number Diff line change
@@ -1 +1 @@
b36b17e21acc3a6b70bc550e19d08abbb15db71a
bc721727d40eed2e4034055bd0400374fcaa4d61
56 changes: 56 additions & 0 deletions repos/libports/src/lib/libc/patches/types.patch
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,59 @@ index 07893c6..abd2ea4 100644
typedef __int32_t __time_t;
typedef __uint32_t __uintfptr_t;
typedef __uint32_t __uintptr_t;
--- src/lib/libc/sys/arm64/include/_types.h
+++ src/lib/libc/sys/arm64/include/_types.h
@@ -48,8 +48,8 @@
typedef unsigned short __uint16_t;
typedef int __int32_t;
typedef unsigned int __uint32_t;
-typedef long __int64_t;
-typedef unsigned long __uint64_t;
+typedef long long __int64_t;
+typedef unsigned long long __uint64_t;

/*
* Standard type definitions.
@@ -71,11 +71,11 @@
typedef __int16_t __int_least16_t;
typedef __int32_t __int_least32_t;
typedef __int64_t __int_least64_t;
-typedef __int64_t __ptrdiff_t; /* ptr1 - ptr2 */
+typedef __PTRDIFF_TYPE__ __ptrdiff_t; /* ptr1 - ptr2 */
typedef __int64_t __register_t;
typedef __int64_t __segsz_t; /* segment size (in pages) */
-typedef __uint64_t __size_t; /* sizeof() */
-typedef __int64_t __ssize_t; /* byte count or error */
+typedef __SIZE_TYPE__ __size_t; /* sizeof() */
+typedef __PTRDIFF_TYPE__ __ssize_t; /* byte count or error */
typedef __int64_t __time_t; /* time()... */
typedef __uint64_t __uintfptr_t;
typedef __uint64_t __uintmax_t;
--- src/lib/libc/sys/riscv/include/_types.h
+++ src/lib/libc/sys/riscv/include/_types.h
@@ -48,8 +48,8 @@
typedef unsigned short __uint16_t;
typedef int __int32_t;
typedef unsigned int __uint32_t;
-typedef long __int64_t;
-typedef unsigned long __uint64_t;
+typedef long long __int64_t;
+typedef unsigned long long __uint64_t;

/*
* Standard type definitions.
@@ -71,11 +71,11 @@
typedef __int16_t __int_least16_t;
typedef __int32_t __int_least32_t;
typedef __int64_t __int_least64_t;
-typedef __int64_t __ptrdiff_t; /* ptr1 - ptr2 */
+typedef __PTRDIFF_TYPE__ __ptrdiff_t; /* ptr1 - ptr2 */
typedef __int64_t __register_t;
typedef __int64_t __segsz_t; /* segment size (in pages) */
-typedef __uint64_t __size_t; /* sizeof() */
-typedef __int64_t __ssize_t; /* byte count or error */
+typedef __SIZE_TYPE__ __size_t; /* sizeof() */
+typedef __PTRDIFF_TYPE__ __ssize_t; /* byte count or error */
typedef __int64_t __time_t; /* time()... */
typedef __uint64_t __uintfptr_t;
typedef __uint64_t __uintmax_t;

0 comments on commit a9edc3c

Please sign in to comment.