[linux] 01/01: [mips*] Fix ABI change in 4.6.2
debian-kernel at lists.debian.org
debian-kernel at lists.debian.org
Thu Jun 16 21:45:54 UTC 2016
This is an automated email from the git hooks/post-receive script.
benh pushed a commit to branch sid
in repository linux.
commit 966488336fbad5400887c5416012f476dddf810e
Author: Ben Hutchings <ben at decadent.org.uk>
Date: Thu Jun 16 12:37:35 2016 +0100
[mips*] Fix ABI change in 4.6.2
---
debian/changelog | 6 ++
.../debian/mips-fix-abi-change-in-4.6.2.patch | 92 ++++++++++++++++++++++
debian/patches/series | 3 +
3 files changed, 101 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index cff35f6..671f277 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+linux (4.6.2-2) UNRELEASED; urgency=medium
+
+ * [mips*] Fix ABI change in 4.6.2
+
+ -- Ben Hutchings <ben at decadent.org.uk> Thu, 16 Jun 2016 12:37:27 +0100
+
linux (4.6.2-1) unstable; urgency=medium
* Team upload.
diff --git a/debian/patches/debian/mips-fix-abi-change-in-4.6.2.patch b/debian/patches/debian/mips-fix-abi-change-in-4.6.2.patch
new file mode 100644
index 0000000..d9664d2
--- /dev/null
+++ b/debian/patches/debian/mips-fix-abi-change-in-4.6.2.patch
@@ -0,0 +1,92 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Thu, 16 Jun 2016 11:32:49 +0100
+Subject: MIPS: Fix ABI change in 4.6.2
+Forwarded: not-needed
+
+genksyms only looks at the (preprocessed) token stream of a struct
+definition, not the real types, so commit 5daebc477da4 ("MIPS: Fix
+siginfo.h to use strict posix types") results in a different hash
+even though it doesn't change types.
+
+--- a/arch/mips/include/uapi/asm/siginfo.h
++++ b/arch/mips/include/uapi/asm/siginfo.h
+@@ -30,6 +30,8 @@
+
+ #include <asm-generic/siginfo.h>
+
++#ifndef __GENKSYMS__
++
+ /* We can't use generic siginfo_t, because our si_code and si_errno are swapped */
+ typedef struct siginfo {
+ int si_signo;
+@@ -112,6 +114,70 @@ typedef struct siginfo {
+ } _sifields;
+ } siginfo_t;
+
++#else /* __GENKSYMS__ */
++
++/* Definition using the 'wrong' type names, to keep genksyms happy */
++typedef struct siginfo {
++ int si_signo;
++ int si_code;
++ int si_errno;
++ int __pad0[SI_MAX_SIZE / sizeof(int) - SI_PAD_SIZE - 3];
++ union {
++ int _pad[SI_PAD_SIZE];
++ struct {
++ pid_t _pid;
++ __ARCH_SI_UID_T _uid;
++ } _kill;
++ struct {
++ timer_t _tid;
++ int _overrun;
++ char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)];
++ sigval_t _sigval;
++ int _sys_private;
++ } _timer;
++ struct {
++ pid_t _pid;
++ __ARCH_SI_UID_T _uid;
++ sigval_t _sigval;
++ } _rt;
++ struct {
++ pid_t _pid;
++ __ARCH_SI_UID_T _uid;
++ int _status;
++ clock_t _utime;
++ clock_t _stime;
++ } _sigchld;
++ struct {
++ pid_t _pid;
++ clock_t _utime;
++ int _status;
++ clock_t _stime;
++ } _irix_sigchld;
++ struct {
++ void __user *_addr;
++ short _addr_lsb;
++ union {
++ struct {
++ void __user *_lower;
++ void __user *_upper;
++ } _addr_bnd;
++ __u32 _pkey;
++ };
++ } _sigfault;
++ struct {
++ __ARCH_SI_BAND_T _band;
++ int _fd;
++ } _sigpoll;
++ struct {
++ void __user *_call_addr;
++ int _syscall;
++ unsigned int _arch;
++ } _sigsys;
++ } _sifields;
++} siginfo_t;
++
++#endif /* __GENKSYMS__ */
++
+ /*
+ * si_code values
+ * Again these have been chosen to be IRIX compatible.
diff --git a/debian/patches/series b/debian/patches/series
index 5886d42..453515f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -113,6 +113,9 @@ bugfix/all/sched-panic-on-corrupted-stack-end.patch
bugfix/all/tipc-fix-an-infoleak-in-tipc_nl_compat_link_dump.patch
bugfix/all/rds-fix-an-infoleak-in-rds_inc_info_copy.patch
+# ABI maintenance
+debian/mips-fix-abi-change-in-4.6.2.patch
+
# Tools bug fixes
bugfix/all/usbip-document-tcp-wrappers.patch
bugfix/all/kbuild-fix-recordmcount-dependency.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git
More information about the Kernel-svn-changes
mailing list