From a402c3ac22ec70620d19a0758f10a8d15835fb5e Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Wed, 8 May 2024 15:04:56 +0100 Subject: [PATCH] gdb: move have_ptrace_getregset declaration into gdb/nat directory In a later commit I want to access have_ptrace_getregset from a .c file in the nat/ directory. To achieve this I need access to the declaration of have_ptrace_getregset. Currently have_ptrace_getregset is declared (and defined) twice, once in GDB and once in gdbserver. This commit moves the declaration into nat/linux-nat.h, but leaves the two definitions where they are. Now, in my later commit, I can pull in the declaration from nat/linux-nat.h. There should be no user visible changes after this commit. Approved-By: Felix Willgerodt --- gdb/linux-nat.c | 2 +- gdb/linux-nat.h | 3 --- gdb/nat/linux-nat.h | 3 +++ gdbserver/linux-low.cc | 2 +- gdbserver/linux-low.h | 2 -- 5 files changed, 5 insertions(+), 7 deletions(-) diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index c95d420d416..c0fe08a2a8b 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -243,7 +243,7 @@ PTRACE_PEEKTEXT/PTRACE_POKETEXT or process_vm_readv/process_vm_writev: struct linux_nat_target *linux_target; -/* Does the current host support PTRACE_GETREGSET? */ +/* See nat/linux-nat.h. */ enum tribool have_ptrace_getregset = TRIBOOL_UNKNOWN; /* When true, print debug messages relating to the linux native target. */ diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h index 92b16f7414e..f30a5f90e2a 100644 --- a/gdb/linux-nat.h +++ b/gdb/linux-nat.h @@ -299,9 +299,6 @@ lwp_info_range all_lwps (); lwp_info_safe_range all_lwps_safe (); -/* Does the current host support PTRACE_GETREGSET? */ -extern enum tribool have_ptrace_getregset; - /* Called from the LWP layer to inform the thread_db layer that PARENT spawned CHILD. Both LWPs are currently stopped. This function does whatever is required to have the child LWP under the diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h index d4a36cbb601..b9fba7924b9 100644 --- a/gdb/nat/linux-nat.h +++ b/gdb/nat/linux-nat.h @@ -36,6 +36,9 @@ struct arch_lwp_info; instead SIGTRAP with bit 7 set. */ #define SYSCALL_SIGTRAP (SIGTRAP | 0x80) +/* Does the current host support PTRACE_GETREGSET? */ +extern tribool have_ptrace_getregset; + /* Return the ptid of the current lightweight process. With NPTL threads and LWPs map 1:1, so this is equivalent to returning the ptid of the current thread. This function must be provided by diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc index ac7f9807ecc..266c7de8fb8 100644 --- a/gdbserver/linux-low.cc +++ b/gdbserver/linux-low.cc @@ -133,7 +133,7 @@ typedef struct } Elf64_auxv_t; #endif -/* Does the current host support PTRACE_GETREGSET? */ +/* See nat/linux-nat.h. */ 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 eaf87527338..273c04626b8 100644 --- a/gdbserver/linux-low.h +++ b/gdbserver/linux-low.h @@ -951,8 +951,6 @@ 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; - /* 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 value in *VALP and return 1. If not found or if there is an error,