|
From: Christian S. <sch...@li...> - 2026-08-14 08:03:15
|
On Thursday, 13 August 2026 15:38:38 CEST Christian Schoenebeck wrote: > On Tuesday, 11 August 2026 11:19:03 CEST Pranav P wrote: > > Hi Christian and the LinuxSampler team, > > I have put together a patch to port libgig to big-endian architectures > > (testing happend on s390x). This was based on the bug report in Debian: > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1116657 While the > > existing code works well on little-endian systems (like x86_64), it > > contained several assumptions that caused data corruption, CRC mismatches, > > and crashes (due to unaligned memory access) on big-endian systems. > > Changes > > > made in this patch: > Hi Pranav, > > thanks for pointing this out and for the patch. > > I made a quick test with QEMU s390x user mode emulation and was able to > reproduce these BE issues. > > Give me some time. I am thinking about a cleaner approach to fix these. I have split your fixes up into separate commits. For the following fixes I chose a different, cleaner approach: https://svn.linuxsampler.org/cgi-bin/viewvc.cgi?view=revision&revision=4651 https://svn.linuxsampler.org/cgi-bin/viewvc.cgi?view=revision&revision=4652 For the following fix I picked your solution, just brought back comments that your dropped: https://svn.linuxsampler.org/cgi-bin/viewvc.cgi?view=revision&revision=4653 All existing tests already pass for s390x here for me. However there is still one fix in your patch that I have not addressed in SVN yet: your BE changes for calling __calculateCRC(). How did you hit this issue, given that all tests already succeed for me with current SVN r4653? /Christian |