From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id Q7MHJum4u2XcfA8AWB0awg (envelope-from ) for ; Thu, 01 Feb 2024 10:29:45 -0500 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=KbNmRymI; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 8377D1E0C3; Thu, 1 Feb 2024 10:29:45 -0500 (EST) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 6A6C91E0C2 for ; Thu, 1 Feb 2024 10:29:43 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B507A385DC31 for ; Thu, 1 Feb 2024 15:29:42 +0000 (GMT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 807E03857B98 for ; Thu, 1 Feb 2024 15:28:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 807E03857B98 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 807E03857B98 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706801328; cv=none; b=lMWXKw/D2Mp7EcQA49NS+VBCTIsfNwfuIm68s0fio2S6hgxr9y5c19rXOzLDd37VgOc0e0VkoFelNkpjRp/clZuGZ1Lhxw/UxvpAwZ5lRtuXXbwk9PBPwS8ECoxXEExH9YFkNxb07SDkfd4J008IH6Hz0WK83UFkKYfs3A2382k= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706801328; c=relaxed/simple; bh=eRgAAb2A9u/+mNVKMZM30TVjGd2Q5zxpy1TAylue6Ks=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=QUkgoge0ZCdkcCPzrm6znDNQaA4TIP8ASI4xZ1Dc0wSLOv8J0hTKBMj/mg+p4Uc3olsZ0BRwDpOX59mOtkTQhQa7sm4OK6WvEyGoA424gBUybO+7znHdc8I36EdzoPYcAIbxr4vh5N04BsaYk9C0+cGNG9ZijDJm0DfM5kp3jtE= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1706801322; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GrnITUppCcDYTR0OySU5PzCf1HbzHk3BW68NuwGxG4E=; b=KbNmRymIsPwRy7TvzkQSGbMCoSL+tfoNVUmGGxfNAlhkTF6G8aRjyrn+mCgsUrsjFkXk3U CHR9zR6bvG3ypBIr1vnJ6SiLZ/zYeyi4NrNaQTytRtsB7f8rkV5QeDXJmeNzvtRvYvdqmD GiZPS8xIiiOURevl52DLj/5GPUgrhw0= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-678-hmngzUPuMi2-3CpDoO9FsQ-1; Thu, 01 Feb 2024 10:28:41 -0500 X-MC-Unique: hmngzUPuMi2-3CpDoO9FsQ-1 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-33af7421635so461351f8f.3 for ; Thu, 01 Feb 2024 07:28:41 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706801318; x=1707406118; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GrnITUppCcDYTR0OySU5PzCf1HbzHk3BW68NuwGxG4E=; b=Zrg8a+/rbcYMdwVo1CQBOKZJ/BMOPQMOYzPlRxENSXyCCtNcaFAJdbuZ1Yz8XKhDFT H0mWyHJtIqps8ApBV7Zd9DKdg9cXfL+apEToLvJfk6Y8htm1+QmU3RnY+syBtugTcnOI yBmsvRYcXQNGdAvjtjOmgqgkGYMwa1VwtqlmLMo2gYEXrEZEwP+7yzoh3RMVAoHgDZnX kvtW3Ue/lVTQFxRGXDUM5nIbDc/STE9XNpLDS7cAR5HA3DIN59cYv3P4VvQkgq5Wosg8 uWvl0rC84kiiEp6SW7MndXPX/uNYI6JmBFCcchQPrZGeztG+FXc3kyJjokkFGcOk1Q5c Gygg== X-Gm-Message-State: AOJu0YxrC/avyrfPl6AlZv/3U+xfoLRK+XDhRn6b6l67uww07Ibn7Nea IVhTKa9nWTuC5KAaTNWzcXiDun4AoeKZHSaGiNcQqlxF/tjhR2SyTy4QU5gTCFzVNGcP8sXIENO p9gs1byBhLZckObh1ZHOdHpoDKzq7wkVQOp5gqjyUfygUMCLGEu8t3ctlkazOn/KuaSMNKue1Uo Y5H5OCoBpSSza1FUUtJNNtExq2+W9QDildYUa8ltEUW1Q= X-Received: by 2002:a05:6000:229:b0:33b:1a39:e501 with SMTP id l9-20020a056000022900b0033b1a39e501mr1040132wrz.28.1706801318665; Thu, 01 Feb 2024 07:28:38 -0800 (PST) X-Google-Smtp-Source: AGHT+IFEYJk05dUejl0IbbTUGxPyQBmlixoY+8OdRCGPJnsBCQKxFlk590BGQWUsMmuSYKQ27zzTXQ== X-Received: by 2002:a05:6000:229:b0:33b:1a39:e501 with SMTP id l9-20020a056000022900b0033b1a39e501mr1040119wrz.28.1706801318171; Thu, 01 Feb 2024 07:28:38 -0800 (PST) Received: from localhost (185.223.159.143.dyn.plus.net. [143.159.223.185]) by smtp.gmail.com with ESMTPSA id f15-20020a056000036f00b00337d84efaf7sm16508418wrf.74.2024.02.01.07.28.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Feb 2024 07:28:37 -0800 (PST) From: Andrew Burgess To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 1/7] gdbserver: convert have_ptrace_getregset to a tribool Date: Thu, 1 Feb 2024 15:28:28 +0000 Message-Id: <6d9e22f40a1a27e2ae8be95f0162c107e79ca89c.1706801009.git.aburgess@redhat.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Convert the have_ptrace_getregset global within gdbserver to a tribool. This brings the flag into alignment with the corresponding flag in GDB. The gdbserver have_ptrace_getregset variable is already used as a tribool, it just doesn't have the tribool type. In a future commit I plan to share more code between GDB and gdbserver, and having this variable be the same type in both code bases will make the sharing much easier. There should be no user visible changes after this commit. --- gdbserver/linux-arm-low.cc | 6 +++--- gdbserver/linux-low.cc | 2 +- gdbserver/linux-low.h | 2 +- gdbserver/linux-x86-low.cc | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/gdbserver/linux-arm-low.cc b/gdbserver/linux-arm-low.cc index 396ec88081b..b4f0e071c92 100644 --- a/gdbserver/linux-arm-low.cc +++ b/gdbserver/linux-arm-low.cc @@ -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 = 1; + have_ptrace_getregset = TRIBOOL_TRUE; else - have_ptrace_getregset = 0; + have_ptrace_getregset = TRIBOOL_FALSE; } bool @@ -1122,7 +1122,7 @@ arm_target::get_regs_info () { const struct target_desc *tdesc = current_process ()->tdesc; - if (have_ptrace_getregset == 1 + if (have_ptrace_getregset == TRIBOOL_TRUE && (is_aarch32_linux_description (tdesc) || arm_linux_get_tdesc_fp_type (tdesc) == ARM_FP_TYPE_VFPV3)) return ®s_info_aarch32; diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc index 444eebc6bbe..2949619f503 100644 --- a/gdbserver/linux-low.cc +++ b/gdbserver/linux-low.cc @@ -135,7 +135,7 @@ typedef struct #endif /* Does the current host support PTRACE_GETREGSET? */ -int have_ptrace_getregset = -1; +enum tribool have_ptrace_getregset = TRIBOOL_UNKNOWN; /* Return TRUE if THREAD is the leader thread of the process. */ diff --git a/gdbserver/linux-low.h b/gdbserver/linux-low.h index d34d2738238..eaf87527338 100644 --- a/gdbserver/linux-low.h +++ b/gdbserver/linux-low.h @@ -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 int have_ptrace_getregset; +extern enum tribool 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 diff --git a/gdbserver/linux-x86-low.cc b/gdbserver/linux-x86-low.cc index 3af0a009052..0a3bd2c8670 100644 --- a/gdbserver/linux-x86-low.cc +++ b/gdbserver/linux-x86-low.cc @@ -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 = 0; + have_ptrace_getregset = TRIBOOL_FALSE; 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 == -1) + if (have_ptrace_getregset == TRIBOOL_UNKNOWN) { 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 = 0; + have_ptrace_getregset = TRIBOOL_FALSE; else { - have_ptrace_getregset = 1; + have_ptrace_getregset = TRIBOOL_TRUE; /* Get XCR0 from XSAVE extended state. */ xcr0 = xstateregs[(I386_LINUX_XSAVE_XCR0_OFFSET @@ -951,7 +951,7 @@ x86_linux_read_description (void) } /* Check the native XCR0 only if PTRACE_GETREGSET is available. */ - xcr0_features = (have_ptrace_getregset + xcr0_features = (have_ptrace_getregset == TRIBOOL_TRUE && (xcr0 & X86_XSTATE_ALL_MASK)); if (xcr0_features) -- 2.25.4