zyantific / zycore-c

Internal library providing platform independent types, macros and a fallback for environments without LibC.
MIT License
82 stars 49 forks source link

Support running on big-endian architectures #59

Open Tachi107 opened 1 year ago

Tachi107 commented 1 year ago

Hi, it seems that the VectorTest.Destructor test is failing on Debian's powerpc and powerpc64 architectures :/

I have not looked into the issue, but I guess that this might be related to ppc's big endianness.

You can find the logs for both here:

More generally, the build logs for all architectures are here: https://buildd.debian.org/status/logs.php?pkg=zycore-c

athre0z commented 1 year ago

Yeah, big-endian is currently completely unsupported and this would require fixes all over the code-base. We'll have to introduce some endianess conversion helpers at some point and then go through the whole code-base. We usually left TODO comments where endianess is relevant, but there are likely also cases where such comments are missing. Given how rare BE has become in practice, I'm afraid this is not a high priority issue for us.

Tachi107 commented 1 year ago

Oh ok, thanks for the fast reply! powerpc isn't an "official" Debian architecture, so this isn't really a big deal. Feel free to close this, or to keep it open as a kind of todo item :)

Edit: actually, one of Debian's official architectures is big endian, s390x. In any case, you can monitor Zycore's Debian status on https://buildd.debian.org/status/package.php?p=zycore-c (yeah, we have a lot of ports :)

athre0z commented 1 year ago

Cool. Let's leave this open as a low priority TODO item and as a reference for other people who are wondering about the BE support status. I adjusted the title to improve discoverability.