@ -30,6 +30,20 @@
# include <signal.h>
/* Always use __SIGRTMIN if it's available. SIGRTMIN is the lowest
_available_ realtime signal , not the lowest supported ; glibc takes
several for its own use . */
# ifndef REALTIME_LO
# if defined(__SIGRTMIN)
# define REALTIME_LO __SIGRTMIN
# define REALTIME_HI __SIGRTMAX
# elif defined(SIGRTMIN)
# define REALTIME_LO __SIGRTMIN
# define REALTIME_HI __SIGRTMAX
# endif
# endif
/* This table must match in order and size the signals in enum target_signal
in target . h . */
/* *INDENT-OFF* */
@ -492,22 +506,6 @@ target_signal_from_host (int hostsig)
}
# endif
# if defined (SIGRTMIN)
if ( hostsig > = SIGRTMIN & & hostsig < = SIGRTMAX )
{
/* This block of TARGET_SIGNAL_REALTIME value is in order. */
if ( 33 < = hostsig & & hostsig < = 63 )
return ( enum target_signal )
( hostsig - 33 + ( int ) TARGET_SIGNAL_REALTIME_33 ) ;
else if ( hostsig = = 32 )
return TARGET_SIGNAL_REALTIME_32 ;
else if ( 64 < = hostsig & & hostsig < = 127 )
return ( enum target_signal )
( hostsig - 64 + ( int ) TARGET_SIGNAL_REALTIME_64 ) ;
else
error ( " GDB bug: target.c (target_signal_from_host): unrecognized real-time signal " ) ;
}
# endif
return TARGET_SIGNAL_UNKNOWN ;
}
@ -744,40 +742,12 @@ do_target_signal_to_host (enum target_signal oursig,
default :
# if defined (REALTIME_LO)
if ( oursig > = TARGET_SIGNAL_REALTIME_33
& & oursig < = TARGET_SIGNAL_REALTIME_63 )
if ( oursig < REALTIME_LO | | oursig > = REALTIME_HI )
{
/* This block of signals is continuous, and
TARGET_SIGNAL_REALTIME_33 is 33 by definition . */
int retsig =
( int ) oursig - ( int ) TARGET_SIGNAL_REALTIME_33 + 33 ;
if ( retsig > = REALTIME_LO & & retsig < REALTIME_HI )
return retsig ;
}
# if (REALTIME_LO < 33)
else if ( oursig = = TARGET_SIGNAL_REALTIME_32 )
{
/* TARGET_SIGNAL_REALTIME_32 isn't contiguous with
TARGET_SIGNAL_REALTIME_33 . It is 32 by definition . */
return 32 ;
}
# endif
# if (REALTIME_HI > 64)
if ( oursig > = TARGET_SIGNAL_REALTIME_64
& & oursig < = TARGET_SIGNAL_REALTIME_127 )
{
/* This block of signals is continuous, and
TARGET_SIGNAL_REALTIME_64 is 64 by definition . */
int retsig =
( int ) oursig - ( int ) TARGET_SIGNAL_REALTIME_64 + 64 ;
if ( retsig > = REALTIME_LO & & retsig < REALTIME_HI )
return retsig ;
* oursig_ok = 0 ;
return 0 ;
}
# endif
# endif
# if defined (SIGRTMIN)
if ( oursig > = TARGET_SIGNAL_REALTIME_33
& & oursig < = TARGET_SIGNAL_REALTIME_63 )
{
@ -785,8 +755,7 @@ do_target_signal_to_host (enum target_signal oursig,
TARGET_SIGNAL_REALTIME_33 is 33 by definition . */
int retsig =
( int ) oursig - ( int ) TARGET_SIGNAL_REALTIME_33 + 33 ;
if ( retsig > = SIGRTMIN & & retsig < = SIGRTMAX )
return retsig ;
return retsig ;
}
else if ( oursig = = TARGET_SIGNAL_REALTIME_32 )
{
@ -804,6 +773,7 @@ do_target_signal_to_host (enum target_signal oursig,
return retsig ;
}
# endif
* oursig_ok = 0 ;
return 0 ;
}