This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug nptl/22563] __cancel_jmp_buf in __pthread_unwind_buf_t is incompatible with setjmp/longmp
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Thu, 07 Dec 2017 03:25:36 +0000
- Subject: [Bug nptl/22563] __cancel_jmp_buf in __pthread_unwind_buf_t is incompatible with setjmp/longmp
- Auto-submitted: auto-generated
- References: <bug-22563-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=22563
--- Comment #3 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, hjl/cet/setjmp has been created
at 2036cc2c4c5d3a374bd142adab40aa94042f1d44 (commit)
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2036cc2c4c5d3a374bd142adab40aa94042f1d44
commit 2036cc2c4c5d3a374bd142adab40aa94042f1d44
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Dec 6 15:00:46 2017 -0800
x86: Update __cancel_jmp_buf to match struct __jmp_buf_tag [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.
Since the cancel_jmp_buf array is passed to setjmp and longjmp by
casting it to pointer to struct __jmp_buf_tag, it should be as large
as struct __jmp_buf_tag. This patch adds pthread.h and jmpbuf-unwind.h
for Linux/x86 to match __cancel_jmp_buf with struct __jmp_buf_tag.
To support the existing binaries, we may have to implement the exported
setjmp/lonjmp in libc.so as IFUNC functions.
[BZ #22563]
* sysdeps/unix/sysv/linux/x86/jmpbuf-unwind.h: New file.
* sysdeps/unix/sysv/linux/x86/pthread.h: Likewise.
-----------------------------------------------------------------------
--
You are receiving this mail because:
You are on the CC list for the bug.