From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 47624 invoked by alias); 1 Apr 2016 14:42:16 -0000 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 Received: (qmail 47565 invoked by uid 89); 1 Apr 2016 14:42:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 spammy=she X-HELO: usplmg21.ericsson.net Received: from usplmg21.ericsson.net (HELO usplmg21.ericsson.net) (198.24.6.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Fri, 01 Apr 2016 14:42:05 +0000 Received: from EUSAAHC002.ericsson.se (Unknown_Domain [147.117.188.78]) by usplmg21.ericsson.net (Symantec Mail Security) with SMTP id A6.3F.22441.6988EF65; Fri, 1 Apr 2016 16:41:26 +0200 (CEST) Received: from [142.133.110.144] (147.117.188.8) by smtp-am.internal.ericsson.com (147.117.188.80) with Microsoft SMTP Server id 14.3.248.2; Fri, 1 Apr 2016 10:42:02 -0400 Subject: Re: [PATCH 2/2] Add test for fast tracepoint enable/disable To: Yao Qi References: <1459351018-23718-1-git-send-email-simon.marchi@ericsson.com> <1459351018-23718-2-git-send-email-simon.marchi@ericsson.com> <86k2kirk18.fsf@gmail.com> <56FD65EB.4040109@ericsson.com> <8637r5qwm5.fsf@gmail.com> CC: From: Simon Marchi Message-ID: <56FE88BA.1000103@ericsson.com> Date: Fri, 01 Apr 2016 14:42:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <8637r5qwm5.fsf@gmail.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2016-04/txt/msg00006.txt.bz2 On 16-04-01 09:36 AM, Yao Qi wrote: > Simon Marchi writes: > >> Good question. Because the setup for testing fast tracepoints is >> tedious, I always >> use ftrace-lock.exp as a template, because it is relatively short. >> ftrace-lock.exp >> uses gdb_compile_pthreads. I think it makes sense, because the IPA >> starts a helper >> thread with pthread_create. > > gdb_compile_pthreads is used in ftrace-lock.exp because ftrace-lock.c is > a multi-threaded program, but ftrace-enable-disable.c isn't. The > program to be tested is running in one thread, and it doesn't have any > interaction with the helper thread. > >> >> Note that it still builds fine with gdb_compile instead of gdb_compile_pthreads, >> probably because libinproctrace.so has a DT_NEEDED for libpthreads.so, >> so it gets >> pulled in. But using gdb_compile_pthreads should add -pthread to the >> CFLAGS, which >> may impact compilation (e.g. choose re-entrant versions of functions). > > Using IPA/fast tracepoint shouldn't affect how the program is compiled. > User is writing and debugging a single thread program, and he/she wants > to use fast tracepoint to debug. He/She shouldn't recompile the program > with -lpthreads or -pthreads, what needed here is to let IPA be loaded with > the program. That totally makes sense, I'll change it to gdb_compile. >> >> However, I just noticed that the command line includes -lpthreads >> instead of -pthreads: >> >> spawn gcc -Wl,--no-as-needed >> /home/emaisin/build/binutils-gdb/gdb/testsuite/../../../../src/binutils-gdb/gdb/testsuite/gdb.trace/ftrace-enable-disable.c >> \ >> /home/emaisin/build/binutils-gdb/gdb/testsuite/../gdbserver/libinproctrace.so >> -g \ >> -lpthread -lm -o \ >> /home/emaisin/build/binutils-gdb/gdb/testsuite/outputs/gdb.trace/ftrace-enable-disable/ftrace-enable-disable >> >> I think that to be more "correct", we should try -pthread before -lpthread in >> gdb_compile_pthreads... > > I am not sure, it is a separate issue, this applies to all test cases > compiled with gdb_compile_pthreads. >