This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: glibc 2.27: less than two weeks till release


On 21/01/18 22:01, Romain Naour wrote:
> 2) aarch64 (gcc):
> 
> libsanitizer/sanitizer_common/sanitizer_linux.cc:1265:35: error: ‘struct
> mcontext_t’ has no member named ‘__reserved’; did you mean ‘__glibc_reserved1’?
>    u8 *aux = ucontext->uc_mcontext.__reserved;
>                                    ^~~~~~~~~~
>                                    __glibc_reserved1
> 
> Build issue introduced by:
> https://sourceware.org/git/?p=glibc.git;a=commit;h=4fa9b3bfe6759c82beb4b043a54a3598ca467289
> 
> 	* sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (oEXTENSION): Use
> 	__glibc_reserved1 instead of __reserved.
> 
> Even with the current gcc master, we can't build an aarch64 toolchain with the
> upcoming glibc 2.27 since ucontext->uc_mcontext.__reserved is still used.

indeed that commit seems faulty:

on aarch64 a list of cpu states (e.g fp registers) can only be
accessed via parsing the __reserved member (there are no macros
or functions defined for this, the user has to manually cast).

and __reserved does not violate the namespace rules, so i don't
think we need macro hackery to use different name based on
_GNU_SOURCE.

so i think this api should not be changed, i'll revert this part
of that patch.

thanks for catching it.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]