diff mbox series

[uclibc-ng-devel] Correct uClibc compilation.

Message ID 20240516091708.519229-1-dm.chestnykh@gmail.com
State Accepted
Headers show
Series [uclibc-ng-devel] Correct uClibc compilation. | expand

Commit Message

Dmitry Chestnykh May 16, 2024, 9:17 a.m. UTC
- Include sys/types.h instead of asm/types.h
to prevent types conflict for uClibc typedefs and kernel headers
typedefs.
- Cast 3rd arg of utimensat_time64 syscall to integer type
to avoid compiler's -Wint-conversion error. The error was found
during uClibc compilation for mips32.

Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
---
 include/net/ppp_defs.h                | 2 +-
 libc/sysdeps/linux/common/utimensat.c | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

Comments

Waldemar Brodkorb May 16, 2024, 4:28 p.m. UTC | #1
Hi Dmitry,

Dmitry Chestnykh wrote,

> - Include sys/types.h instead of asm/types.h
> to prevent types conflict for uClibc typedefs and kernel headers
> typedefs.
> - Cast 3rd arg of utimensat_time64 syscall to integer type
> to avoid compiler's -Wint-conversion error. The error was found
> during uClibc compilation for mips32.

Thanks for the fix. 

Committed and pushed,
 best regards
  Waldemar
diff mbox series

Patch

diff --git a/include/net/ppp_defs.h b/include/net/ppp_defs.h
index f8924c4f2..904d1933c 100644
--- a/include/net/ppp_defs.h
+++ b/include/net/ppp_defs.h
@@ -4,7 +4,7 @@ 
 #define __need_time_t
 #include <time.h>
 
-#include <asm/types.h>
+#include <sys/types.h>
 #include <linux/ppp_defs.h>
 
 #endif /* net/ppp_defs.h */
diff --git a/libc/sysdeps/linux/common/utimensat.c b/libc/sysdeps/linux/common/utimensat.c
index fa6f90e55..5816c7890 100644
--- a/libc/sysdeps/linux/common/utimensat.c
+++ b/libc/sysdeps/linux/common/utimensat.c
@@ -8,6 +8,7 @@ 
 
 #include <sys/syscall.h>
 #include <sys/stat.h>
+#include <stdint.h>
 
 #if defined(__UCLIBC_USE_TIME64__)
 #include "internal/time64_helpers.h"
@@ -28,7 +29,7 @@  int utimensat(int fd, const char *path, const struct timespec times[2], int flag
         }
     };
 
-    return INLINE_SYSCALL(utimensat_time64, 4, fd, path, times ? &__times64 : 0, flags);
+    return INLINE_SYSCALL(utimensat_time64, 4, fd, path, times ? (uintptr_t) &__times64 : 0, flags);
 }
 #else
 _syscall4(int, utimensat, int, fd, const char *, path, const struct timespec *, times, int, flags)