From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: (qmail 26303 invoked from network); 15 Apr 2020 17:50:40 -0000 Received-SPF: pass (mother.openwall.net: domain of lists.openwall.com designates 195.42.179.200 as permitted sender) receiver=inbox.vuxu.org; client-ip=195.42.179.200 envelope-from= Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with UTF8ESMTPZ; 15 Apr 2020 17:50:40 -0000 Received: (qmail 8186 invoked by uid 550); 15 Apr 2020 17:50:37 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 8168 invoked from network); 15 Apr 2020 17:50:37 -0000 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1586973037; h=Content-Transfer-Encoding: Content-Type: MIME-Version: Message-ID: Date: Subject: In-Reply-To: References: To: From: Sender; bh=6/DTfcDi8tAy2E5L5o03pqetbXEBPJjmdGpp659bF/c=; b=Q6LdW/vTSGwU9D1haZiWno4XVkJnsUoiHRo3MaeQi8y5nUoZ/0mMq/0DAAcT5Rb2J5LyYCcf yooAjqKQc5hCdgemTx15aOQkxo2DrA/bM9gJzJBg0zHE6g81vUkSn07octcHfujDOVe8bYK1 dYACJ6F94hIhToCXAdUAuaqMCcg= X-Mailgun-Sending-Ip: 104.130.122.27 X-Mailgun-Sid: WyI1MGQzMyIsICJtdXNsQGxpc3RzLm9wZW53YWxsLmNvbSIsICJiZTllNGEiXQ== Sender: sidneym=codeaurora.org@mg.codeaurora.org DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org BB8CBC433CB Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=none smtp.mailfrom=sidneym@codeaurora.org From: To: References: <000a01d61328$7f2614b0$7d723e10$@codeaurora.org> <20200415163015.GG11469@brightrain.aerifal.cx> In-Reply-To: <20200415163015.GG11469@brightrain.aerifal.cx> Date: Wed, 15 Apr 2020 12:50:21 -0500 Message-ID: <029101d6134e$56d4ece0$047ec6a0$@codeaurora.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQHkV58ScAdBNwj630CIo9BoWbE/LAG/C8uTqE/rlvA= Content-Language: en-us Subject: RE: [musl] Hexagon DSP support > -----Original Message----- > From: Rich Felker > Sent: Wednesday, April 15, 2020 11:30 AM > To: sidneym@codeaurora.org > Cc: musl@lists.openwall.com > Subject: Re: [musl] Hexagon DSP support > > On Wed, Apr 15, 2020 at 08:19:29AM -0500, sidneym@codeaurora.org wrote: > > 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- > programmer > > s-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. > > Thanks for reaching out upstream and sharing this. I did a quick glance over > the port (mostly just arch/hexagon dir, not source dirs in any detail) and what > I've read so far looks good. > > One question I have: alltypes.h.in defines _REDIR_TIME64. Is this because > there's an existing unofficial ABI in deployments that you don't want to > break? If so that's probably okay, but if not it's not necessary or wanted for > new 32-bit archs to define this; if it's not defined, the unadorned symbol > names will just be 64-bit versions, just like on 64-bit archs. > That was a copy/paste error and was responsible for a few libc-testsuite failures: ld.lld: error: undefined symbol: __dlsym_time64 I will correct that and update the source. > > 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. > > Can you send the output report to the list or post it somewhere publicly > accessible? I can probably give you a quick rundown on whether any of the > failures are unexpected (on qemu or real hardware) and it will suggest which > parts of the source I (and others in the > community) should focus on reviewing. This is the list, the context associated with some of the failures can be bulky so I hope the summary is ok. Let me know which failures are most critical and I will try to fix those first. 51 failures after removing the TIME64 define FAIL src/api/main.exe [status 1] FAIL src/functional/dlopen.exe [status 1] FAIL src/functional/ipc_msg-static.exe [status 1] FAIL src/functional/ipc_msg.exe [status 1] FAIL src/functional/ipc_sem-static.exe [status 1] FAIL src/functional/ipc_sem.exe [status 1] FAIL src/functional/ipc_shm-static.exe [status 1] FAIL src/functional/ipc_shm.exe [status 1] FAIL src/functional/pthread_mutex-static.exe [status 1] FAIL src/functional/pthread_mutex.exe [status 1] FAIL src/functional/pthread_mutex_pi-static.exe [timed out] FAIL src/functional/pthread_mutex_pi.exe [signal Segmentation fault] FAIL src/functional/pthread_robust-static.exe [timed out] FAIL src/functional/pthread_robust.exe [timed out] FAIL src/functional/sem_init-static.exe [status 1] FAIL src/functional/sem_init.exe [status 1] FAIL src/functional/strptime-static.exe [status 1] FAIL src/functional/strptime.exe [status 1] FAIL src/functional/utime-static.exe [status 1] FAIL src/functional/utime.exe [status 1] FAIL src/math/acoshl.exe [status 1] FAIL src/math/asinhl.exe [status 1] FAIL src/math/erfcl.exe [status 1] FAIL src/math/exp2l.exe [status 1] FAIL src/math/fmal.exe [status 1] FAIL src/math/ilogb.exe [status 1] FAIL src/math/ilogbf.exe [status 1] FAIL src/math/ilogbl.exe [status 1] FAIL src/math/lgammal.exe [status 1] FAIL src/math/powf.exe [status 1] FAIL src/math/powl.exe [status 1] FAIL src/math/sqrt.exe [status 1] FAIL src/math/sqrtf.exe [status 1] FAIL src/math/sqrtl.exe [status 1] FAIL src/math/tgamma.exe [status 1] FAIL src/math/tgammaf.exe [status 1] FAIL src/math/tgammal.exe [status 1] FAIL src/math/y0.exe [status 1] FAIL src/math/y0f.exe [status 1] FAIL src/math/y1.exe [status 1] FAIL src/math/y1f.exe [status 1] FAIL src/math/yn.exe [status 1] FAIL src/math/ynf.exe [status 1] FAIL src/regression/malloc-brk-fail-static.exe [status 1] FAIL src/regression/malloc-brk-fail.exe [timed out] FAIL src/regression/pthread-robust-detach-static.exe [status 1] FAIL src/regression/pthread-robust-detach.exe [status 1] FAIL src/regression/pthread_cond-smasher-static.exe [status 1] FAIL src/regression/pthread_cond-smasher.exe [status 1] FAIL src/regression/pthread_cond_wait-cancel_ignored-static.exe [status 1] FAIL src/regression/pthread_once-deadlock-static.exe [status 1] > > Rich