Hi Waldemar,
On Thu, May 2, 2024 at 7:13 AM Waldemar Brodkorb wbx@openadk.org wrote:
I am trying your patch series in OpenADK, but it fails with following error:
[...]
ldso/ldso/dl-tls.c: Assembler messages: ldso/ldso/dl-tls.c:197: Error: invalid register 'threadptr' for 'rur' instruction ldso/ldso/dl-tls.c:203: Error: invalid register 'threadptr' for 'rur' instruction ldso/ldso/dl-tls.c:694: Error: invalid register 'threadptr' for 'rur' instruction ldso/ldso/dl-tls.c:811: Error: invalid register 'threadptr' for 'rur' instruction ldso/ldso/dl-tls.c:160: Error: invalid register 'threadptr' for 'rur' instruction ldso/ldso/dl-tls.c:1045: Error: invalid register 'threadptr' for 'wur' instruction ldso/ldso/dl-tls.c:852: Error: invalid register 'threadptr' for 'rur' instruction ldso/ldso/dl-tls.c:859: Error: invalid register 'threadptr' for 'rur' instruction ldso/ldso/ldso.c:1360: Error: invalid register 'threadptr' for 'wur' instruction gmake[6]: *** [Makerules:374: ldso/ldso/ldso.oS] Error 1 gmake[5]: *** [Makefile:353: /home/wbx/openadk/toolchain_build_qemu-xtensa_uclibc-ng_de212_fdpic_nommu/w-uClibc-ng-git-1/uClibc-ng-git/.compiled] Error 2 gmake[4]: *** [Makefile:106: uclibc-ng-compile] Error 2 gmake[3]: *** [mk/build.mk:227: toolchain/final] Error 2 gmake[2]: *** [/home/wbx/openadk/mk/build.mk:176: world] Error 2
I am using an very old overlay for de212, which defaults to windowed ABI, but I added -mabi=call0 to CFLAGS. Are you testing with another CPU? I always use de212 for noMMU configurations.
de212 doesn't have the THREADPTR option so ATM there's no native TLS implementation that would work for it. For testing I'm using dc233c with call0 ABI and MMU option disabled in the uClibc config. The overlay source for it is available here:
https://github.com/jcmvbkbc/xtensa-toolchain-build/blob/master/overlays/orig...
Also I build the dynconfig library
https://github.com/jcmvbkbc/xtensa-dynconfig/tree/original
for configuring the toolchain instead of applying the overlay.