about summary refs log tree commit diff
path: root/include/sys/ptrace.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2020-01-01 11:10:07 -0500
committerRich Felker <dalias@aerifal.cx>2020-01-01 11:16:56 -0500
commitac89e2ccf5b85137279f6d146e8a6c43f624c83c (patch)
treee8ddc8113078acae837e2b7bb0ecb8dbe1343d0e /include/sys/ptrace.h
parentd6bbea2acf3e69afe0ac87105d6e443a19c43d14 (diff)
downloadmusl-ac89e2ccf5b85137279f6d146e8a6c43f624c83c.tar.gz
musl-ac89e2ccf5b85137279f6d146e8a6c43f624c83c.tar.xz
musl-ac89e2ccf5b85137279f6d146e8a6c43f624c83c.zip
remove gratuitous aligned attribute from __ptrace_syscall_info
this change was discussed on the mailing list thread for the linux
uapi v5.3 patches, and submitted as a v2 patch, but overlooked when I
applied the patches much later.

revert commit f291c09ec90e2514c954020e9b9bdb30e2adfc7f and apply the
v2 as submitted; the net change is just padding.

notes by Szabolcs Nagy follow:

compared to the linux uapi (and glibc) a padding is used instead of
aligned attribute for keeping the layout the same across targets, this
means the alignment of the struct may be different on some targets
(e.g. m68k where uint64_t is 2 byte aligned) but that should not affect
syscalls and this way the abi does not depend on nonstandard extensions.
Diffstat (limited to 'include/sys/ptrace.h')
-rw-r--r--include/sys/ptrace.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/sys/ptrace.h b/include/sys/ptrace.h
index 2a868093..5d62a985 100644
--- a/include/sys/ptrace.h
+++ b/include/sys/ptrace.h
@@ -109,7 +109,8 @@ struct __ptrace_seccomp_metadata {
 
 struct __ptrace_syscall_info {
 	uint8_t op;
-	uint32_t arch __attribute__((__aligned__(4)));
+	uint8_t __pad[3];
+	uint32_t arch;
 	uint64_t instruction_pointer;
 	uint64_t stack_pointer;
 	union {