Hi,
I have a problem linking uClibc-ng for riscv64 with binutils 2.40.
I get following error:
/home/wbx/openadk/toolchain_qemu-riscv64_uclibc-ng/usr/bin/riscv64-openadk-linux-uclibc-gcc
-Wl,-EL -shared -Wl,--warn-common -Wl,--warn-once -Wl,-z,combreloc
-Wl,-z,relro -Wl,-O2 -Wl,-z,defs
-L/home/wbx/openadk/target_qemu-riscv64_uclibc-ng/lib
-L/home/wbx/openadk/target_qemu-riscv64_uclibc-ng/usr/lib -Wl,-O1
-Wl,-rpath -Wl,/usr/lib -Wl,-rpath-link
-Wl,/home/wbx/openadk/target_qemu-riscv64_uclibc-ng/usr/lib
-Wl,-init,__uClibc_init -Wl,-soname=libc.so.1 -nostdlib
-nostartfiles -o lib/libuClibc-1.0.42.so -Wl,--whole-archive
libc/libc_so.a -Wl,--no-whole-archive ./lib/interp.os
./lib/ld-uClibc.so.1 ./lib/uclibc_nonshared.a
./lib/libpthread_nonshared.a
/home/wbx/openadk/toolchain_qemu-riscv64_uclibc-ng/usr/lib/gcc/riscv64-openadk-linux-uclibc/11.3.0/libgcc.a
/home/wbx/openadk/toolchain_qemu-riscv64_uclibc-ng/usr/lib/gcc/riscv64-openadk-linux-uclibc/11.3.0/../../../../riscv64-openadk-linux-uclibc/bin/ld:
relocation R_RISCV_RVC_JUMP against `__sigsetjmp' which may bind
externally can not be used when making a shared object; recompile
with -fPIC
collect2: error: ld returned 1 exit status
gmake[6]: *** [libc/Makefile.in:77: lib/libc.so] Error 1
I found this commit in glibc:
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=68389203832ab39dd0db…
But it does not work here. Anyone an idea how to fix it?
best regards
Waldemar