Message ID | 20200218120235.GA9051@delia |
---|---|
State | New, archived |
Headers |
Received: (qmail 21365 invoked by alias); 18 Feb 2020 12:02:41 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <gdb-patches.sourceware.org> List-Unsubscribe: <mailto:gdb-patches-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:gdb-patches-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 21356 invoked by uid 89); 18 Feb 2020 12:02:41 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-24.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, LIKELY_SPAM_BODY, SPF_PASS autolearn=ham version=3.3.1 spammy=po, p.o, start.S, startS X-HELO: mx2.suse.de Received: from mx2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 18 Feb 2020 12:02:40 +0000 Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 317ECAD8E for <gdb-patches@sourceware.org>; Tue, 18 Feb 2020 12:02:38 +0000 (UTC) Date: Tue, 18 Feb 2020 13:02:36 +0100 From: Tom de Vries <tdevries@suse.de> To: gdb-patches@sourceware.org Subject: [PATCH][gdb/testsuite] Be quiet about untested dtrace-prob.exp Message-ID: <20200218120235.GA9051@delia> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-IsSubscribed: yes |
Commit Message
Tom de Vries
Feb. 18, 2020, 12:02 p.m. UTC
Hi, When running gdb.base/dtrace-probe.exp, I get this on stdout/stderr: ... Running src/gdb/testsuite/gdb.base/dtrace-probe.exp ... gdb compile failed, ld: error in \ build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe.o\ (.eh_frame); no .eh_frame_hdr table will be created ld: crt1.o: in function `_start': start.S:110: undefined reference to `main' ld: build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o:\ (.SUNW_dof+0x88): undefined reference to `main' ld: build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o:\ (.SUNW_dof+0xb8): undefined reference to `main' collect2: error: ld returned 1 exit status === gdb Summary === nr of untested testcases 1 ... There is no reason to be this verbose about the failure to compile. Fix this by using quiet as additional option to gdb_compile in dtrace_build_usdt_test_program. Note that the error message still occurs in gdb.log. Tested on x86_64-linux. OK for trunk? Thanks, - Tom [gdb/testsuite] Be quiet about untested dtrace-prob.exp gdb/testsuite/ChangeLog: 2020-02-18 Tom de Vries <tdevries@suse.de> * lib/dtrace.exp (dtrace_build_usdt_test_program): Use quiet as gdb_compile option. --- gdb/testsuite/lib/dtrace.exp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
Comments
On 2/18/20 9:02 AM, Tom de Vries wrote: > Hi, > > When running gdb.base/dtrace-probe.exp, I get this on stdout/stderr: > ... > Running src/gdb/testsuite/gdb.base/dtrace-probe.exp ... > gdb compile failed, ld: error in \ > build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe.o\ > (.eh_frame); no .eh_frame_hdr table will be created > ld: crt1.o: in function `_start': > start.S:110: undefined reference to `main' > ld: build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o:\ > (.SUNW_dof+0x88): undefined reference to `main' > ld: build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o:\ > (.SUNW_dof+0xb8): undefined reference to `main' > collect2: error: ld returned 1 exit status > > === gdb Summary === > > nr of untested testcases 1 Odd. I'm running this natively on aarch64 and i don't see the same. I only get output in gdb.log. > ... > > There is no reason to be this verbose about the failure to compile. > > Fix this by using quiet as additional option to gdb_compile in > dtrace_build_usdt_test_program. Note that the error message still occurs in > gdb.log. > > Tested on x86_64-linux. > > OK for trunk? > > Thanks, > - Tom > > [gdb/testsuite] Be quiet about untested dtrace-prob.exp > > gdb/testsuite/ChangeLog: > > 2020-02-18 Tom de Vries <tdevries@suse.de> > > * lib/dtrace.exp (dtrace_build_usdt_test_program): Use quiet as > gdb_compile option. > > --- > gdb/testsuite/lib/dtrace.exp | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/gdb/testsuite/lib/dtrace.exp b/gdb/testsuite/lib/dtrace.exp > index 9aed481f32..8f861c9de4 100644 > --- a/gdb/testsuite/lib/dtrace.exp > +++ b/gdb/testsuite/lib/dtrace.exp > @@ -52,7 +52,8 @@ proc dtrace_build_usdt_test_program {} { > } > > # 2. Compile testprogram.c. > - set options [list debug additional_flags=-I[file dirname $out_header_file]] > + set options [list debug quiet \ > + additional_flags=-I[file dirname $out_header_file]] > if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}.o" object ${options}] != ""} { > return -1 > } > @@ -65,7 +66,8 @@ proc dtrace_build_usdt_test_program {} { > } > > # 4. Link everything together to get the test program. > - if {[gdb_compile "${binfile}.o ${binfile}-p.o" ${binfile} executable {debug}] != ""} { > + if {[gdb_compile "${binfile}.o ${binfile}-p.o" ${binfile} executable \ > + {debug quiet}] != ""} { > return -1 > } > } > Then again, it wouldn't hurt to prevent noisy output. So, this LGTM.
On 18-02-2020 13:35, Luis Machado wrote: > On 2/18/20 9:02 AM, Tom de Vries wrote: >> Hi, >> >> When running gdb.base/dtrace-probe.exp, I get this on stdout/stderr: >> ... >> Running src/gdb/testsuite/gdb.base/dtrace-probe.exp ... >> gdb compile failed, ld: error in \ >> build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe.o\ >> (.eh_frame); no .eh_frame_hdr table will be created >> ld: crt1.o: in function `_start': >> start.S:110: undefined reference to `main' >> ld: build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o:\ >> (.SUNW_dof+0x88): undefined reference to `main' >> ld: build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o:\ >> (.SUNW_dof+0xb8): undefined reference to `main' >> collect2: error: ld returned 1 exit status >> >> === gdb Summary === >> >> nr of untested testcases 1 > > Odd. I'm running this natively on aarch64 and i don't see the same. I > only get output in gdb.log. > I've looked a bit at the semantics of output_clone (in /usr/share/dejagnu/framework.exp), and the only way I could think of how that would happen for you is if the output somehow starts with a keyword like PASS/FAIL/WARNING/ERROR/etc. [ If you want to chase that difference it could be useful to post a gdb.log/gdb.sum/stdout_stderr.log. ] Anyway, the behaviour I'm seeing looks correct to me. >> ... >> >> There is no reason to be this verbose about the failure to compile. >> >> Fix this by using quiet as additional option to gdb_compile in >> dtrace_build_usdt_test_program. Note that the error message still >> occurs in >> gdb.log. >> >> Tested on x86_64-linux. >> >> OK for trunk? >> >> Thanks, >> - Tom >> >> [gdb/testsuite] Be quiet about untested dtrace-prob.exp >> >> gdb/testsuite/ChangeLog: >> >> 2020-02-18 Tom de Vries <tdevries@suse.de> >> >> * lib/dtrace.exp (dtrace_build_usdt_test_program): Use quiet as >> gdb_compile option. >> >> --- >> gdb/testsuite/lib/dtrace.exp | 6 ++++-- >> 1 file changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/gdb/testsuite/lib/dtrace.exp b/gdb/testsuite/lib/dtrace.exp >> index 9aed481f32..8f861c9de4 100644 >> --- a/gdb/testsuite/lib/dtrace.exp >> +++ b/gdb/testsuite/lib/dtrace.exp >> @@ -52,7 +52,8 @@ proc dtrace_build_usdt_test_program {} { >> } >> # 2. Compile testprogram.c. >> - set options [list debug additional_flags=-I[file dirname >> $out_header_file]] >> + set options [list debug quiet \ >> + additional_flags=-I[file dirname $out_header_file]] >> if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}.o" >> object ${options}] != ""} { >> return -1 >> } >> @@ -65,7 +66,8 @@ proc dtrace_build_usdt_test_program {} { >> } >> # 4. Link everything together to get the test program. >> - if {[gdb_compile "${binfile}.o ${binfile}-p.o" ${binfile} >> executable {debug}] != ""} { >> + if {[gdb_compile "${binfile}.o ${binfile}-p.o" ${binfile} >> executable \ >> + {debug quiet}] != ""} { >> return -1 >> } >> } >> > Then again, it wouldn't hurt to prevent noisy output. So, this LGTM. Ack, thanks for the review. - Tom
On 2/18/20 10:13 AM, Tom de Vries wrote: > On 18-02-2020 13:35, Luis Machado wrote: >> On 2/18/20 9:02 AM, Tom de Vries wrote: >>> Hi, >>> >>> When running gdb.base/dtrace-probe.exp, I get this on stdout/stderr: >>> ... >>> Running src/gdb/testsuite/gdb.base/dtrace-probe.exp ... >>> gdb compile failed, ld: error in \ >>> build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe.o\ >>> (.eh_frame); no .eh_frame_hdr table will be created >>> ld: crt1.o: in function `_start': >>> start.S:110: undefined reference to `main' >>> ld: build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o:\ >>> (.SUNW_dof+0x88): undefined reference to `main' >>> ld: build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o:\ >>> (.SUNW_dof+0xb8): undefined reference to `main' >>> collect2: error: ld returned 1 exit status >>> >>> === gdb Summary === >>> >>> nr of untested testcases 1 >> >> Odd. I'm running this natively on aarch64 and i don't see the same. I >> only get output in gdb.log. >> > > I've looked a bit at the semantics of output_clone (in > /usr/share/dejagnu/framework.exp), and the only way I could think of how > that would happen for you is if the output somehow starts with a keyword > like PASS/FAIL/WARNING/ERROR/etc. [ If you want to chase that difference > it could be useful to post a gdb.log/gdb.sum/stdout_stderr.log. ] I think the setup i have differs from yours. I don't have DTtrace, so the testsuite ends up using pdtrace. That somehow makes things go a different way. The build ends up failing, but silently. as: unrecognized option '-64 readelf: Error: 'binutils-gdb-master/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o': No such file error: could not extract the start of shdr from binutils-gdb-master/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o UNTESTED: gdb.base/dtrace-probe.exp: failed to compile
On 18-02-2020 14:20, Luis Machado wrote: > On 2/18/20 10:13 AM, Tom de Vries wrote: >> On 18-02-2020 13:35, Luis Machado wrote: >>> On 2/18/20 9:02 AM, Tom de Vries wrote: >>>> Hi, >>>> >>>> When running gdb.base/dtrace-probe.exp, I get this on stdout/stderr: >>>> ... >>>> Running src/gdb/testsuite/gdb.base/dtrace-probe.exp ... >>>> gdb compile failed, ld: error in \ >>>> build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe.o\ >>>> (.eh_frame); no .eh_frame_hdr table will be created >>>> ld: crt1.o: in function `_start': >>>> start.S:110: undefined reference to `main' >>>> ld: >>>> build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o:\ >>>> (.SUNW_dof+0x88): undefined reference to `main' >>>> ld: >>>> build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o:\ >>>> (.SUNW_dof+0xb8): undefined reference to `main' >>>> collect2: error: ld returned 1 exit status >>>> >>>> === gdb Summary === >>>> >>>> nr of untested testcases 1 >>> >>> Odd. I'm running this natively on aarch64 and i don't see the same. I >>> only get output in gdb.log. >>> >> >> I've looked a bit at the semantics of output_clone (in >> /usr/share/dejagnu/framework.exp), and the only way I could think of how >> that would happen for you is if the output somehow starts with a keyword >> like PASS/FAIL/WARNING/ERROR/etc. [ If you want to chase that difference >> it could be useful to post a gdb.log/gdb.sum/stdout_stderr.log. ] > > I think the setup i have differs from yours. I don't have DTtrace, so > the testsuite ends up using pdtrace. Same here. > That somehow makes things go a > different way. The build ends up failing, but silently. > > as: unrecognized option '-64 > readelf: Error: > 'binutils-gdb-master/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o': > No such file > error: could not extract the start of shdr from > binutils-gdb-master/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o > > UNTESTED: gdb.base/dtrace-probe.exp: failed to compile OK, that explains it. In both cases, dtrace_build_usdt_test_program fails, in my case in a gdb_compile call, in your case in one of the $dtrace calls (my guess is the second one). Thanks, - Tom
>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:
Tom> [gdb/testsuite] Be quiet about untested dtrace-prob.exp
Tom> gdb/testsuite/ChangeLog:
Tom> 2020-02-18 Tom de Vries <tdevries@suse.de>
Tom> * lib/dtrace.exp (dtrace_build_usdt_test_program): Use quiet as
Tom> gdb_compile option.
This seems reasonable to me.
Tom
diff --git a/gdb/testsuite/lib/dtrace.exp b/gdb/testsuite/lib/dtrace.exp index 9aed481f32..8f861c9de4 100644 --- a/gdb/testsuite/lib/dtrace.exp +++ b/gdb/testsuite/lib/dtrace.exp @@ -52,7 +52,8 @@ proc dtrace_build_usdt_test_program {} { } # 2. Compile testprogram.c. - set options [list debug additional_flags=-I[file dirname $out_header_file]] + set options [list debug quiet \ + additional_flags=-I[file dirname $out_header_file]] if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}.o" object ${options}] != ""} { return -1 } @@ -65,7 +66,8 @@ proc dtrace_build_usdt_test_program {} { } # 4. Link everything together to get the test program. - if {[gdb_compile "${binfile}.o ${binfile}-p.o" ${binfile} executable {debug}] != ""} { + if {[gdb_compile "${binfile}.o ${binfile}-p.o" ${binfile} executable \ + {debug quiet}] != ""} { return -1 } }