Public bug reported: Try the following experiment: pick a small binary file on your system where the data and locations are unequivocally known. I recommend something like /sys/firmware/acpi/tables/BOOT. Since only root can read these files, you'll need to prefix each od(1) command with sudo or do "sudo sh" to get a root command prompt.
Execute the following commands: 1) od -t xz /sys/firmware/acpi/tables/BOOT 2) od -t x2z /sys/firmware/acpi/tables/BOOT 3) od -t x1z /sys/firmware/acpi/tables/BOOT If you're running on a Little Endian (x86) machine you'll note that what gets output in the left field is actually what gets loaded into the CPU's registers & not the order of data in the file. In example 1, a 32-bit integer is loaded while a 16-bit integer is loaded in example 2 and a single byte is loaded into the register in example 3. Note also that the right hand (ASCII strings) field remains constant in all 3 examples. I've never seen this issue on a Big Endian machine, but I'm surprised that it still occurs this late in time on Little Endian machines. xxx@yyyyyy:~$ lsb_release -rd Description: Ubuntu 10.04.3 LTS Release: 10.04 xxx@yyyyyy:~$ apt-cache policy coreutils coreutils: Installed: 7.4-2ubuntu3 Candidate: 7.4-2ubuntu3 Version table: *** 7.4-2ubuntu3 0 500 http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages 100 /var/lib/dpkg/status 7.4-2ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ lucid/main Packages ** Affects: coreutils (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/907180 Title: od(1) doesn't compensate for Endianness of CPU To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/907180/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs