Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(255)

Side by Side Diff: gdb/testsuite/gdb.trace/trace-mt.c

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gdb/testsuite/gdb.trace/trace-break.exp ('k') | gdb/testsuite/gdb.trace/trace-mt.exp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* This testcase is part of GDB, the GNU debugger. 1 /* This testcase is part of GDB, the GNU debugger.
2 2
3 Copyright 2011-2012 Free Software Foundation, Inc. 3 Copyright 2012 Free Software Foundation, Inc.
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or 7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17 17
18 #include <pthread.h>
19
18 #ifdef SYMBOL_PREFIX 20 #ifdef SYMBOL_PREFIX
19 #define SYMBOL(str) SYMBOL_PREFIX #str 21 #define SYMBOL(str) SYMBOL_PREFIX #str
20 #else 22 #else
21 #define SYMBOL(str) #str 23 #define SYMBOL(str) #str
22 #endif 24 #endif
23
24 int globvar;
25
26 static void
27 begin (void)
28 {}
29
30 /* Called from asm. */ 25 /* Called from asm. */
31 static void __attribute__((used)) 26 static void __attribute__((used))
32 func (void) 27 func (void)
33 {} 28 {}
34 29
35 static void 30 static void *
36 marker (int anarg) 31 thread_function(void *arg)
37 { 32 {
38 /* `set_point' is the label at which to set a fast tracepoint. The 33 /* `set_point1' is the label at which to set a fast tracepoint. The
39 insn at the label must be large enough to fit a fast tracepoint 34 insn at the label must be large enough to fit a fast tracepoint
40 jump. */ 35 jump. */
41 asm (" .global " SYMBOL(set_point) "\n" 36 asm (" .global " SYMBOL(set_point1) "\n"
42 SYMBOL(set_point) ":\n" 37 SYMBOL(set_point1) ":\n"
43 #if (defined __x86_64__ || defined __i386__) 38 #if (defined __x86_64__ || defined __i386__)
44 " call " SYMBOL(func) "\n" 39 " call " SYMBOL(func) "\n"
45 #endif 40 #endif
46 ); 41 );
47
48 ++anarg;
49
50 /* Set up a known 4-byte instruction so we can try to set a shorter
51 fast tracepoint at it. */
52 asm (" .global " SYMBOL(four_byter) "\n"
53 SYMBOL(four_byter) ":\n"
54 #if (defined __i386__)
55 " cmpl $0x1,0x8(%ebp) \n"
56 #endif
57 );
58 } 42 }
59 43
60 static void 44 static void
61 end (void) 45 end (void)
62 {} 46 {}
63 47
64 int 48 int
65 main () 49 main (int argc, char *argv[], char *envp[])
66 { 50 {
67 begin (); 51 pthread_t threads[2];
52 int i;
68 53
69 for (globvar = 1; globvar < 11; ++globvar) 54 for (i = 0; i < 2; i++)
70 { 55 pthread_create (&threads[i], NULL, thread_function, NULL);
71 marker (globvar * 100); 56
72 } 57 for (i = 0; i < 2; i++)
58 pthread_join (threads[i], NULL);
73 59
74 end (); 60 end ();
61
75 return 0; 62 return 0;
76 } 63 }
OLDNEW
« no previous file with comments | « gdb/testsuite/gdb.trace/trace-break.exp ('k') | gdb/testsuite/gdb.trace/trace-mt.exp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698