8ab76156ffa742d9f7be446268cb6ba575392379
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / uclibc / 0.9.33.2 / 0066-mips-rename-siginfo-_timer-members.patch
1 mips: rename siginfo _timer members
2
3 Backport an upstream patch to fix a compilation problem of strace-4.9+ 
4 on MIPS platforms with uClibc.
5
6 Upstream commit:
7   http://git.uclibc.org/uClibc/commit/?id=a1b88fe87a9d2be5696247d266f5c4fd20f000bb
8
9 Fixes:
10   http://autobuild.buildroot.net/results/e8f/e8f4965b27c9dcc58d6ec77cdc48b83c218c5bec/
11
12 Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
13
14 From a1b88fe87a9d2be5696247d266f5c4fd20f000bb Mon Sep 17 00:00:00 2001
15 From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
16 Date: Wed, 3 Dec 2014 17:43:25 +0100
17 Subject: [PATCH] mips: rename siginfo _timer members
18
19 Rename _timer[12] to si_tid and si_overrun to fix compilation of
20 strace-4.9+
21
22 Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
23 ---
24  libc/sysdeps/linux/mips/bits/siginfo.h |   51 ++++++++++++++++++++-----------
25  1 files changed, 33 insertions(+), 18 deletions(-)
26
27 diff --git a/libc/sysdeps/linux/mips/bits/siginfo.h b/libc/sysdeps/linux/mips/bits/siginfo.h
28 index a6e4135..5199d4d 100644
29 --- a/libc/sysdeps/linux/mips/bits/siginfo.h
30 +++ b/libc/sysdeps/linux/mips/bits/siginfo.h
31 @@ -69,6 +69,22 @@ typedef struct siginfo
32             __uid_t si_uid;     /* Real user ID of sending process.  */
33           } _kill;
34  
35 +       /* POSIX.1b timers.  */
36 +       struct
37 +         {
38 +           int si_tid;         /* Timer ID.  */
39 +           int si_overrun;     /* Overrun count.  */
40 +           sigval_t si_sigval; /* Signal value.  */
41 +         } _timer;
42 +
43 +       /* POSIX.1b signals.  */
44 +       struct
45 +         {
46 +           __pid_t si_pid;     /* Sending process ID.  */
47 +           __uid_t si_uid;     /* Real user ID of sending process.  */
48 +           sigval_t si_sigval; /* Signal value.  */
49 +         } _rt;
50 +
51         /* SIGCHLD.  */
52         struct
53           {
54 @@ -83,29 +99,15 @@ typedef struct siginfo
55         struct
56           {
57             void *si_addr;      /* Faulting insn/memory ref.  */
58 +           short int si_addr_lsb;      /* Valid LSB of the reported address.  */
59           } _sigfault;
60  
61         /* SIGPOLL.  */
62         struct
63           {
64 -           int si_band;        /* Band event for SIGPOLL.  */
65 +           long int si_band;   /* Band event for SIGPOLL.  */
66             int si_fd;
67           } _sigpoll;
68 -
69 -       /* POSIX.1b timers.  */
70 -       struct
71 -         {
72 -           unsigned int _timer1;
73 -           unsigned int _timer2;
74 -         } _timer;
75 -
76 -       /* POSIX.1b signals.  */
77 -       struct
78 -         {
79 -           __pid_t si_pid;     /* Sending process ID.  */
80 -           __uid_t si_uid;     /* Real user ID of sending process.  */
81 -           sigval_t si_sigval; /* Signal value.  */
82 -         } _rt;
83        } _sifields;
84    } siginfo_t;
85  
86 @@ -113,6 +115,8 @@ typedef struct siginfo
87  /* X/Open requires some more fields with fixed names.  */
88  # define si_pid                _sifields._kill.si_pid
89  # define si_uid                _sifields._kill.si_uid
90 +# define si_timerid    _sifields._timer.si_tid
91 +# define si_overrun    _sifields._timer.si_overrun
92  # define si_status     _sifields._sigchld.si_status
93  # define si_utime      _sifields._sigchld.si_utime
94  # define si_stime      _sifields._sigchld.si_stime
95 @@ -120,6 +124,7 @@ typedef struct siginfo
96  # define si_int                _sifields._rt.si_sigval.sival_int
97  # define si_ptr                _sifields._rt.si_sigval.sival_ptr
98  # define si_addr       _sifields._sigfault.si_addr
99 +# define si_addr_lsb   _sifields._sigfault.si_addr_lsb
100  # define si_band       _sifields._sigpoll.si_band
101  # define si_fd         _sifields._sigpoll.si_fd
102  
103 @@ -142,13 +147,14 @@ enum
104  # define SI_ASYNCIO    SI_ASYNCIO
105    SI_QUEUE,                    /* Sent by sigqueue.  */
106  # define SI_QUEUE      SI_QUEUE
107 -  SI_USER,                     /* Sent by kill, sigsend, raise.  */
108 +  SI_USER,                     /* Sent by kill, sigsend.  */
109  # define SI_USER       SI_USER
110    SI_KERNEL = 0x80             /* Send by kernel.  */
111  #define SI_KERNEL      SI_KERNEL
112  };
113  
114  
115 +# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
116  /* `si_code' values for SIGILL signal.  */
117  enum
118  {
119 @@ -207,10 +213,16 @@ enum
120  # define BUS_ADRALN    BUS_ADRALN
121    BUS_ADRERR,                  /* Non-existant physical address.  */
122  # define BUS_ADRERR    BUS_ADRERR
123 -  BUS_OBJERR                   /* Object specific hardware error.  */
124 +  BUS_OBJERR,                  /* Object specific hardware error.  */
125  # define BUS_OBJERR    BUS_OBJERR
126 +  BUS_MCEERR_AR,               /* Hardware memory error: action required.  */
127 +#  define BUS_MCEERR_AR        BUS_MCEERR_AR
128 +  BUS_MCEERR_AO                        /* Hardware memory error: action optional.  */
129 +#  define BUS_MCEERR_AO        BUS_MCEERR_AO
130  };
131 +# endif
132  
133 +# ifdef __USE_XOPEN_EXTENDED
134  /* `si_code' values for SIGTRAP signal.  */
135  enum
136  {
137 @@ -219,7 +231,9 @@ enum
138    TRAP_TRACE                   /* Process trace trap.  */
139  # define TRAP_TRACE    TRAP_TRACE
140  };
141 +# endif
142  
143 +# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
144  /* `si_code' values for SIGCHLD signal.  */
145  enum
146  {
147 @@ -253,6 +267,7 @@ enum
148    POLL_HUP                     /* Device disconnected.  */
149  # define POLL_HUP      POLL_HUP
150  };
151 +# endif
152  
153  # undef __need_siginfo_t
154  #endif /* !have siginfo_t && (have _SIGNAL_H || need siginfo_t).  */
155 -- 
156 1.7.1
157