summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gdb
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-07-03 10:13:43 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-17 10:53:58 +0100
commita7b443ae3d195e85c1c4f3bb414d6806e6d1b699 (patch)
treebfbb6f5e240f2f79c61e1f396717907c1e0f0946 /meta/recipes-devtools/gdb
parenta9f6df21afd0d2230e8ad18f025ed1e2385bd3b1 (diff)
downloadpoky-a7b443ae3d195e85c1c4f3bb414d6806e6d1b699.tar.gz
gdb: Replace struct siginfo with proper siginfo_t
Fixes errors like /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/work/armv5te-oe-linux-gnueabi/gdb-7.4.1-r0.0/gdb-7.4.1/gdb/linux-nat.h:79:18: error: field 'siginfo' has incomplete type (From OE-Core rev: 6e5b37403dd4d0a9a249535d07b36bbae98cadd6) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gdb')
-rw-r--r--meta/recipes-devtools/gdb/gdb-common.inc2
-rw-r--r--meta/recipes-devtools/gdb/gdb.inc1
-rw-r--r--meta/recipes-devtools/gdb/gdb/siginfo_t.patch403
3 files changed, 405 insertions, 1 deletions
diff --git a/meta/recipes-devtools/gdb/gdb-common.inc b/meta/recipes-devtools/gdb/gdb-common.inc
index be4d77af42..348bdeedc0 100644
--- a/meta/recipes-devtools/gdb/gdb-common.inc
+++ b/meta/recipes-devtools/gdb/gdb-common.inc
@@ -12,7 +12,7 @@ LTTNGUST_mips64 = ""
12LTTNGUST_mips64el = "" 12LTTNGUST_mips64el = ""
13LTTNGUST_sh4 = "" 13LTTNGUST_sh4 = ""
14 14
15INC_PR = "r0" 15INC_PR = "r1"
16 16
17LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ 17LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
18 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \ 18 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \
diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc
index a620eca501..c1ad83ae04 100644
--- a/meta/recipes-devtools/gdb/gdb.inc
+++ b/meta/recipes-devtools/gdb/gdb.inc
@@ -5,6 +5,7 @@ inherit gettext
5SRC_URI += "file://kill_arm_map_symbols.patch \ 5SRC_URI += "file://kill_arm_map_symbols.patch \
6 file://gdbserver-cflags-last.diff;striplevel=0 \ 6 file://gdbserver-cflags-last.diff;striplevel=0 \
7 file://renesas-sh-native-support.patch \ 7 file://renesas-sh-native-support.patch \
8 file://siginfo_t.patch \
8 " 9 "
9#LDFLAGS_append = " -s" 10#LDFLAGS_append = " -s"
10#export CFLAGS_append=" -L${STAGING_LIBDIR}" 11#export CFLAGS_append=" -L${STAGING_LIBDIR}"
diff --git a/meta/recipes-devtools/gdb/gdb/siginfo_t.patch b/meta/recipes-devtools/gdb/gdb/siginfo_t.patch
new file mode 100644
index 0000000000..465645da38
--- /dev/null
+++ b/meta/recipes-devtools/gdb/gdb/siginfo_t.patch
@@ -0,0 +1,403 @@
1POSIX says you get "siginto_t" *not* "struct siginfo
2
3Upstream-Status: Pending
4
5Signed-off-by: Khem Raj <raj.khem@gmail.com>
6
7Index: gdb-7.4.1/gdb/alpha-linux-tdep.c
8===================================================================
9--- gdb-7.4.1.orig/gdb/alpha-linux-tdep.c 2012-01-05 20:43:04.000000000 -0800
10+++ gdb-7.4.1/gdb/alpha-linux-tdep.c 2012-07-03 10:12:30.154227388 -0700
11@@ -114,7 +114,7 @@
12 /* __NR_rt_sigreturn has a couple of structures on the stack. This is:
13
14 struct rt_sigframe {
15- struct siginfo info;
16+ siginfo_t info;
17 struct ucontext uc;
18 };
19
20Index: gdb-7.4.1/gdb/amd64-linux-nat.c
21===================================================================
22--- gdb-7.4.1.orig/gdb/amd64-linux-nat.c 2012-01-05 20:43:04.000000000 -0800
23+++ gdb-7.4.1/gdb/amd64-linux-nat.c 2012-07-03 10:12:30.154227388 -0700
24@@ -671,13 +671,13 @@
25 INF. */
26
27 static int
28-amd64_linux_siginfo_fixup (struct siginfo *native, gdb_byte *inf, int direction)
29+amd64_linux_siginfo_fixup (siginfo_t *native, gdb_byte *inf, int direction)
30 {
31 /* Is the inferior 32-bit? If so, then do fixup the siginfo
32 object. */
33 if (gdbarch_addr_bit (get_frame_arch (get_current_frame ())) == 32)
34 {
35- gdb_assert (sizeof (struct siginfo) == sizeof (compat_siginfo_t));
36+ gdb_assert (sizeof (siginfo_t) == sizeof (compat_siginfo_t));
37
38 if (direction == 0)
39 compat_siginfo_from_siginfo ((struct compat_siginfo *) inf, native);
40Index: gdb-7.4.1/gdb/arm-linux-nat.c
41===================================================================
42--- gdb-7.4.1.orig/gdb/arm-linux-nat.c 2012-01-05 20:43:04.000000000 -0800
43+++ gdb-7.4.1/gdb/arm-linux-nat.c 2012-07-03 10:12:30.154227388 -0700
44@@ -1137,7 +1137,7 @@
45 static int
46 arm_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p)
47 {
48- struct siginfo *siginfo_p = linux_nat_get_siginfo (inferior_ptid);
49+ siginfo_t *siginfo_p = linux_nat_get_siginfo (inferior_ptid);
50 int slot = siginfo_p->si_errno;
51
52 /* This must be a hardware breakpoint. */
53Index: gdb-7.4.1/gdb/arm-linux-tdep.c
54===================================================================
55--- gdb-7.4.1.orig/gdb/arm-linux-tdep.c 2012-01-05 20:43:04.000000000 -0800
56+++ gdb-7.4.1/gdb/arm-linux-tdep.c 2012-07-03 10:12:30.154227388 -0700
57@@ -301,7 +301,7 @@
58
59 /* There are three elements in an rt_sigframe before the ucontext:
60 pinfo, puc, and info. The first two are pointers and the third
61- is a struct siginfo, with size 128 bytes. We could follow puc
62+ is a siginfo_t, with size 128 bytes. We could follow puc
63 to the ucontext, but it's simpler to skip the whole thing. */
64 #define ARM_OLD_RT_SIGFRAME_SIGINFO 0x8
65 #define ARM_OLD_RT_SIGFRAME_UCONTEXT 0x88
66Index: gdb-7.4.1/gdb/frv-linux-tdep.c
67===================================================================
68--- gdb-7.4.1.orig/gdb/frv-linux-tdep.c 2012-01-05 20:43:12.000000000 -0800
69+++ gdb-7.4.1/gdb/frv-linux-tdep.c 2012-07-03 10:12:30.154227388 -0700
70@@ -94,9 +94,9 @@
71 {
72 void (*pretcode)(void);
73 int sig;
74- struct siginfo *pinfo;
75+ siginfo_t *pinfo;
76 void *puc;
77- struct siginfo info;
78+ siginfo_t info;
79 struct ucontext uc;
80 uint32_t retcode[2];
81 };
82Index: gdb-7.4.1/gdb/gdbserver/linux-arm-low.c
83===================================================================
84--- gdb-7.4.1.orig/gdb/gdbserver/linux-arm-low.c 2012-01-05 20:43:37.000000000 -0800
85+++ gdb-7.4.1/gdb/gdbserver/linux-arm-low.c 2012-07-03 10:12:30.154227388 -0700
86@@ -631,7 +631,7 @@
87 arm_stopped_by_watchpoint (void)
88 {
89 struct lwp_info *lwp = get_thread_lwp (current_inferior);
90- struct siginfo siginfo;
91+ siginfo_t siginfo;
92
93 /* We must be able to set hardware watchpoints. */
94 if (arm_linux_get_hw_watchpoint_count () == 0)
95Index: gdb-7.4.1/gdb/gdbserver/linux-low.c
96===================================================================
97--- gdb-7.4.1.orig/gdb/gdbserver/linux-low.c 2012-01-05 20:43:37.000000000 -0800
98+++ gdb-7.4.1/gdb/gdbserver/linux-low.c 2012-07-03 10:12:30.154227388 -0700
99@@ -4522,7 +4522,7 @@
100 layout of the inferiors' architecture. */
101
102 static void
103-siginfo_fixup (struct siginfo *siginfo, void *inf_siginfo, int direction)
104+siginfo_fixup (siginfo_t *siginfo, void *inf_siginfo, int direction)
105 {
106 int done = 0;
107
108@@ -4534,9 +4534,9 @@
109 if (!done)
110 {
111 if (direction == 1)
112- memcpy (siginfo, inf_siginfo, sizeof (struct siginfo));
113+ memcpy (siginfo, inf_siginfo, sizeof (siginfo_t));
114 else
115- memcpy (inf_siginfo, siginfo, sizeof (struct siginfo));
116+ memcpy (inf_siginfo, siginfo, sizeof (siginfo_t));
117 }
118 }
119
120@@ -4545,8 +4545,8 @@
121 unsigned const char *writebuf, CORE_ADDR offset, int len)
122 {
123 int pid;
124- struct siginfo siginfo;
125- char inf_siginfo[sizeof (struct siginfo)];
126+ siginfo_t siginfo;
127+ char inf_siginfo[sizeof (siginfo_t)];
128
129 if (current_inferior == NULL)
130 return -1;
131Index: gdb-7.4.1/gdb/gdbserver/linux-low.h
132===================================================================
133--- gdb-7.4.1.orig/gdb/gdbserver/linux-low.h 2012-01-05 20:43:37.000000000 -0800
134+++ gdb-7.4.1/gdb/gdbserver/linux-low.h 2012-07-03 10:20:28.554250548 -0700
135@@ -22,6 +22,7 @@
136 #endif
137
138 #include "gdb_proc_service.h"
139+#include <signal.h>
140
141 #ifdef HAVE_LINUX_REGSETS
142 typedef void (*regset_fill_func) (struct regcache *, void *);
143@@ -46,8 +47,6 @@
144 extern struct regset_info target_regsets[];
145 #endif
146
147-struct siginfo;
148-
149 struct process_info_private
150 {
151 /* Arch-specific additions. */
152@@ -103,7 +102,7 @@
153 Returns true if any conversion was done; false otherwise.
154 If DIRECTION is 1, then copy from INF to NATIVE.
155 If DIRECTION is 0, copy from NATIVE to INF. */
156- int (*siginfo_fixup) (struct siginfo *native, void *inf, int direction);
157+ int (*siginfo_fixup) (siginfo_t *native, void *inf, int direction);
158
159 /* Hook to call when a new process is created or attached to.
160 If extra per-process architecture-specific data is needed,
161Index: gdb-7.4.1/gdb/gdbserver/linux-x86-low.c
162===================================================================
163--- gdb-7.4.1.orig/gdb/gdbserver/linux-x86-low.c 2012-01-05 20:43:37.000000000 -0800
164+++ gdb-7.4.1/gdb/gdbserver/linux-x86-low.c 2012-07-03 10:12:30.154227388 -0700
165@@ -906,13 +906,13 @@
166 INF. */
167
168 static int
169-x86_siginfo_fixup (struct siginfo *native, void *inf, int direction)
170+x86_siginfo_fixup (siginfo_t *native, void *inf, int direction)
171 {
172 #ifdef __x86_64__
173 /* Is the inferior 32-bit? If so, then fixup the siginfo object. */
174 if (register_size (0) == 4)
175 {
176- if (sizeof (struct siginfo) != sizeof (compat_siginfo_t))
177+ if (sizeof (siginfo_t) != sizeof (compat_siginfo_t))
178 fatal ("unexpected difference in siginfo");
179
180 if (direction == 0)
181Index: gdb-7.4.1/gdb/hppa-linux-tdep.c
182===================================================================
183--- gdb-7.4.1.orig/gdb/hppa-linux-tdep.c 2012-01-05 20:43:15.000000000 -0800
184+++ gdb-7.4.1/gdb/hppa-linux-tdep.c 2012-07-03 10:12:30.158227388 -0700
185@@ -181,10 +181,10 @@
186 }
187
188 /* sp + sfoffs[try] points to a struct rt_sigframe, which contains
189- a struct siginfo and a struct ucontext. struct ucontext contains
190+ a siginfo_t and a struct ucontext. struct ucontext contains
191 a struct sigcontext. Return an offset to this sigcontext here. Too
192 bad we cannot include system specific headers :-(.
193- sizeof(struct siginfo) == 128
194+ sizeof(siginfo_t) == 128
195 offsetof(struct ucontext, uc_mcontext) == 24. */
196 return sp + sfoffs[try] + 128 + 24;
197 }
198Index: gdb-7.4.1/gdb/ia64-linux-nat.c
199===================================================================
200--- gdb-7.4.1.orig/gdb/ia64-linux-nat.c 2012-01-05 20:43:16.000000000 -0800
201+++ gdb-7.4.1/gdb/ia64-linux-nat.c 2012-07-03 10:12:30.158227388 -0700
202@@ -637,7 +637,7 @@
203 ia64_linux_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
204 {
205 CORE_ADDR psr;
206- struct siginfo *siginfo_p;
207+ siginfo_t *siginfo_p;
208 struct regcache *regcache = get_current_regcache ();
209
210 siginfo_p = linux_nat_get_siginfo (inferior_ptid);
211Index: gdb-7.4.1/gdb/linux-nat.c
212===================================================================
213--- gdb-7.4.1.orig/gdb/linux-nat.c 2012-01-05 20:43:19.000000000 -0800
214+++ gdb-7.4.1/gdb/linux-nat.c 2012-07-03 10:12:30.158227388 -0700
215@@ -179,7 +179,7 @@
216 /* The method to call, if any, when the siginfo object needs to be
217 converted between the layout returned by ptrace, and the layout in
218 the architecture of the inferior. */
219-static int (*linux_nat_siginfo_fixup) (struct siginfo *,
220+static int (*linux_nat_siginfo_fixup) (siginfo_t *,
221 gdb_byte *,
222 int);
223
224@@ -4138,7 +4138,7 @@
225 layout of the inferiors' architecture. */
226
227 static void
228-siginfo_fixup (struct siginfo *siginfo, gdb_byte *inf_siginfo, int direction)
229+siginfo_fixup (siginfo_t *siginfo, gdb_byte *inf_siginfo, int direction)
230 {
231 int done = 0;
232
233@@ -4150,9 +4150,9 @@
234 if (!done)
235 {
236 if (direction == 1)
237- memcpy (siginfo, inf_siginfo, sizeof (struct siginfo));
238+ memcpy (siginfo, inf_siginfo, sizeof (siginfo_t));
239 else
240- memcpy (inf_siginfo, siginfo, sizeof (struct siginfo));
241+ memcpy (inf_siginfo, siginfo, sizeof (siginfo_t));
242 }
243 }
244
245@@ -4162,8 +4162,8 @@
246 const gdb_byte *writebuf, ULONGEST offset, LONGEST len)
247 {
248 int pid;
249- struct siginfo siginfo;
250- gdb_byte inf_siginfo[sizeof (struct siginfo)];
251+ siginfo_t siginfo;
252+ gdb_byte inf_siginfo[sizeof (siginfo_t)];
253
254 gdb_assert (object == TARGET_OBJECT_SIGNAL_INFO);
255 gdb_assert (readbuf || writebuf);
256@@ -5852,7 +5852,7 @@
257 inferior. */
258 void
259 linux_nat_set_siginfo_fixup (struct target_ops *t,
260- int (*siginfo_fixup) (struct siginfo *,
261+ int (*siginfo_fixup) (siginfo_t *,
262 gdb_byte *,
263 int))
264 {
265@@ -5861,7 +5861,7 @@
266 }
267
268 /* Return the saved siginfo associated with PTID. */
269-struct siginfo *
270+siginfo_t *
271 linux_nat_get_siginfo (ptid_t ptid)
272 {
273 struct lwp_info *lp = find_lwp_pid (ptid);
274Index: gdb-7.4.1/gdb/linux-nat.h
275===================================================================
276--- gdb-7.4.1.orig/gdb/linux-nat.h 2012-01-05 20:43:19.000000000 -0800
277+++ gdb-7.4.1/gdb/linux-nat.h 2012-07-03 10:12:30.158227388 -0700
278@@ -76,7 +76,7 @@
279
280 /* Non-zero si_signo if this LWP stopped with a trap. si_addr may
281 be the address of a hardware watchpoint. */
282- struct siginfo siginfo;
283+ siginfo_t siginfo;
284
285 /* STOPPED_BY_WATCHPOINT is non-zero if this LWP stopped with a data
286 watchpoint trap. */
287@@ -171,7 +171,7 @@
288 that ptrace returns, and the layout in the architecture of the
289 inferior. */
290 void linux_nat_set_siginfo_fixup (struct target_ops *,
291- int (*) (struct siginfo *,
292+ int (*) (siginfo_t *,
293 gdb_byte *,
294 int));
295
296@@ -180,7 +180,7 @@
297 void linux_nat_switch_fork (ptid_t new_ptid);
298
299 /* Return the saved siginfo associated with PTID. */
300-struct siginfo *linux_nat_get_siginfo (ptid_t ptid);
301+siginfo_t *linux_nat_get_siginfo (ptid_t ptid);
302
303 /* Compute and return the processor core of a given thread. */
304 int linux_nat_core_of_thread_1 (ptid_t ptid);
305Index: gdb-7.4.1/gdb/linux-tdep.c
306===================================================================
307--- gdb-7.4.1.orig/gdb/linux-tdep.c 2012-01-05 20:43:19.000000000 -0800
308+++ gdb-7.4.1/gdb/linux-tdep.c 2012-07-03 10:12:30.158227388 -0700
309@@ -150,7 +150,7 @@
310 append_composite_type_field (type, "si_fd", int_type);
311 append_composite_type_field (sifields_type, "_sigpoll", type);
312
313- /* struct siginfo */
314+ /* siginfo_t */
315 siginfo_type = arch_composite_type (gdbarch, NULL, TYPE_CODE_STRUCT);
316 TYPE_NAME (siginfo_type) = xstrdup ("siginfo");
317 append_composite_type_field (siginfo_type, "si_signo", int_type);
318Index: gdb-7.4.1/gdb/mips-linux-tdep.c
319===================================================================
320--- gdb-7.4.1.orig/gdb/mips-linux-tdep.c 2012-01-05 20:43:20.000000000 -0800
321+++ gdb-7.4.1/gdb/mips-linux-tdep.c 2012-07-03 10:12:30.158227388 -0700
322@@ -905,7 +905,7 @@
323 struct rt_sigframe {
324 u32 rs_ass[4]; [argument save space for o32]
325 u32 rs_code[2] [signal trampoline or fill]
326- struct siginfo rs_info;
327+ siginfo_t rs_info;
328 struct ucontext rs_uc;
329 };
330
331@@ -1033,7 +1033,7 @@
332 struct rt_sigframe_n32 {
333 u32 rs_ass[4]; [ argument save space for o32 ]
334 u32 rs_code[2]; [ signal trampoline or fill ]
335- struct siginfo rs_info;
336+ siginfo_t rs_info;
337 struct ucontextn32 rs_uc;
338 };
339
340@@ -1048,7 +1048,7 @@
341 struct rt_sigframe {
342 u32 rs_ass[4]; [ argument save space for o32 ]
343 u32 rs_code[2]; [ signal trampoline ]
344- struct siginfo rs_info;
345+ siginfo_t rs_info;
346 struct ucontext rs_uc;
347 };
348
349Index: gdb-7.4.1/gdb/mn10300-linux-tdep.c
350===================================================================
351--- gdb-7.4.1.orig/gdb/mn10300-linux-tdep.c 2012-01-05 20:43:20.000000000 -0800
352+++ gdb-7.4.1/gdb/mn10300-linux-tdep.c 2012-07-03 10:12:30.158227388 -0700
353@@ -528,9 +528,9 @@
354 {
355 void (*pretcode)(void);
356 int sig;
357- struct siginfo *pinfo;
358+ siginfo_t *pinfo;
359 void *puc;
360- struct siginfo info;
361+ siginfo_t info;
362 struct ucontext uc;
363 struct fpucontext fpuctx;
364 char retcode[8];
365Index: gdb-7.4.1/gdb/ppc-linux-nat.c
366===================================================================
367--- gdb-7.4.1.orig/gdb/ppc-linux-nat.c 2012-01-05 20:43:22.000000000 -0800
368+++ gdb-7.4.1/gdb/ppc-linux-nat.c 2012-07-03 10:12:30.158227388 -0700
369@@ -2213,7 +2213,7 @@
370 static int
371 ppc_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p)
372 {
373- struct siginfo *siginfo_p;
374+ siginfo_t *siginfo_p;
375
376 siginfo_p = linux_nat_get_siginfo (inferior_ptid);
377
378Index: gdb-7.4.1/gdb/procfs.c
379===================================================================
380--- gdb-7.4.1.orig/gdb/procfs.c 2012-01-05 20:43:25.000000000 -0800
381+++ gdb-7.4.1/gdb/procfs.c 2012-07-03 10:12:30.158227388 -0700
382@@ -262,7 +262,7 @@
383 #ifdef HAVE_PR_SIGINFO64_T
384 typedef pr_siginfo64_t gdb_siginfo_t;
385 #else
386-typedef struct siginfo gdb_siginfo_t;
387+typedef siginfo_t gdb_siginfo_t;
388 #endif
389
390 /* On mips-irix, praddset and prdelset are defined in such a way that
391Index: gdb-7.4.1/gdb/tic6x-linux-tdep.c
392===================================================================
393--- gdb-7.4.1.orig/gdb/tic6x-linux-tdep.c 2012-01-05 20:54:31.000000000 -0800
394+++ gdb-7.4.1/gdb/tic6x-linux-tdep.c 2012-07-03 10:12:30.158227388 -0700
395@@ -34,7 +34,7 @@
396
397 /* The offset from rt_sigframe pointer to SP register. */
398 #define TIC6X_SP_RT_SIGFRAME 8
399-/* Size of struct siginfo info. */
400+/* Size of siginfo_t info. */
401 #define TIC6X_SIGINFO_SIZE 128
402 /* Size of type stack_t, which contains three fields of type void*, int, and
403 size_t respectively. */