Re: reliable reproducer, was Re: core dump analysis
Michael Schmitz <[email protected]>
| Newsgroups | gmane.linux.ports.m68k,gmane.linux.debian.ports.68k |
|---|---|
| Message-ID | <[email protected]> |
Hi Andreas,
Am 22.04.2023 um 20:07 schrieb Andreas Schwab:
> On Apr 22 2023, Michael Schmitz wrote:
>
>> Took a little while to figure out that the ucontext format changed in the
>> decade or two since my userland's libc headers were generated.
>
> In which way did it change?
This is the definition from the kernel's
include/uapi/asm-generic/ucontext.h:
struct ucontext {
unsigned long uc_flags;
struct ucontext *uc_link;
stack_t uc_stack;
struct sigcontext uc_mcontext;
sigset_t uc_sigmask; /* mask last for extensibility */
};
And this is /usr/include/sys/ucontext.h:
/* Userlevel context. */
typedef struct ucontext
{
unsigned long int uc_flags;
struct ucontext *uc_link;
__sigset_t uc_sigmask;
stack_t uc_stack;
mcontext_t uc_mcontext;
long int uc_filler[174];
} ucontext_t;
uc_sigmask appears before uc_stack and uc_mcontext.
I'm assuming libc just passes on what the kernel set, without reordering?
Cheers,
Michael