aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2018-01-22 11:13:31 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2018-01-24 11:53:30 +0000
commitc739e191d0697e29110d4eb446e537ff336324c6 (patch)
treed455930f0231a9ab4af6a93e4ed927c0c97a8af4
parent394b5bac88ef678dcacadbc1f6b393a55308f616 (diff)
downloadglibc-c739e191d0697e29110d4eb446e537ff336324c6.tar
glibc-c739e191d0697e29110d4eb446e537ff336324c6.tar.gz
glibc-c739e191d0697e29110d4eb446e537ff336324c6.tar.bz2
glibc-c739e191d0697e29110d4eb446e537ff336324c6.zip
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.
-rw-r--r--ChangeLog8
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h6
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym2
3 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 53a88a13d6..0f5f959547 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2018-01-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ [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.
+
2018-01-24 Joseph Myers <joseph@codesourcery.com>
* scripts/build-many-glibcs.py (Context.add_all_configs): Add
diff --git a/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h b/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h
index fe72fdd265..f1b3ab59e2 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 479bdda5c6..ab3930c173 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)