Revert "gdbserver: convert have_ptrace_getregset to a tribool"

This reverts commit 5920765d75.
This commit is contained in:
Andrew Burgess 2024-03-26 18:53:31 +00:00
parent 9480801c1f
commit 56f703d39d
4 changed files with 10 additions and 10 deletions

View File

@ -1007,9 +1007,9 @@ arm_target::low_arch_setup ()
/* Check if PTRACE_GETREGSET works. */
if (ptrace (PTRACE_GETREGSET, tid, NT_PRSTATUS, &iov) == 0)
have_ptrace_getregset = TRIBOOL_TRUE;
have_ptrace_getregset = 1;
else
have_ptrace_getregset = TRIBOOL_FALSE;
have_ptrace_getregset = 0;
}
bool
@ -1122,7 +1122,7 @@ arm_target::get_regs_info ()
{
const struct target_desc *tdesc = current_process ()->tdesc;
if (have_ptrace_getregset == TRIBOOL_TRUE
if (have_ptrace_getregset == 1
&& (is_aarch32_linux_description (tdesc)
|| arm_linux_get_tdesc_fp_type (tdesc) == ARM_FP_TYPE_VFPV3))
return &regs_info_aarch32;

View File

@ -135,7 +135,7 @@ typedef struct
#endif
/* Does the current host support PTRACE_GETREGSET? */
enum tribool have_ptrace_getregset = TRIBOOL_UNKNOWN;
int have_ptrace_getregset = -1;
/* Return TRUE if THREAD is the leader thread of the process. */

View File

@ -951,7 +951,7 @@ void thread_db_notice_clone (struct thread_info *parent_thr, ptid_t child_ptid);
bool thread_db_thread_handle (ptid_t ptid, gdb_byte **handle, int *handle_len);
extern enum tribool have_ptrace_getregset;
extern int have_ptrace_getregset;
/* Search for the value with type MATCH in the auxv vector, with entries of
length WORDSIZE bytes, of process with pid PID. If found, store the

View File

@ -899,7 +899,7 @@ x86_linux_read_description (void)
if (ptrace (PTRACE_GETFPXREGS, tid, 0, (long) &fpxregs) < 0)
{
have_ptrace_getfpxregs = 0;
have_ptrace_getregset = TRIBOOL_FALSE;
have_ptrace_getregset = 0;
return i386_linux_read_description (X86_XSTATE_X87);
}
else
@ -918,7 +918,7 @@ x86_linux_read_description (void)
return tdesc_i386_linux_no_xml.get ();
}
if (have_ptrace_getregset == TRIBOOL_UNKNOWN)
if (have_ptrace_getregset == -1)
{
uint64_t xstateregs[(X86_XSTATE_SSE_SIZE / sizeof (uint64_t))];
struct iovec iov;
@ -929,10 +929,10 @@ x86_linux_read_description (void)
/* Check if PTRACE_GETREGSET works. */
if (ptrace (PTRACE_GETREGSET, tid,
(unsigned int) NT_X86_XSTATE, (long) &iov) < 0)
have_ptrace_getregset = TRIBOOL_FALSE;
have_ptrace_getregset = 0;
else
{
have_ptrace_getregset = TRIBOOL_TRUE;
have_ptrace_getregset = 1;
/* Get XCR0 from XSAVE extended state. */
xcr0 = xstateregs[(I386_LINUX_XSAVE_XCR0_OFFSET
@ -955,7 +955,7 @@ x86_linux_read_description (void)
}
/* Check the native XCR0 only if PTRACE_GETREGSET is available. */
xcr0_features = (have_ptrace_getregset == TRIBOOL_TRUE
xcr0_features = (have_ptrace_getregset
&& (xcr0 & X86_XSTATE_ALL_MASK));
if (xcr0_features)