The linux-user struct TaskState has an 'aligned(16)' attribute. When
the struct was first added in commit
851e67a1b46f in 2003, there was
a justification in a comment (still present in the source today):
/* NOTE: we force a big alignment so that the stack stored after is
aligned too */
because the final field in the struct was "uint8_t stack[0];"
But that field was removed in commit
48e15fc2d in 2010 which
switched us to allocating the stack and the TaskState separately.
Because we allocate the structure with g_new0() rather than as
a local variable, the attribute made no difference to the alignment
of the structure anyway.
Remove the unnecessary attribute, and the corresponding comment.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <
20220114153732.
3767229-2-peter.maydell@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
target_siginfo_t info;
};
-/*
- * NOTE: we force a big alignment so that the stack stored after is
- * aligned too
- */
typedef struct TaskState {
pid_t ts_tid; /* tid (or pid) of this task */
#ifdef TARGET_ARM
/* This thread's sigaltstack, if it has one */
struct target_sigaltstack sigaltstack_used;
-} __attribute__((aligned(16))) TaskState;
+} TaskState;
abi_long do_brk(abi_ulong new_brk);