Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Thu, 1 Feb 2018 10:51:06 +0100
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Cc: William Pitcock <nenolod@...eferenced.org>
Subject: Re: [PATCH] aarch64: signal: fix type definition for
 ucontext_t.uc_link

* William Pitcock <nenolod@...eferenced.org> [2018-01-31 23:29:24 +0000]:
> When compiling the test program for libucontext, I observed a compiler warning
> concerning assignment to the wrong type (`struct __ucontext` vs `struct ucontext`).
> Accordingly, ucontext_t.uc_link should be the same structure as ucontext_t itself.
> ---
>  arch/aarch64/bits/signal.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/aarch64/bits/signal.h b/arch/aarch64/bits/signal.h
> index 5eb3d91f..1c67313d 100644
> --- a/arch/aarch64/bits/signal.h
> +++ b/arch/aarch64/bits/signal.h
> @@ -59,7 +59,7 @@ struct sigaltstack {
>  
>  typedef struct __ucontext {
>  	unsigned long uc_flags;
> -	struct ucontext *uc_link;
> +	struct __ucontext *uc_link;

yes this is a bug (it was introduced because originally
the glibc name was copied for abi compat, then it was
fixed to be namespace clean, but the field was not updated,
meanwhile glibc broke its c++ abi to fix the namespace issue
differently so we will have no abi compat..).

thanks

>  	stack_t uc_stack;
>  	sigset_t uc_sigmask;
>  	mcontext_t uc_mcontext;
> -- 
> 2.16.1

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ