[mips*] Fix ABI change in 4.6.2
This commit is contained in:
parent
86e7845331
commit
966488336f
|
@ -1,3 +1,9 @@
|
|||
linux (4.6.2-2) UNRELEASED; urgency=medium
|
||||
|
||||
* [mips*] Fix ABI change in 4.6.2
|
||||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Thu, 16 Jun 2016 12:37:27 +0100
|
||||
|
||||
linux (4.6.2-1) unstable; urgency=medium
|
||||
|
||||
* Team upload.
|
||||
|
|
|
@ -0,0 +1,92 @@
|
|||
From: Ben Hutchings <ben@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.
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue