gdb/testsuite: link some dwarf2 tests with nopie
[deliverable/binutils-gdb.git] / gdb / amd64-linux-nat.c
index f98d992070a340d0c37d249f0a8c10a3c5d71aa9..d860571c37d809799ae750ca50d666895094ba1a 100644 (file)
@@ -259,30 +259,6 @@ amd64_linux_nat_target::fetch_registers (struct regcache *regcache, int regnum)
 
          amd64_supply_fxsave (regcache, -1, &fpregs);
        }
-#ifndef HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE
-      {
-       /* PTRACE_ARCH_PRCTL is obsolete since 2.6.25, where the
-          fs_base and gs_base fields of user_regs_struct can be
-          used directly.  */
-       unsigned long base;
-
-       if (regnum == -1 || regnum == AMD64_FSBASE_REGNUM)
-         {
-           if (ptrace (PTRACE_ARCH_PRCTL, tid, &base, ARCH_GET_FS) < 0)
-             perror_with_name (_("Couldn't get segment register fs_base"));
-
-           regcache->raw_supply (AMD64_FSBASE_REGNUM, &base);
-         }
-
-       if (regnum == -1 || regnum == AMD64_GSBASE_REGNUM)
-         {
-           if (ptrace (PTRACE_ARCH_PRCTL, tid, &base, ARCH_GET_GS) < 0)
-             perror_with_name (_("Couldn't get segment register gs_base"));
-
-           regcache->raw_supply (AMD64_GSBASE_REGNUM, &base);
-         }
-      }
-#endif
     }
 }
 
@@ -348,30 +324,6 @@ amd64_linux_nat_target::store_registers (struct regcache *regcache, int regnum)
          if (ptrace (PTRACE_SETFPREGS, tid, 0, (long) &fpregs) < 0)
            perror_with_name (_("Couldn't write floating point status"));
        }
-
-#ifndef HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE
-      {
-       /* PTRACE_ARCH_PRCTL is obsolete since 2.6.25, where the
-          fs_base and gs_base fields of user_regs_struct can be
-          used directly.  */
-       void *base;
-
-       if (regnum == -1 || regnum == AMD64_FSBASE_REGNUM)
-         {
-           regcache->raw_collect (AMD64_FSBASE_REGNUM, &base);
-
-           if (ptrace (PTRACE_ARCH_PRCTL, tid, base, ARCH_SET_FS) < 0)
-             perror_with_name (_("Couldn't write segment register fs_base"));
-         }
-       if (regnum == -1 || regnum == AMD64_GSBASE_REGNUM)
-         {
-
-           regcache->raw_collect (AMD64_GSBASE_REGNUM, &base);
-           if (ptrace (PTRACE_ARCH_PRCTL, tid, base, ARCH_SET_GS) < 0)
-             perror_with_name (_("Couldn't write segment register gs_base"));
-         }
-      }
-#endif
     }
 }
 \f
@@ -383,7 +335,7 @@ ps_err_e
 ps_get_thread_area (struct ps_prochandle *ph,
                     lwpid_t lwpid, int idx, void **base)
 {
-  if (gdbarch_bfd_arch_info (target_gdbarch ())->bits_per_word == 32)
+  if (gdbarch_bfd_arch_info (ph->thread->inf->gdbarch)->bits_per_word == 32)
     {
       unsigned int base_addr;
       ps_err_e result;
@@ -408,11 +360,7 @@ ps_get_thread_area (struct ps_prochandle *ph,
       switch (idx)
        {
        case FS:
-#ifdef HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE
            {
-             /* PTRACE_ARCH_PRCTL is obsolete since 2.6.25, where the
-                fs_base and gs_base fields of user_regs_struct can be
-                used directly.  */
              unsigned long fs;
              errno = 0;
              fs = ptrace (PTRACE_PEEKUSER, lwpid,
@@ -423,12 +371,10 @@ ps_get_thread_area (struct ps_prochandle *ph,
                  return PS_OK;
                }
            }
-#endif
-         if (ptrace (PTRACE_ARCH_PRCTL, lwpid, base, ARCH_GET_FS) == 0)
-           return PS_OK;
+
          break;
+
        case GS:
-#ifdef HAVE_STRUCT_USER_REGS_STRUCT_GS_BASE
            {
              unsigned long gs;
              errno = 0;
@@ -440,10 +386,8 @@ ps_get_thread_area (struct ps_prochandle *ph,
                  return PS_OK;
                }
            }
-#endif
-         if (ptrace (PTRACE_ARCH_PRCTL, lwpid, base, ARCH_GET_GS) == 0)
-           return PS_OK;
          break;
+
        default:                   /* Should not happen.  */
          return PS_BADADDR;
        }
@@ -478,8 +422,9 @@ amd64_linux_nat_target::low_siginfo_fixup (siginfo_t *ptrace,
     return false;
 }
 
+void _initialize_amd64_linux_nat ();
 void
-_initialize_amd64_linux_nat (void)
+_initialize_amd64_linux_nat ()
 {
   amd64_native_gregset32_reg_offset = amd64_linux_gregset32_reg_offset;
   amd64_native_gregset32_num_regs = I386_LINUX_NUM_REGS;
This page took 0.025675 seconds and 4 git commands to generate.