testsuite: handle SIGLOST/SIGPWR conflict in sparc64-*-linux-gnu targets.

2013-10-03  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* gdb.base/sigall.exp (test_one_sig): gdb identifies SIGLOST as a
	SIGPWR in sparc64.

	* gdb.base/sigall.c (main): In some targets SIGLOST and SIGPWR
	have the same signal number.  Handle this situation.
This commit is contained in:
Jose E. Marchesi 2013-12-03 04:29:02 -08:00
parent 7fb1b8b13f
commit f130030056
3 changed files with 20 additions and 4 deletions

View File

@ -1,3 +1,11 @@
2013-10-03 Jose E. Marchesi <jose.marchesi@oracle.com>
* gdb.base/sigall.exp (test_one_sig): gdb identifies SIGLOST as a
SIGPWR in sparc64.
* gdb.base/sigall.c (main): In some targets SIGLOST and SIGPWR
have the same signal number. Handle this situation.
2013-12-03 Joel Brobecker <brobecker@adacore.com>
* gdb.ada/dot_all: New testcase.

View File

@ -1083,7 +1083,7 @@ return 0;
int
gen_PWR ()
{
#ifdef SIGPWR
#if defined(SIGPWR) && (!defined (SIGLOST) || SIGPWR != SIGLOST)
kill (getpid (), SIGPWR);
#else
handle_PWR (0);
@ -1662,7 +1662,7 @@ main ()
#ifdef SIGUSR2
signal (SIGUSR2, handle_USR2);
#endif
#ifdef SIGPWR
#if defined(SIGPWR) && (!defined (SIGLOST) || SIGPWR != SIGLOST)
signal (SIGPWR, handle_PWR);
#endif
#if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)

View File

@ -39,12 +39,20 @@ proc test_one_sig {nextsig} {
set need_another_continue 1
set missed_handler 0
if $this_sig_supported then {
set esig $thissig
if { $thissig == "IO" } {
setup_xfail "i*86-pc-linuxoldld-gnu" "i*86-pc-linuxaout-gnu"
}
# On Linux SPARC64 systems SIGLOST==SIGPWR and gdb identifies
# the raised signal as PWR.
if { $thissig == "LOST" && [ istarget "sparc64-*-linux*" ] } then {
set esig "PWR"
}
gdb_test "continue" \
"Continuing.*Program received signal SIG$thissig.*" \
"get signal $thissig"
"Continuing.*Program received signal SIG$esig.*" \
"get signal $esig"
}
if [ istarget "alpha-dec-osf3*" ] then {
# OSF/1-3.x is unable to continue with a job control stop signal.