diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-12-19 02:45:16 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-12-19 02:45:34 -0800 |
commit | cba595c350e52194e10c0006732e1991e3d0803b (patch) | |
tree | 833da57e0eae667c21ce447aa9502a64e3c05527 /ChangeLog | |
parent | f81ddabffd76ac9dd600b02adbf3e1dac4bb10ec (diff) | |
download | glibc-cba595c350e52194e10c0006732e1991e3d0803b.tar glibc-cba595c350e52194e10c0006732e1991e3d0803b.tar.gz glibc-cba595c350e52194e10c0006732e1991e3d0803b.tar.bz2 glibc-cba595c350e52194e10c0006732e1991e3d0803b.zip |
x86: Add feature_1 to tcbhead_t [BZ #22563]
On x86, padding in struct __jmp_buf_tag is used for shadow stack pointer
to support Shadow Stack in Intel Control-flow Enforcemen Technology.
cancel_jmp_buf has been updated to include saved_mask so that it is as
large as struct __jmp_buf_tag. We must suport the old cancel_jmp_buf
in existing binaries. Since symbol versioning doesn't work on
cancel_jmp_buf, feature_1 is added to tcbhead_t so that setjmp and
longjmp can check if shadow stack is enabled. NB: Shadow stack is
enabled only if all modules are shadow stack enabled.
[BZ #22563]
* sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New.
* sysdeps/i386/nptl/tls.h (tcbhead_t): Add feature_1.
* sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New.
* sysdeps/x86_64/nptl/tls.h (tcbhead_t): Rename __glibc_unused1
to feature_1.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -1,6 +1,15 @@ 2017-12-19 H.J. Lu <hongjiu.lu@intel.com> [BZ #22563] + * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. + * sysdeps/i386/nptl/tls.h (tcbhead_t): Add feature_1. + * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New. + * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Rename __glibc_unused1 + to feature_1. + +2017-12-19 H.J. Lu <hongjiu.lu@intel.com> + + [BZ #22563] * bits/types/__cancel_jmp_buf_tag.h: New file. * sysdeps/unix/sysv/linux/x86/bits/types/__cancel_jmp_buf_tag.h * sysdeps/unix/sysv/linux/x86/pthreaddef.h: Likewise. |