mailing list of musl libc
 help / color / mirror / code / Atom feed
* [musl] Hexagon DSP support
@ 2020-04-15 13:19 sidneym
  2020-04-15 16:30 ` Rich Felker
  2020-04-15 18:55 ` Fangrui Song
  0 siblings, 2 replies; 43+ messages in thread
From: sidneym @ 2020-04-15 13:19 UTC (permalink / raw)
  To: musl

[-- Attachment #1: Type: text/plain, Size: 1444 bytes --]

Recently work has been done with clang/llvm/lld to extend support for
Qualcomm's Hexagon DSP to a Linux target.  At this point the publicly
available LLVM tools are able to build and run Hexagon programs via QEMU.
I've attached a patch that add the Hexagon bits to musl.  The optimized
routines have been purposely omitted to keep the size and complexity to a
minimum.

The changes are being mirrored here:
https://github.com/quic/musl/tree/hexagon
The QEMU mirror is here: https://github.com/quic/qemu
A description of the assembly language is here:
https://developer.qualcomm.com/download/hexagon/hexagon-v5x-programmers-refe
rence-manual.pdf?referrer=node/6116

The objective is to have enough freely available tools and libraries that
any user could develop code for the DSP.  The C-library is an important part
of that stack and this patch is intended to start a discussion of what would
need to happen in order for Hexagon to be added to the musl sources.

I've tested this using libc-test (git://repo.or.cz/libc-test) and 56 errors
are reported.  The support for Hexagon in QEMU is on-going and while some of
the errors (math) may be attributed to QEMU most also happen on hardware.  A
good chunk fail due to floating point exception status or precision.

Beyond the above testing a large number of packages have been built using
buildroot with our internal llvm tools.  No issues outside of tweaks to
avoid glibc assumptions were seen.

[-- Attachment #2: winmail.dat --]
[-- Type: application/ms-tnef, Size: 50077 bytes --]

^ permalink raw reply	[flat|nested] 43+ messages in thread