diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2018-01-22 11:13:31 +0000 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2018-01-24 11:53:30 +0000 |
commit | c739e191d0697e29110d4eb446e537ff336324c6 (patch) | |
tree | d455930f0231a9ab4af6a93e4ed927c0c97a8af4 /sysdeps/unix | |
parent | 394b5bac88ef678dcacadbc1f6b393a55308f616 (diff) | |
download | glibc-c739e191d0697e29110d4eb446e537ff336324c6.zip glibc-c739e191d0697e29110d4eb446e537ff336324c6.tar.gz glibc-c739e191d0697e29110d4eb446e537ff336324c6.tar.bz2 |
aarch64: Revert the change of the __reserved member of mcontext_t
The uc_mcontext.__reserved member of ucontext_t is a user visible API,
that should not be changed, because this is the only way to access cpu
states of various extensions of linux asm/sigcontext.h, it does not
violate namespace rules either, so revert this part of the commit
commit 4fa9b3bfe6759c82beb4b043a54a3598ca467289
Commit: Joseph Myers <joseph@codesourcery.com>
Fix mcontext_t sigcontext namespace (bug 21457).
(In principle the user can type cast &uc_mcontext to struct sigcontext*
to use the linux sigcontext fields, but that's not the existing practice
since mcontext_t used to be a typedef of struct sigcontext.)
[BZ #22742]
* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__glibc_reserved1):
Rename to __reserved and add comment.
* sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (__glibc_reserved1):
Rename to __reserved.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h b/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h index fe72fdd..f1b3ab5 100644 --- a/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h @@ -56,7 +56,11 @@ typedef struct unsigned long long int __ctx(sp); unsigned long long int __ctx(pc); unsigned long long int __ctx(pstate); - unsigned char __glibc_reserved1[4096] __attribute__ ((__aligned__ (16))); + /* This field contains extension records for additional processor + state such as the FP/SIMD state. It has to match the definition + of the corresponding field in the sigcontext struct, see the + arch/arm64/include/uapi/asm/sigcontext.h linux header for details. */ + unsigned char __reserved[4096] __attribute__ ((__aligned__ (16))); } mcontext_t; /* Userlevel context. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym b/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym index 479bdda..ab3930c 100644 --- a/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym +++ b/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym @@ -38,7 +38,7 @@ oX0 mcontext (regs) oSP mcontext (sp) oPC mcontext (pc) oPSTATE mcontext (pstate) -oEXTENSION mcontext (__glibc_reserved1) +oEXTENSION mcontext (__reserved) #define fpsimd_context(member) offsetof (struct fpsimd_context, member) |