Since alignment of x32 siginfo_t is 8 bytes, not 4 bytes, use u64 in
sanitizer_siginfo_pad to align x32 sanitizer_siginfo to 8 bytes.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Thanks for the patch. If I read sysdeps/unix/sysv/linux/bits/types/siginfo_t.h and sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h correct, the x32 ABI does use 8-byte alignment for siginfo_t.
compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h | ||
---|---|---|
587 | If x32 is the canonical spelling |
Comment Actions
D142117 changed(fixed?) the alignment to 4 for x86-32. Any idea why COMPILER_CHECK(alignof(siginfo_t) == alignof(__sanitizer_siginfo)); did not fail for x86-32?
compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h | ||
---|---|---|
587 |
Will update. |
If x32 is the canonical spelling