[Ltrace-devel] Endianness

Petr Machata pmachata at redhat.com
Fri Sep 2 20:30:51 UTC 2011


Hi there,

the parameters.exp test fails on s390.  The reason is that generic
umovelog assumes little endian, and s390 is big endian machine.  There
are more problems with s390 ABI right now, I'll address them in due
course, this message is about the endian support.

There's no reason that every big endian back end should have its own
arch_umovelong with essentially the same bits (ptrace, and shift if we
are interested in 32-bit quantity on 64-bit machine).  Instead I
adjusted the general case to handle this, removed arch_umovelong from
PPC back end, and added a line to every arch.h that declares the
endianness of the machine.

The strange case is MIPS--we support MIPSEL by symlinking it to MIPS.
That's broken already, and there's more that may not be strictly broken,
but is unelegant in any case--like that bunch of platform-specific
ifdefs in the front end code.  I'd like to get rid of that long-term.
But I don't have access to a MIPS machine (well I do, but that's IRIX)
to fix it all, so I just let it sit there being broken for the time
being.

It's on pmachata/endian.

PM



More information about the Ltrace-devel mailing list