Il 23/03/2014 13:32, Marcel Apfelbaum ha scritto:
> That's the endianness of the machine we're compiling QEMU
> for, not the endianness of the machine we're compiling QEMU
> on. If for instance you're on x86_64 cross-compiling for PPC
> then HOST_WORDS_BIGENDIAN is true, but the iasl you use
> in the build process will be running on a little endian machine.
Hi Peter, are you sure about this?
I saw the 'target_bigendian' that does what you described above.
$bigendian is the result of a little C program that checks *host's* endian-ness.
Of course I might have missed something.
Peter is right. There are three systems: build (what you run on), host
(what you compile for), target (always x86-64 for now for acpi-test).
$bigendian and G_BYTE_ORDER check the host system. If you wanted to
test the build system's endianness, Laszlo's suggestion would be fine.
However, Michael is also right if we assume that iasl on bigendian can
assemble, and that the problems are only on disassembling. This is
because in this particular case you'll be running an executable compiled
for the host and you know that host == build.
I think the assumption is sane. As far as I remember, upstream iasl
doesn't compile at all on big-endian machines. You need specific
patches such as those shared by Fedora and Debian's. Unfortunately, the
patches are incomplete, they only fix assembling because that's what was
needed so far to cross-compile SeaBIOS.
Paolo