[Picolibc] Aarch64 testing in picolibc
Keith Packard
keithp at keithp.com
Wed Jun 17 14:43:19 PDT 2020
I spent a bit of time yesterday getting enough aarch64 support added to
picolibc so that the tests now run under qemu.
* Semihosting support. This just required an aarch64 implementation of
'sys_semihost' as the rest of the semihost code 'just worked'.
* thread local storage. Aarch64 uses the tpidr_el0 register as a
pointer to TLS info, although (like arm), the values are offset for
some reason. In this case it looks like the tpidr_el0 register points
16 bytes before the TLS block. So, adding TLS support to picolibc
only needed defining the _set_tls function.
* picolibc.specs. The Debian aarch64 compiler is set up to generate
linux binaries, which include dynamic linking and other stuff. I've
hacked up the picolibc.specs file so that the aarch64 port can add
stuff to try and build usable embedded binaries.
I don't have any embedded aarch64 code to test this on, so everything
here was focused on getting tests running under qemu. Review and fixes
from those with actual aarch64 experience would be awesome.
--
-keith
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://keithp.com/pipermail/picolibc/attachments/20200617/40f578f6/attachment.sig>
More information about the Picolibc
mailing list