[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