meta-openembedded/meta-initramfs/classes/klibc.bbclass
Khem Raj 2de5071f9a
klibc: Use libgcc for compiler runtime with clang on arm
Fixes build errors seen building klibc linking recipes

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-07-18 21:22:17 -07:00

26 lines
1.2 KiB
Plaintext

# klcc-cross depends on klibc
DEPENDS =+ "klcc-cross"
# Default for klcc is to build static binaries.
# Set CC = "${TARGET_PREFIX}klcc -shared" to build the dynamic version.
CC:forcevariable = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS}"
CC:forcevariable:armv4:linux-gnueabi = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS} -march=armv4 -mthumb-interwork"
CC:append:armv7ve = " ${@' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
CC:append:armv7a = " ${@' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
# klcc uses own optimizations by default. See klcc(1) man file.
CFLAGS = "${TUNE_CCARGS} ${DEBUG_PREFIX_MAP}"
CFLAGS[export] = "1"
CPPFLAGS = "${TUNE_CCARGS}"
CPPFLAGS[export] = "1"
LDFLAGS = "${TUNE_CCARGS}"
# Linking with compiler-rt on arm results in
# libclang_rt.builtins-armhf.a(divmoddi4.c.o): in function `__divmoddi4':
#/usr/src/debug/compiler-rt/20.1.8/compiler-rt/lib/builtins/divmoddi4.c:(.text.__divmoddi4+0x7a): undefined reference to `__stack_chk_fail'
LDFLAGS:append:toolchain-clang:libc-klibc:arm = " --rtlib=libgcc --unwindlib=libgcc"
LDFLAGS[export] = "1"
OVERRIDES =. "libc-klibc:"