diff mbox series

busybox: Do not define global 'const' with clang

Message ID 20250524145743.1162258-1-raj.khem@gmail.com
State New
Headers show
Series busybox: Do not define global 'const' with clang | expand

Commit Message

Khem Raj May 24, 2025, 2:57 p.m. UTC
This helps fix segfaults when compiling with clang, the option to
define global const is configurable now in busybox [1] [2]

Turn ptr_to_globals and bb_errno to be non const

writing to a const variable is undefined behavior

This is undefined as per (C99 6.7.3 paragraph 5) see [1]
errno and ptr_to_globals is written to in code, this fails with
segfaults when compiled with clang

[1] https://git.busybox.net/busybox/commit/?id=1f925038a
[2] https://lists.busybox.net/pipermail/busybox/2022-January/089413.html

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/busybox/busybox.inc | 1 +
 1 file changed, 1 insertion(+)
diff mbox series

Patch

diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
index 638b40c758f..4ebaeb92c97 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -16,6 +16,7 @@  SECTION = "base"
 # Whether to split the suid apps into a seperate binary
 BUSYBOX_SPLIT_SUID ?= "1"
 
+CFLAGS:append:toolchain-clang = " -DBB_GLOBAL_CONST=''"
 export EXTRA_CFLAGS = "${CFLAGS}"
 export EXTRA_LDFLAGS = "${LDFLAGS}"