From b5ab8ff3a405de207d647b0fd0a3346939c8042e Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Sat, 4 Jan 2003 23:05:05 +0000 Subject: [PATCH] Fix PR gdb/844 * lib/gdb.exp (gdb_compile): Handle "quiet" option. (gdb_compile_pthreads): Pass "quiet" to gdb_compile. * gdb.threads/gcore-thread.exp: Use gdb_compile_pthreads. Return instead of calling gdb_suppress_entire_file. * gdb.threads/print-threads.exp: Likewise. * gdb.threads/schedlock.exp: Likewise. * gdb.threads/killed.exp: Return instead of calling gdb_suppress_entire_file. * gdb.threads/linux-dp.exp: Likewise. * gdb.threads/pthreads.exp: Likewise. --- gdb/testsuite/ChangeLog | 16 +++++++++ gdb/testsuite/gdb.threads/gcore-thread.exp | 31 ++---------------- gdb/testsuite/gdb.threads/killed.exp | 2 +- gdb/testsuite/gdb.threads/linux-dp.exp | 4 +-- gdb/testsuite/gdb.threads/print-threads.exp | 36 +-------------------- gdb/testsuite/gdb.threads/pthreads.exp | 2 +- gdb/testsuite/gdb.threads/schedlock.exp | 36 +-------------------- gdb/testsuite/lib/gdb.exp | 7 ++-- 8 files changed, 29 insertions(+), 105 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 66025203935..6c39246bc9a 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,19 @@ +2003-01-04 Daniel Jacobowitz + + Fix PR gdb/844 + * lib/gdb.exp (gdb_compile): Handle "quiet" option. + (gdb_compile_pthreads): Pass "quiet" to gdb_compile. + + * gdb.threads/gcore-thread.exp: Use gdb_compile_pthreads. Return + instead of calling gdb_suppress_entire_file. + * gdb.threads/print-threads.exp: Likewise. + * gdb.threads/schedlock.exp: Likewise. + + * gdb.threads/killed.exp: Return instead of calling + gdb_suppress_entire_file. + * gdb.threads/linux-dp.exp: Likewise. + * gdb.threads/pthreads.exp: Likewise. + 2003-01-04 Daniel Jacobowitz * gdb.base/callfuncs.exp: Don't XFAIL unprototyped functions for diff --git a/gdb/testsuite/gdb.threads/gcore-thread.exp b/gdb/testsuite/gdb.threads/gcore-thread.exp index 6ec14ef38fa..8184fa52d0b 100644 --- a/gdb/testsuite/gdb.threads/gcore-thread.exp +++ b/gdb/testsuite/gdb.threads/gcore-thread.exp @@ -1,4 +1,4 @@ -# Copyright 2002 Free Software Foundation, Inc. +# Copyright 2002, 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -32,38 +32,13 @@ set testfile "pthreads" set srcfile ${testfile}.c set binfile ${objdir}/${subdir}/${testfile} -set built_binfile 0 if [istarget "*-*-linux"] then { set target_cflags "-D_MIT_POSIX_THREADS" } else { set target_cflags "" } -set why_msg "unrecognized error" -foreach lib {-lpthreads -lpthread -lthread} { - set options "debug" - lappend options "incdir=${objdir}" - lappend options "libs=$lib" - set ccout [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $options] - switch -regexp -- $ccout { - ".*no posix threads support.*" { - set why_msg "missing threads include file" - break - } - ".*cannot open -lpthread.*" { - set why_msg "missing runtime threads library" - } - ".*Can't find library for -lpthread.*" { - set why_msg "missing runtime threads library" - } - {^$} { - pass "successfully compiled posix threads test case" - set built_binfile 1 - break - } - } -} -if {$built_binfile == "0"} { - unsupported "Couldn't compile ${srcfile}, ${why_msg}" + +if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug "incdir=${objdir}"]] != "" } { return -1 } diff --git a/gdb/testsuite/gdb.threads/killed.exp b/gdb/testsuite/gdb.threads/killed.exp index 8037dd492b5..5557d453a8b 100644 --- a/gdb/testsuite/gdb.threads/killed.exp +++ b/gdb/testsuite/gdb.threads/killed.exp @@ -67,7 +67,7 @@ set srcfile ${testfile}.c set binfile ${objdir}/${subdir}/${testfile} if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug "incdir=${objdir}"]] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." + return -1 } diff --git a/gdb/testsuite/gdb.threads/linux-dp.exp b/gdb/testsuite/gdb.threads/linux-dp.exp index 67ed122d103..6d48b0dd141 100644 --- a/gdb/testsuite/gdb.threads/linux-dp.exp +++ b/gdb/testsuite/gdb.threads/linux-dp.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2001, 2002 Free Software Foundation, Inc. +# Copyright 1999, 2001, 2002, 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ set testfile "linux-dp" set srcfile ${testfile}.c set binfile ${objdir}/${subdir}/${testfile} if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug libs=-lpthread}] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." + return -1 } gdb_start diff --git a/gdb/testsuite/gdb.threads/print-threads.exp b/gdb/testsuite/gdb.threads/print-threads.exp index 7bbc5aaaf6e..60a106a050b 100644 --- a/gdb/testsuite/gdb.threads/print-threads.exp +++ b/gdb/testsuite/gdb.threads/print-threads.exp @@ -38,41 +38,7 @@ set binfile ${objdir}/${subdir}/${testfile} # carriage return) set horiz "\[^\n\r\]*" -set built_binfile 0 - -# Default to the usual (only?) -lpthread on GNU/Linux to quiet noise -if [istarget "*-*-linux*"] then { - set possible_libs "-lpthread -lpthreads -lthread" -} else { - set possible_libs "-lpthreads -lpthread -lthread" -} - -set why_msg "unrecognized error" -foreach lib $possible_libs { - set options "debug" - lappend options "incdir=${objdir}" - lappend options "libs=$lib" - set ccout [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $options] - switch -regexp -- $ccout { - ".*no posix threads support.*" { - set why_msg "missing threads include file" - break - } - ".*cannot open -lpthread.*" { - set why_msg "missing runtime threads library" - } - ".*Can't find library for -lpthread.*" { - set why_msg "missing runtime threads library" - } - {^$} { - pass "successfully compiled posix threads test case" - set built_binfile 1 - break - } - } -} -if {$built_binfile == "0"} { - unsupported "Couldn't compile ${srcfile}, ${why_msg}" +if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug "incdir=${objdir}"]] != "" } { return -1 } diff --git a/gdb/testsuite/gdb.threads/pthreads.exp b/gdb/testsuite/gdb.threads/pthreads.exp index c37e306ca5b..1ab019bbea6 100644 --- a/gdb/testsuite/gdb.threads/pthreads.exp +++ b/gdb/testsuite/gdb.threads/pthreads.exp @@ -46,7 +46,7 @@ if [istarget "*-*-linux"] then { } if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug "incdir=${objdir}"]] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." + return -1 } diff --git a/gdb/testsuite/gdb.threads/schedlock.exp b/gdb/testsuite/gdb.threads/schedlock.exp index 2f0be4bc345..28298c684a9 100644 --- a/gdb/testsuite/gdb.threads/schedlock.exp +++ b/gdb/testsuite/gdb.threads/schedlock.exp @@ -33,41 +33,7 @@ set testfile "schedlock" set srcfile ${testfile}.c set binfile ${objdir}/${subdir}/${testfile} -set built_binfile 0 - -# Default to the usual (only?) -lpthread on GNU/Linux to quiet noise -if [istarget "*-*-linux*"] then { - set possible_libs "-lpthread -lpthreads -lthread" -} else { - set possible_libs "-lpthreads -lpthread -lthread" -} - -set why_msg "unrecognized error" -foreach lib $possible_libs { - set options "debug" - lappend options "incdir=${objdir}" - lappend options "libs=$lib" - set ccout [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $options] - switch -regexp -- $ccout { - ".*no posix threads support.*" { - set why_msg "missing threads include file" - break - } - ".*cannot open -lpthread.*" { - set why_msg "missing runtime threads library" - } - ".*Can't find library for -lpthread.*" { - set why_msg "missing runtime threads library" - } - {^$} { - pass "successfully compiled posix threads test case" - set built_binfile 1 - break - } - } -} -if {$built_binfile == "0"} { - unsupported "Couldn't compile ${srcfile}, ${why_msg}" +if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug "incdir=${objdir}"]] != "" } { return -1 } diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index a3392219bb8..b4261ae31a3 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -1,4 +1,5 @@ -# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 +# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +# 2002, 2003 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -1134,7 +1135,7 @@ proc gdb_compile {source dest type options} { set result [target_compile $source $dest $type $options]; regsub "\[\r\n\]*$" "$result" "" result; regsub "^\[\r\n\]*" "$result" "" result; - if { $result != "" } { + if { $result != "" && [lsearch $options quiet] == -1} { clone_output "gdb compile failed, $result" } return $result; @@ -1150,7 +1151,7 @@ proc gdb_compile_pthreads {source dest type options} { foreach lib {-lpthreads -lpthread -lthread} { # This kind of wipes out whatever libs the caller may have # set. Or maybe theirs will override ours. How infelicitous. - set options_with_lib [concat $options [list libs=$lib]] + set options_with_lib [concat $options [list libs=$lib quiet]] set ccout [gdb_compile $source $dest $type $options_with_lib] switch -regexp -- $ccout { ".*no posix threads support.*" { -- 2.30.2