mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-23 21:43:30 +08:00
package/directfb: enable on riscv32 again
Newer 32bit architectures like RISCV32 and ARC are using 64bit time_t
from the get go unlike other 32bit architectures, therefore aliasing
__NR_futex to __NR_futex_time64 avoids the build error mentioned
in cb6fd050
.
Fixes:
- http://autobuild.buildroot.org/results/c0f4168575fa85af933539441eea95a3b10dac91
Signed-off-by: Steffen Persvold <spersvold@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
f30da3dc21
commit
a4ae412293
@ -0,0 +1,43 @@
|
||||
From 8ffd68a8dfa1e8671dd8c01b96faffd681deca4e Mon Sep 17 00:00:00 2001
|
||||
From: Steffen Persvold <spersvold@gmail.com>
|
||||
Date: Tue, 25 Jun 2024 14:14:49 +0200
|
||||
Subject: [PATCH] libdirect: define __NR_futex on 32bit architectures using
|
||||
64-bit time_t
|
||||
|
||||
Newer 32bit architectures like RISCV32 and ARC are using 64bit time_t
|
||||
from the get go unlike other 32bit architectures, therefore aliasing
|
||||
__NR_futex to __NR_futex_time64 helps avoid the below errors :
|
||||
|
||||
system.c:242:21: error: '__NR_futex' undeclared (first use in this function)
|
||||
242 | ret = syscall( __NR_futex, uaddr, op, val, timeout, uaddr2, val3 );
|
||||
| ^~~~~~~~~~
|
||||
|
||||
Upstream: dead
|
||||
Signed-off-by: Steffen Persvold <spersvold@gmail.com>
|
||||
---
|
||||
lib/direct/os/linux/glibc/system.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/direct/os/linux/glibc/system.c b/lib/direct/os/linux/glibc/system.c
|
||||
index 32086a25..7143442b 100644
|
||||
--- a/lib/direct/os/linux/glibc/system.c
|
||||
+++ b/lib/direct/os/linux/glibc/system.c
|
||||
@@ -213,6 +213,10 @@ direct_getenv( const char *name )
|
||||
|
||||
/**********************************************************************************************************************/
|
||||
|
||||
+#if defined(__NR_futex_time64) && !defined(__NR_futex)
|
||||
+#define __NR_futex __NR_futex_time64
|
||||
+#endif
|
||||
+
|
||||
DirectResult
|
||||
direct_futex( int *uaddr, int op, int val, const struct timespec *timeout, int *uaddr2, int val3 )
|
||||
{
|
||||
@@ -245,4 +249,3 @@ direct_futex( int *uaddr, int op, int val, const struct timespec *timeout, int *
|
||||
|
||||
return DR_OK;
|
||||
}
|
||||
-
|
||||
--
|
||||
2.40.1
|
||||
|
@ -1,6 +1,5 @@
|
||||
config BR2_PACKAGE_DIRECTFB
|
||||
bool "directfb"
|
||||
depends on !BR2_RISCV_32
|
||||
depends on !BR2_STATIC_LIBS # static link issues
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
@ -162,7 +161,6 @@ config BR2_PACKAGE_DIRECTFB_TESTS
|
||||
endif # BR2_PACKAGE_DIRECTFB
|
||||
|
||||
comment "directfb needs a glibc or uClibc toolchain w/ C++, NPTL, gcc >= 4.5, dynamic library"
|
||||
depends on !BR2_RISCV_32
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_INSTALL_LIBSTDCPP || \
|
||||
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || BR2_TOOLCHAIN_USES_MUSL || \
|
||||
|
Loading…
Reference in New Issue
Block a user