From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id cDYmH+LvD2YoYiQAWB0awg (envelope-from ) for ; Fri, 05 Apr 2024 08:34:42 -0400 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=erlAEc5s; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 743D51E0C0; Fri, 5 Apr 2024 08:34:42 -0400 (EDT) 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 516DB1E030 for ; Fri, 5 Apr 2024 08:34:40 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 07CD13846062 for ; Fri, 5 Apr 2024 12:34:40 +0000 (GMT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 690C83847718 for ; Fri, 5 Apr 2024 12:33:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 690C83847718 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 690C83847718 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712320414; cv=none; b=SryByPCQkXukriqp8Y1mal4rLvuO+YuBz2ujcnn+3fI3vPCTyq4tmVf/ZJkroeEFJfKxJL+IYNUUt9ngPghsyRbFg/SMD7ijjuWt2zCi2i1LhiGrD/BuHUsOcer4E0NDMOxB4C6JjyXm/pITCdt97c3RJBkL45NrLAcxJd4SoqE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712320414; c=relaxed/simple; bh=/nUOemMvsWQPDkZFwybvmkdP9ntAcj5h1r0UIEgHY/M=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=Fwf8HU89tgBmbU4Low8zRSauW6myX+UqOnjHS0833P1z1pzwk33fWf5moaOZok15aO166pES4B5YG/m71C0QEeDvwUIZEVSJTUOHc23wmGFo1Krz9/jAInNL+K9HDN1iqBrdKtoQXYUbNKfsbTsvOMPsNsxuu7oeoIzTuE/4q98= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1712320412; 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=MtdQQVuKnws2of4VqPP5wXu9scbzfaDGrfxWvU1k07Y=; b=erlAEc5sGjBTx16bmIrWTPX6HBZ1LakorRs/088HTgz7uNz6T6lJ0U+BJoO1jBi+LdG31n 9xHDB34IFOLHR+XAf3UxYdu6HrxM7cVOi5VMQLz/LnMAzHR9GzzYSWiYGIBlmTVUqYlqn1 LEOonCFjqHS4DOsODd3fkLz5bbd4OWw= Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-625-gwsOpjhgP-qr6jNDHQpLOg-1; Fri, 05 Apr 2024 08:33:31 -0400 X-MC-Unique: gwsOpjhgP-qr6jNDHQpLOg-1 Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-a51abede507so19440666b.0 for ; Fri, 05 Apr 2024 05:33:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712320409; x=1712925209; 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=MtdQQVuKnws2of4VqPP5wXu9scbzfaDGrfxWvU1k07Y=; b=Yq/afpiE4QUU+MWdv2HWxgi4kQ2ZrdUFlJwPrvje0sYQdqDsCFnIawC1UNFSXvvRF9 HALI5FRV2FCFVUuxoVz4D7dbok5Wpd4hvdGZQHG+g8f7fjMyu33hbcnFK+RfzD0DB3YV LLRZYh6nFvUT4fucaH4mGomRPNyKH9qfGoC582mCE0BEiMzR9zWuQQtDkJE4NmA+JGQa pWUvZeysgT+2W8zoX75ludW5BmoA0e9++H6N0cckgxDCQvhKM8w3P4P4+NA9BXLcmZ+J XiUwhuA5bqG2C3PnxMUbHwDBhkMcjDriyrEtOYjhoByR30QDUQfJ7MI5icsVNAHx3TsH itZQ== X-Gm-Message-State: AOJu0YxNperTYePqouMrP+BQstHPIUbtmnCiHNb3ZH7afAppzSbjwQBR dAcxsTwUlczs2F/mlG9v07lwzYPeIlr6lsMJJt+pBDBc2LIRhNDBifc23e682pmQrhOhgFm4z78 4aM+OSBCpz6LTp6iFvAVe3sySqNpnHpI48S91KTjrjILRO1XXhsfuPoqRI+uloTIQKfRuTAHJDO Gw9cno2MBtuc198mlCrycKlA5TmirzQKnR7Da7Ii6ls3Y= X-Received: by 2002:a17:906:88b:b0:a51:a688:3ea1 with SMTP id n11-20020a170906088b00b00a51a6883ea1mr1069486eje.40.1712320408627; Fri, 05 Apr 2024 05:33:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHVYh9fvRqxKJ1WDoEpZA1x+L4t/0gC8BjaQfbELdIlP+9YO1EoosjNEwdZ6MZX4lZFRENaEA== X-Received: by 2002:a17:906:88b:b0:a51:a688:3ea1 with SMTP id n11-20020a170906088b00b00a51a6883ea1mr1069464eje.40.1712320408096; Fri, 05 Apr 2024 05:33:28 -0700 (PDT) Received: from localhost (185.223.159.143.dyn.plus.net. [143.159.223.185]) by smtp.gmail.com with ESMTPSA id d9-20020a1709061f4900b00a519054d7ddsm788260ejk.61.2024.04.05.05.33.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Apr 2024 05:33:26 -0700 (PDT) From: Andrew Burgess To: gdb-patches@sourceware.org Cc: Andrew Burgess , John Baldwin Subject: [PATCHv4 02/10] gdbserver: convert have_ptrace_getregset to a tribool Date: Fri, 5 Apr 2024 13:33:12 +0100 Message-Id: <19a6a698c66b1b88610cedefe4abda9b939f7982.1712245988.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=-11.9 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_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP 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. Approved-By: John Baldwin --- 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 17b64c09aff..eec4649b235 100644 --- a/gdbserver/linux-arm-low.cc +++ b/gdbserver/linux-arm-low.cc @@ -1006,9 +1006,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 @@ -1121,7 +1121,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 d8842f0972d..5ba61178132 100644 --- a/gdbserver/linux-low.cc +++ b/gdbserver/linux-low.cc @@ -134,7 +134,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 2532603451a..2603fb2ac5d 100644 --- a/gdbserver/linux-x86-low.cc +++ b/gdbserver/linux-x86-low.cc @@ -898,7 +898,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 @@ -917,7 +917,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; @@ -928,10 +928,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 @@ -954,7 +954,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