i am trying to compile a kernel but it always return this error:
LD arch/arm64/kernel/vdso/built-in.o
ld.lld: error: cannot find linker script -r
make: *** [scripts/Makefile.build:507: arch/arm64/kernel/vdso/built-in.o] Error 1
make: *** [scripts/Makefile.build:647: arch/arm64/kernel/vdso] Error 2
make: *** [Makefile:1239: arch/arm64/kernel] Error 2
i have examined the sources, scripts and Makefiles from vdso but no luck.
can anyone point me how and where to look into this matter, or how to show more details about this please?
regards
edit:
i am trying to build an android kernel with llvm for the first time on my ubuntu 20.04, which i believe i have setup clang17 & gcc probably. but it produced the same error even compiled with gcc
here is the config settings:
CLANG_HOME=/usr/lib/llvm-17
export PATH=$CLANG_HOME/bin:$CLANG_HOME/lib:${PATH}
export CLANG_TRIPLE=/usr/bin/aarch64-linux-gnu-
export CROSS_COMPILE=/usr/bin/aarch64-linux-gnu-
export CROSS_COMPILE_ARM32=/opt1/android/toolchain/clang/proton-clang-v13.0.0/arm-linux-gnueabi/bin/arm-linux-gnueabi-
export CC=$CLANG_HOME/bin/clang
export REAL_CC=$CLANG_HOME/bin/clang
export LD=$CLANG_HOME/bin/ld.lld
export AR=$CLANG_HOME/bin/llvm-ar
export NM=$CLANG_HOME/bin/llvm-nm
export OBJCOPY=$CLANG_HOME/bin/llvm-objcopy
export OBJDUMP=$CLANG_HOME/bin/llvm-objdump
export READELF=$CLANG_HOME/bin/llvm-readelf
export STRIP=$CLANG_HOME/bin/llvm-strip
export LLVM=1 && export LLVM_IAS=1
export KALLSYMS_EXTRA_PASS=1
export ARCH=arm64 && export SUBARCH=arm64
errors with make -j1 -V1
make -f ./scripts/Makefile.build obj=arch/arm64/kernel/vdso
/usr/lib/llvm-17/bin/llvm-objcopy -S arch/arm64/kernel/vdso/vdso.so.dbg arch/arm64/kernel/vdso/vdso.so
/usr/lib/llvm-17/bin/clang -Wp,-MD,arch/arm64/kernel/vdso/.vdso.o.d -nostdinc -isystem /usr/lib/llvm-17/lib/clang/17/include -I./arch/arm64/include -I./arch/arm64/include/generated/uapi -I./arch/arm64/include/generated -I./include -I./drivers/kernelsu/include -I./arch/arm64/include/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Qunused-arguments -mlittle-endian -Qunused-arguments -D__ASSEMBLY__ --target=aarch64-linux-gnu -DCC_USE_CLANG --prefix=/usr/bin/aarch64-linux-gnu-
--gcc-toolchain=/usr -Werror=unknown-warning-option -fno-PIE -DCONFIG_AS_LSE=1 -DCONFIG_VDSO32=1 -c -o arch/arm64/kernel/vdso/vdso.o arch/arm64/kernel/vdso/vdso.S
/usr/lib/llvm-17/bin/ld.lld -EL -maarch64elf -O3 -shared -nostdlib -soname=linux-vdso.so.1 --hash-style=sysv --build-id -n -T
-r -o arch/arm64/kernel/vdso/built-in.o arch/arm64/kernel/vdso/vdso.o
ld.lld: error: cannot find linker script -r
make: *** [scripts/Makefile.build:507: arch/arm64/kernel/vdso/built-in.o] Error 1
make: *** [scripts/Makefile.build:647: arch/arm64/kernel/vdso] Error 2
make: *** [Makefile:1239: arch/arm64/kernel] Error 2
edit2:
tried with different clang but still having problems when compiling vdso things. most common errors as mentioned above - cannot find linker script, thus built.o was not compiled successfully
Asked by xxjoe
(11 rep)
Sep 21, 2023, 12:54 PM
Last activity: Oct 23, 2023, 10:00 AM
Last activity: Oct 23, 2023, 10:00 AM