[Scummvm-tracker] [ScummVM :: Bugs] #11969: Ultima 8 memset tests fail on big-endian platforms
ScummVM :: Bugs
trac at scummvm.org
Sun Nov 22 20:07:15 UTC 2020
#11969: Ultima 8 memset tests fail on big-endian platforms
-------------------+----------------------------
Reporter: skitt | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: Ultima
Keywords: | Game:
-------------------+----------------------------
On big-endian platforms, test/engines/ultima/ultima8/misc/memset_n.h fails
because the memset_n functions assume they're running on a little-endian
platform. On a big-endian platform, the value written to memory will
depend on the alignment: if the value is aligned, it will be written as
expected (MSB first), but if it's not aligned, it will be written in a
mixture of little- and big-endian. The tests always use the host memory
order.
I can fix this, but I don't know what the correct order is: does the
Ultima 8 engine assume little-endian order, or does it work with the host
order?
To reproduce this, build and run the tests on a big-endian platform. See
https://buildd.debian.org/status/package.php?p=scummvm for some examples
(on 2.2.0, but the tests fail in the same way on the current git head).
--
Ticket URL: <https://bugs.scummvm.org/ticket/11969>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list