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.
This commit is contained in:
Daniel Jacobowitz 2003-01-04 23:05:05 +00:00
parent ff2d781336
commit b5ab8ff3a4
8 changed files with 29 additions and 105 deletions

View File

@ -1,3 +1,19 @@
2003-01-04 Daniel Jacobowitz <drow@mvista.com>
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 <drow@mvista.com>
* gdb.base/callfuncs.exp: Don't XFAIL unprototyped functions for

View File

@ -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
}

View File

@ -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
}

View File

@ -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

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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.*" {