Skip to content

linux-user: misaligned address for type 'struct linux_dirent64'

As of commit af531756, QEMU built using --cc=clang --extra-cflags='-fsanitize=undefined -fno-sanitize-recover=undefined':

$ make run-tcg-tests-sh4-linux-user
  RUN     TCG tests for sh4-linux-user
  TEST    test-mmap (default) on sh4
  TEST    testthread on sh4
  TEST    linux-test on sh4
  TEST    basic gdbstub support
  TEST    threadcount on sh4
linux-user/syscall.c:10373:34: runtime error: member access within misaligned address 0x00000048af3c for type 'struct linux_dirent64', which requires 8 byte alignment
0x00000048af3c: note: pointer points here
  00 00 00 00 d6 c9 03 00  00 00 00 00 01 00 00 00  00 00 00 00 18 00 04 2e  00 00 00 00 01 00 00 00
              ^ 
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior linux-user/syscall.c:10373:34 in 
make[2]: *** [../Makefile.target:158: run-linux-test] Error 1
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information