[Buildroot] [PATCH] package/uclibc: disable SSP support for riscv32

Romain Naour via buildroot <[email protected]>
Newsgroups net.busybox.buildroot
Message-ID <[email protected]>
On modern 32-bit architectures like RISC-V (riscv32), legacy 32-bit
time syscalls like __NR_gettimeofday are intentionally omitted because
RV32 implements a strict time64-only ABI to avoid the Year 2038 bug.

But uclibc-ng code [1] is using a direct __NR_gettimeofday syscall that
is not defined for riscv32.

[1] https://github.com/wbx-github/uclibc-ng/blob/ae4a98f9612c7050b1bceb9c8340fe5ef9345e22/ldso/include/dl-syscall.h#L263

As a workaround, we have to disable the SSP support for uclibc-ng
toolchain on riscv32 for now.

Fixes:
https://autobuild.buildroot.org/results/1b6/1b6f2161b11390b6545bddbc39b444401c718ebb/build-end.log

Cc: Thomas Petazzoni <[email protected]>
Cc: Waldemar Brodkorb <[email protected]>
Signed-off-by: Romain Naour <[email protected]>
---
 package/uclibc/Config.in | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
index 6b8b0d86f8..dfb74da789 100644
--- a/package/uclibc/Config.in
+++ b/package/uclibc/Config.in
@@ -100,6 +100,9 @@ config BR2_PTHREAD_DEBUG
 
 config BR2_TOOLCHAIN_BUILDROOT_USE_SSP
 	bool "Enable stack protection support"
+	# uClibc-ng ssp support requires __NR_gettimeofday defined.
+	# https://github.com/wbx-github/uclibc-ng/issues/19
+	depends on !BR2_RISCV_32
 	depends on BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI
 	select BR2_TOOLCHAIN_HAS_SSP
 	help
-- 
2.55.0

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.