From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16038 invoked by alias); 24 Oct 2007 16:22:20 -0000 Received: (qmail 16026 invoked by uid 22791); 24 Oct 2007 16:22:18 -0000 X-Spam-Check-By: sourceware.org Received: from igw2.br.ibm.com (HELO igw2.br.ibm.com) (32.104.18.25) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 24 Oct 2007 16:22:10 +0000 Received: from mailhub1.br.ibm.com (mailhub1 [9.18.232.109]) by igw2.br.ibm.com (Postfix) with ESMTP id 8348517F41A for ; Wed, 24 Oct 2007 14:19:31 -0200 (BRDT) Received: from d24av02.br.ibm.com (d24av02.br.ibm.com [9.18.232.47]) by mailhub1.br.ibm.com (8.13.8/8.13.8/NCO v8.5) with ESMTP id l9OGM6EZ2781384 for ; Wed, 24 Oct 2007 14:22:06 -0200 Received: from d24av02.br.ibm.com (loopback [127.0.0.1]) by d24av02.br.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id l9OGM6YM017691 for ; Wed, 24 Oct 2007 13:22:06 -0300 Received: from [9.18.238.24] ([9.18.238.24]) by d24av02.br.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id l9OGM4Xc017643; Wed, 24 Oct 2007 13:22:06 -0300 Subject: Re: [rfc, rfa/doc] Multi-threaded watchpoint improvements From: Luis Machado Reply-To: luisgpm@linux.vnet.ibm.com To: Daniel Jacobowitz Cc: gdb-patches@sourceware.org In-Reply-To: <20071024154640.GA949@caradoc.them.org> References: <20070916183949.GA23966@caradoc.them.org> <20071001002015.GA15835@caradoc.them.org> <1193241369.4316.4.camel@localhost> <20071024154640.GA949@caradoc.them.org> Content-Type: multipart/mixed; boundary="=-HWLLcdvXnMQBuB6nJh8I" Date: Wed, 24 Oct 2007 16:42:00 -0000 Message-Id: <1193246520.4316.16.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-10/txt/msg00586.txt.bz2 --=-HWLLcdvXnMQBuB6nJh8I Content-Type: text/plain Content-Transfer-Encoding: 7bit Content-length: 1846 Hi Daniel, This is what i get while trying to use a hardware watchpoint to monitor an int variable "i" that changes during a for statement (attached). Upon further investigation, it seems GDB is only calling "breakpoint_delete_event". I don't see GDB calling "breakpoint_create_event" anywhere except in the momment i created the watchpoint up there, so i presume that's the reason it's not triggering. This is the event log: (gdb) set debug event 1 (gdb) start breakpoint_create_event (CREATED!) Breakpoint 1 at 0x10000738: file testsuite/gdb.base/watch-thread_num.c, line 39. Starting program: /home/luis/src/gdb/gdb-head/git/gdb/test [Thread debugging using libthread_db enabled] [New Thread 0x400000257c0 (LWP 3287)] [Switching to Thread 0x400000257c0 (LWP 3287)] breakpoint_delete_event (DELETED!) main () at testsuite/gdb.base/watch-thread_num.c:39 39 for (i = 0; i < NUM; i++) (gdb) watch i During symbol reading, incomplete CFI data; unspecified registers (e.g., r0) at 0x10000738. breakpoint_create_event (CREATED!) Hardware watchpoint 2: i (gdb) n 41 res = pthread_create(&threads[i], (gdb) [New Thread 0x40000a26240 (LWP 3290)] breakpoint_delete_event (DELETED! After this point, no more creations.) 39 for (i = 0; i < NUM; i++) (gdb) 41 res = pthread_create(&threads[i], (gdb) [New Thread 0x40001226240 (LWP 3291)] breakpoint_delete_event 39 for (i = 0; i < NUM; i++) (gdb) 41 res = pthread_create(&threads[i], (gdb) [New Thread 0x40001a26240 (LWP 3292)] breakpoint_delete_event 39 for (i = 0; i < NUM; i++) (gdb) Notice that after i create the watchpoint, gdb doesn't bring them back during execution, only deletes them. Regards -- Luis Machado IBM Linux Technology Center e-mail: luisgpm@linux.vnet.ibm.com --=-HWLLcdvXnMQBuB6nJh8I Content-Disposition: attachment; filename=ppc-watch-fail.log Content-Type: text/x-log; name=ppc-watch-fail.log; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-length: 16520 (gdb) watch i During symbol reading, incomplete CFI data; unspecified registers (e.g., r0) at 0x10000738. Hardware watchpoint 10: i (gdb) set debug infrun 1 (gdb) n infrun: proceed (addr=0xffffffffffffffff, signal=144, step=1) infrun: resume (step=1, signal=0) infrun: wait_for_inferior infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000073c infrun: stepping inside range [0x10000738-0x10000744] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000740 infrun: stepping inside range [0x10000738-0x10000744] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000788 infrun: keep going infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000078c infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000790 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000744 infrun: stepped to a different line infrun: stop_stepping 41 res = pthread_create(&threads[i], (gdb) infrun: proceed (addr=0xffffffffffffffff, signal=144, step=1) infrun: resume (step=1, signal=0) infrun: wait_for_inferior infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000748 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000074c infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000750 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000754 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000758 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000075c infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000760 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000764 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000768 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000076c infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000510 infrun: stepped into subroutine infrun: inserting step-resume breakpoint at 0x10000770 infrun: resume (step=0, signal=0) infrun: prepare_to_wait [New Thread 0x40000a26240 (LWP 1646)] infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x40000066ef0 infrun: BPSTAT_WHAT_SINGLE infrun: step-resume breakpoint is inserted infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x4000006885c infrun: trap expected infrun: step-resume breakpoint is inserted infrun: resume (step=0, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000770 infrun: BPSTAT_WHAT_STEP_RESUME infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000774 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000778 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000077c infrun: stepped to a different line infrun: stop_stepping 39 for (i = 0; i < NUM; i++) (gdb) infrun: proceed (addr=0xffffffffffffffff, signal=144, step=1) infrun: resume (step=1, signal=0) infrun: wait_for_inferior infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000780 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000784 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000788 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000078c infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000790 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000744 infrun: stepped to a different line infrun: stop_stepping 41 res = pthread_create(&threads[i], (gdb) infrun: proceed (addr=0xffffffffffffffff, signal=144, step=1) infrun: resume (step=1, signal=0) infrun: wait_for_inferior infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000748 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000074c infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000750 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000754 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000758 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000075c infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000760 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000764 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000768 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000076c infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000510 infrun: stepped into subroutine infrun: inserting step-resume breakpoint at 0x10000770 infrun: resume (step=0, signal=0) infrun: prepare_to_wait [New Thread 0x40001226240 (LWP 1647)] infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x40000066ef0 infrun: BPSTAT_WHAT_SINGLE infrun: step-resume breakpoint is inserted infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x4000006885c infrun: trap expected infrun: step-resume breakpoint is inserted infrun: resume (step=0, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000770 infrun: BPSTAT_WHAT_STEP_RESUME infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000774 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000778 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000077c infrun: stepped to a different line infrun: stop_stepping 39 for (i = 0; i < NUM; i++) (gdb) infrun: proceed (addr=0xffffffffffffffff, signal=144, step=1) infrun: resume (step=1, signal=0) infrun: wait_for_inferior infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000780 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000784 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000788 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000078c infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000790 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000744 infrun: stepped to a different line infrun: stop_stepping 41 res = pthread_create(&threads[i], (gdb) infrun: proceed (addr=0xffffffffffffffff, signal=144, step=1) infrun: resume (step=1, signal=0) infrun: wait_for_inferior infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000748 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000074c infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000750 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000754 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000758 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000075c infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000760 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000764 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000768 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000076c infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000510 infrun: stepped into subroutine infrun: inserting step-resume breakpoint at 0x10000770 infrun: resume (step=0, signal=0) infrun: prepare_to_wait [New Thread 0x40001a26240 (LWP 1648)] infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x40000066ef0 infrun: BPSTAT_WHAT_SINGLE infrun: step-resume breakpoint is inserted infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x4000006885c infrun: trap expected infrun: step-resume breakpoint is inserted infrun: resume (step=0, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000770 infrun: BPSTAT_WHAT_STEP_RESUME infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000774 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000778 infrun: stepping inside range [0x10000744-0x1000077c] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000077c infrun: stepped to a different line infrun: stop_stepping 39 for (i = 0; i < NUM; i++) (gdb) infrun: proceed (addr=0xffffffffffffffff, signal=144, step=1) infrun: resume (step=1, signal=0) infrun: wait_for_inferior infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000780 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000784 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000788 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1000078c infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000790 infrun: stepping inside range [0x1000077c-0x10000794] infrun: resume (step=1, signal=0) infrun: prepare_to_wait infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x10000744 infrun: stepped to a different line infrun: stop_stepping 41 res = pthread_create(&threads[i], (gdb) --=-HWLLcdvXnMQBuB6nJh8I--