gdbserver/linux-x86: move lwp declaration out of __x86_64__ region
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 18 Nov 2022 17:14:54 +0000 (12:14 -0500)
committerSimon Marchi <simon.marchi@polymtl.ca>
Fri, 18 Nov 2022 17:18:53 +0000 (12:18 -0500)
Commit 4855cbdc3d8f ("gdbserver/linux-x86: make is_64bit_tdesc accept
thread as a parameter") caused this when building in 32 bits / i386
mode:

      CXX    linux-x86-low.o
    In file included from /home/smarchi/src/binutils-gdb/gdbserver/linux-x86-low.cc:24:
    /home/smarchi/src/binutils-gdb/gdbserver/linux-x86-low.cc: In member function ‘virtual int x86_target::low_get_thread_area(int, CORE_ADDR*)’:
    /home/smarchi/src/binutils-gdb/gdbserver/linux-x86-low.cc:357:47: error: ‘lwp’ was not declared in this scope
      357 |     struct thread_info *thr = get_lwp_thread (lwp);
          |                                               ^~~
    /home/smarchi/src/binutils-gdb/gdbserver/linux-low.h:709:31: note: in definition of macro ‘get_lwp_thread’
      709 | #define get_lwp_thread(lwp) ((lwp)->thread)
          |                               ^~~

This is because it moved the lwp variable declaration inside the
__x86_64__ guard, making it unavailable when building in 32 bits mode.
Move the lwp variable outside of the __x86_64__ region.

Change-Id: I7fa3938c6b44b345c27a52c8b8d3ea12aba53e05

gdbserver/linux-x86-low.cc

index 93f6da672937c7cae4b2df560fe793e87c1ed286..b24791f212759dcd8547948975405bf27f810e5c 100644 (file)
@@ -335,9 +335,9 @@ ps_get_thread_area (struct ps_prochandle *ph,
 int
 x86_target::low_get_thread_area (int lwpid, CORE_ADDR *addr)
 {
-#ifdef __x86_64__
   lwp_info *lwp = find_lwp_pid (ptid_t (lwpid));
   gdb_assert (lwp != nullptr);
+#ifdef __x86_64__
   int use_64bit = is_64bit_tdesc (get_lwp_thread (lwp));
 
   if (use_64bit)