--- /dev/null
+Index: uClibc/libc/sysdeps/linux/common/bits/siginfo.h
+===================================================================
+--- uClibc.orig/libc/sysdeps/linux/common/bits/siginfo.h
++++ uClibc/libc/sysdeps/linux/common/bits/siginfo.h
+@@ -104,6 +104,14 @@ typedef struct siginfo
+ long int si_band; /* Band event for SIGPOLL. */
+ int si_fd;
+ } _sigpoll;
++
++ /* SIGSYS. */
++ struct
++ {
++ void *_call_addr; /* Calling user insn. */
++ int _syscall; /* Triggering system call number. */
++ unsigned int _arch; /* AUDIT_ARCH_* of syscall. */
++ } _sigsys;
+ } _sifields;
+ } siginfo_t;
+
+@@ -122,6 +130,9 @@ typedef struct siginfo
+ # define si_addr _sifields._sigfault.si_addr
+ # define si_band _sifields._sigpoll.si_band
+ # define si_fd _sifields._sigpoll.si_fd
++# define si_call_addr _sifields._sigsys._call_addr
++# define si_syscall _sifields._sigsys._syscall
++# define si_arch _sifields._sigsys._arch
+
+
+ /* Values for `si_code'. Positive values are reserved for kernel-generated
+Index: uClibc/libc/sysdeps/linux/alpha/bits/siginfo.h
+===================================================================
+--- uClibc.orig/libc/sysdeps/linux/alpha/bits/siginfo.h
++++ uClibc/libc/sysdeps/linux/alpha/bits/siginfo.h
+@@ -98,6 +98,14 @@ typedef struct siginfo
+ int si_band; /* Band event for SIGPOLL. */
+ int si_fd;
+ } _sigpoll;
++
++ /* SIGSYS. */
++ struct
++ {
++ void *_call_addr; /* Calling user insn. */
++ int _syscall; /* Triggering system call number. */
++ unsigned int _arch; /* AUDIT_ARCH_* of syscall. */
++ } _sigsys;
+ } _sifields;
+ } siginfo_t;
+
+@@ -116,6 +124,9 @@ typedef struct siginfo
+ # define si_addr _sifields._sigfault.si_addr
+ # define si_band _sifields._sigpoll.si_band
+ # define si_fd _sifields._sigpoll.si_fd
++# define si_call_addr _sifields._sigsys._call_addr
++# define si_syscall _sifields._sigsys._syscall
++# define si_arch _sifields._sigsys._arch
+
+
+ /* Values for `si_code'. Positive values are reserved for kernel-generated
+Index: uClibc/libc/sysdeps/linux/ia64/bits/siginfo.h
+===================================================================
+--- uClibc.orig/libc/sysdeps/linux/ia64/bits/siginfo.h
++++ uClibc/libc/sysdeps/linux/ia64/bits/siginfo.h
+@@ -103,6 +103,14 @@ typedef struct siginfo
+ long int si_band; /* Band event for SIGPOLL. */
+ int si_fd;
+ } _sigpoll;
++
++ /* SIGSYS. */
++ struct
++ {
++ void *_call_addr; /* Calling user insn. */
++ int _syscall; /* Triggering system call number. */
++ unsigned int _arch; /* AUDIT_ARCH_* of syscall. */
++ } _sigsys;
+ } _sifields;
+ } siginfo_t;
+
+@@ -121,6 +129,9 @@ typedef struct siginfo
+ # define si_addr _sifields._sigfault.si_addr
+ # define si_band _sifields._sigpoll.si_band
+ # define si_fd _sifields._sigpoll.si_fd
++# define si_call_addr _sifields._sigsys._call_addr
++# define si_syscall _sifields._sigsys._syscall
++# define si_arch _sifields._sigsys._arch
+
+ # ifdef __USE_GNU
+ # define si_imm _sifields._sigfault._si_imm
+Index: uClibc/libc/sysdeps/linux/mips/bits/siginfo.h
+===================================================================
+--- uClibc.orig/libc/sysdeps/linux/mips/bits/siginfo.h
++++ uClibc/libc/sysdeps/linux/mips/bits/siginfo.h
+@@ -107,6 +107,14 @@ typedef struct siginfo
+ __uid_t si_uid; /* Real user ID of sending process. */
+ sigval_t si_sigval; /* Signal value. */
+ } _rt;
++
++ /* SIGSYS. */
++ struct
++ {
++ void *_call_addr; /* Calling user insn. */
++ int _syscall; /* Triggering system call number. */
++ unsigned int _arch; /* AUDIT_ARCH_* of syscall. */
++ } _sigsys;
+ } _sifields;
+ } siginfo_t;
+
+@@ -123,6 +131,9 @@ typedef struct siginfo
+ # define si_addr _sifields._sigfault.si_addr
+ # define si_band _sifields._sigpoll.si_band
+ # define si_fd _sifields._sigpoll.si_fd
++# define si_call_addr _sifields._sigsys._call_addr
++# define si_syscall _sifields._sigsys._syscall
++# define si_arch _sifields._sigsys._arch
+
+
+ /* Values for `si_code'. Positive values are reserved for kernel-generated
+Index: uClibc/libc/sysdeps/linux/sparc/bits/siginfo.h
+===================================================================
+--- uClibc.orig/libc/sysdeps/linux/sparc/bits/siginfo.h
++++ uClibc/libc/sysdeps/linux/sparc/bits/siginfo.h
+@@ -105,6 +105,14 @@ typedef struct siginfo
+ int si_band; /* Band event for SIGPOLL. */
+ int si_fd;
+ } _sigpoll;
++
++ /* SIGSYS. */
++ struct
++ {
++ void *_call_addr; /* Calling user insn. */
++ int _syscall; /* Triggering system call number. */
++ unsigned int _arch; /* AUDIT_ARCH_* of syscall. */
++ } _sigsys;
+ } _sifields;
+ } siginfo_t;
+
+@@ -124,6 +132,9 @@ typedef struct siginfo
+ # define si_trapno _sifields._sigfault.si_trapno
+ # define si_band _sifields._sigpoll.si_band
+ # define si_fd _sifields._sigpoll.si_fd
++# define si_call_addr _sifields._sigsys._call_addr
++# define si_syscall _sifields._sigsys._syscall
++# define si_arch _sifields._sigsys._arch
+
+
+ /* Values for `si_code'. Positive values are reserved for kernel-generated