summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-07-20 09:24:33 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-07-20 09:31:30 -0700
commit341681a4fe9eb585068b7a4f57ea52fa12e97a94 (patch)
tree2dcd2d54fce6a067f1ff26ba2d1c8f0dfcd78ecc
parentd87630edc49200e7892b56a6ceb116ffb8e17c38 (diff)
downloadglibc-hjl/pr18696.tar.gz
Add si_addr_bnd to _sigfault in x86 struct siginfohjl/pr18696
X86 struct siginfo in kernel 3.19 has been changed by commit ee1b58d36aa1b5a79eaba11f5c3633c88231da83 Author: Qiaowei Ren <qiaowei.ren@intel.com> Date: Fri Nov 14 07:18:19 2014 -0800 mpx: Extend siginfo structure to include bound violation information This patch adds new fields about bound violation into siginfo structure. si_lower and si_upper are respectively lower bound and upper bound when bound violation is caused. This patch updates x86 struct siginfo to enable GDB with MPX support. [BZ #18696] * sysdeps/unix/sysv/linux/x86/bits/siginfo.h (_sigfault): Add si_addr_bnd. (si_lower): New. (si_upper): Likewise.
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/siginfo.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/x86/bits/siginfo.h b/sysdeps/unix/sysv/linux/x86/bits/siginfo.h
index 9431869d07..3151bf3c5a 100644
--- a/sysdeps/unix/sysv/linux/x86/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/x86/bits/siginfo.h
@@ -108,6 +108,11 @@ typedef struct
{
void *si_addr; /* Faulting insn/memory ref. */
short int si_addr_lsb; /* Valid LSB of the reported address. */
+ struct
+ {
+ void *_lower;
+ void *_upper;
+ } si_addr_bnd;
} _sigfault;
/* SIGPOLL. */
@@ -141,6 +146,8 @@ typedef struct
# define si_ptr _sifields._rt.si_sigval.sival_ptr
# define si_addr _sifields._sigfault.si_addr
# define si_addr_lsb _sifields._sigfault.si_addr_lsb
+# define si_lower _sifields._sigfault.si_addr_bnd._lower
+# define si_upper _sifields._sigfault.si_addr_bnd._upper
# define si_band _sifields._sigpoll.si_band
# define si_fd _sifields._sigpoll.si_fd
# define si_call_addr _sifields._sigsys._call_addr