Sync proc_service definition with GLIBC

Message ID 1471468737-10208-1-git-send-email-adhemerval.zanella@linaro.org
State New, archived
Headers

Commit Message

Adhemerval Zanella Netto Aug. 17, 2016, 9:18 p.m. UTC
  GLIBC BZ#20311 [1] proc_service.h install patch also remove 'const'
attributes from ps_get_thread_area and comment #15 discuss why to remove
the const attribute (basically since it a callback with the struct
ps_prochandle owned by the client it should be able to modify it if
it the case).

On default build this is not the issue and current g++ does not trigger
any issue with this mismatch declaration.  However, on some bootstrap
build configuration where gdbserver is build with gcc instead this
triggers:

error: conflicting types for 'ps_get_thread_area'

This patch fixes it by syncing the declaration with GLIBC.

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=20311

2016-08-17  Adhemerval Zanella  <adhemerval.zanella@linaro.org>

	* gdb/aarch64-linux-nat.c (ps_get_thread_area): Remove const from
	struct ps_prochandle.
	* gdb/amd64-linux-nat.c (ps_get_thread_area): Likewise.
	* gdb/arm-linux-nat.c (ps_get_thread_area): Likewise.
	* gdb/gdb_proc_service.h (ps_get_thread_area): Likewise.
	* gdb/gdbserver/gdb_proc_service.h (ps_get_thread_area): Likewise.
	* gdb/gdbserver/linux-aarch64-low.c (ps_get_thread_area): Likewise.
	* gdb/gdbserver/linux-arm-low.c (ps_get_thread_area): Likewise.
	* gdb/gdbserver/linux-crisv32-low.c (ps_get_thread_area): Likewise.
	* gdb/gdbserver/linux-m68k-low.c (ps_get_thread_area): Likewise.
	* gdb/gdbserver/linux-mips-low.c (ps_get_thread_area): Likewise.
	* gdb/gdbserver/linux-nios2-low.c (ps_get_thread_area): Likewise.
	* gdb/gdbserver/linux-tic6x-low.c (ps_get_thread_area): Likewise.
	* gdb/gdbserver/linux-x86-low.c (ps_get_thread_area): Likewise.
	* gdb/gdbserver/linux-xtensa-low.c (ps_get_thread_area): Likewise.
	* gdb/i386-linux-nat.c (ps_get_thread_area): Likewise.
	* gdb/m68klinux-nat.c (ps_get_thread_area): Likewise.
	* gdb/mips-linux-nat.c (ps_get_thread_area): Likewise.
	* gdb/nat/aarch64-linux.c (aarch64_ps_get_thread_area): Likewise.
	* gdb/nat/aarch64-linux.h (aarch64_ps_get_thread_area): Likewise.
	* gdb/xtensa-linux-nat.c (ps_get_thread_area): Likewise.

---
 gdb/ChangeLog                     | 24 ++++++++++++++++++++++++
 gdb/aarch64-linux-nat.c           |  2 +-
 gdb/amd64-linux-nat.c             |  2 +-
 gdb/arm-linux-nat.c               |  2 +-
 gdb/gdb_proc_service.h            |  2 +-
 gdb/gdbserver/gdb_proc_service.h  |  2 +-
 gdb/gdbserver/linux-aarch64-low.c |  2 +-
 gdb/gdbserver/linux-arm-low.c     |  2 +-
 gdb/gdbserver/linux-crisv32-low.c |  2 +-
 gdb/gdbserver/linux-m68k-low.c    |  2 +-
 gdb/gdbserver/linux-mips-low.c    |  2 +-
 gdb/gdbserver/linux-nios2-low.c   |  2 +-
 gdb/gdbserver/linux-tic6x-low.c   |  2 +-
 gdb/gdbserver/linux-x86-low.c     |  2 +-
 gdb/gdbserver/linux-xtensa-low.c  |  2 +-
 gdb/i386-linux-nat.c              |  2 +-
 gdb/m68klinux-nat.c               |  2 +-
 gdb/mips-linux-nat.c              |  2 +-
 gdb/nat/aarch64-linux.c           |  2 +-
 gdb/nat/aarch64-linux.h           |  2 +-
 gdb/xtensa-linux-nat.c            |  2 +-
 21 files changed, 44 insertions(+), 20 deletions(-)
  

Comments

Pedro Alves Aug. 17, 2016, 11:13 p.m. UTC | #1
On 08/17/2016 10:18 PM, Adhemerval Zanella wrote:
> GLIBC BZ#20311 [1] proc_service.h install patch also remove 'const'
> attributes from ps_get_thread_area and comment #15 discuss why to remove
> the const attribute (basically since it a callback with the struct
> ps_prochandle owned by the client it should be able to modify it if
> it the case).
> 
> On default build this is not the issue and current g++ does not trigger
> any issue with this mismatch declaration.  However, on some bootstrap
> build configuration where gdbserver is build with gcc instead this
> triggers:
> 
> error: conflicting types for 'ps_get_thread_area'
> 
> This patch fixes it by syncing the declaration with GLIBC.
> 
> [1] https://sourceware.org/bugzilla/show_bug.cgi?id=20311
> 
> 2016-08-17  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
> 
> 	* gdb/aarch64-linux-nat.c (ps_get_thread_area): Remove const from
> 	struct ps_prochandle.
> 	* gdb/amd64-linux-nat.c (ps_get_thread_area): Likewise.
> 	* gdb/arm-linux-nat.c (ps_get_thread_area): Likewise.
> 	* gdb/gdb_proc_service.h (ps_get_thread_area): Likewise.
> 	* gdb/gdbserver/gdb_proc_service.h (ps_get_thread_area): Likewise.
> 	* gdb/gdbserver/linux-aarch64-low.c (ps_get_thread_area): Likewise.
> 	* gdb/gdbserver/linux-arm-low.c (ps_get_thread_area): Likewise.
> 	* gdb/gdbserver/linux-crisv32-low.c (ps_get_thread_area): Likewise.
> 	* gdb/gdbserver/linux-m68k-low.c (ps_get_thread_area): Likewise.
> 	* gdb/gdbserver/linux-mips-low.c (ps_get_thread_area): Likewise.
> 	* gdb/gdbserver/linux-nios2-low.c (ps_get_thread_area): Likewise.
> 	* gdb/gdbserver/linux-tic6x-low.c (ps_get_thread_area): Likewise.
> 	* gdb/gdbserver/linux-x86-low.c (ps_get_thread_area): Likewise.
> 	* gdb/gdbserver/linux-xtensa-low.c (ps_get_thread_area): Likewise.
> 	* gdb/i386-linux-nat.c (ps_get_thread_area): Likewise.
> 	* gdb/m68klinux-nat.c (ps_get_thread_area): Likewise.
> 	* gdb/mips-linux-nat.c (ps_get_thread_area): Likewise.
> 	* gdb/nat/aarch64-linux.c (aarch64_ps_get_thread_area): Likewise.
> 	* gdb/nat/aarch64-linux.h (aarch64_ps_get_thread_area): Likewise.
> 	* gdb/xtensa-linux-nat.c (ps_get_thread_area): Likewise.

OK, but please move the ChangeLog entries to the correct ChangeLog files,
and make the entry paths be relative to the corresponding ChangeLog file.
gdbserver changes go to gdb/gdbserver/ChangeLog, the rest goes
to gdb/ChangeLog.

Thanks,
Pedro Alves
  
Yao Qi Aug. 19, 2016, 8:25 a.m. UTC | #2
On Wed, Aug 17, 2016 at 10:18 PM, Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
>
> On default build this is not the issue and current g++ does not trigger
> any issue with this mismatch declaration.  However, on some bootstrap
> build configuration where gdbserver is build with gcc instead this
> triggers:
>
> error: conflicting types for 'ps_get_thread_area'
>

Such error can be reproduced if GDB/GDBserver is configured
--disable-build-with-cxx.
  
Yao Qi Aug. 19, 2016, 8:36 a.m. UTC | #3
On Thu, Aug 18, 2016 at 12:13 AM, Pedro Alves <palves@redhat.com> wrote:
> OK, but please move the ChangeLog entries to the correct ChangeLog files,
> and make the entry paths be relative to the corresponding ChangeLog file.
> gdbserver changes go to gdb/gdbserver/ChangeLog, the rest goes
> to gdb/ChangeLog.
>

The patch should go to master and gdb-7.12 branch.

Additionally, gdb-7.11 branch is the last branch we build in C in default, so
the new gcc/glibc should trigger this build failure as well.  Can we push this
patch to 7.11 branch too?  Linaro is still using 7.11 branch (we plan to switch
to 7.12 after it is released).
  
Pedro Alves Aug. 19, 2016, 8:40 a.m. UTC | #4
On 08/19/2016 09:36 AM, Yao Qi wrote:
> On Thu, Aug 18, 2016 at 12:13 AM, Pedro Alves <palves@redhat.com> wrote:
>> OK, but please move the ChangeLog entries to the correct ChangeLog files,
>> and make the entry paths be relative to the corresponding ChangeLog file.
>> gdbserver changes go to gdb/gdbserver/ChangeLog, the rest goes
>> to gdb/ChangeLog.
>>
> 
> The patch should go to master and gdb-7.12 branch.
> 
> Additionally, gdb-7.11 branch is the last branch we build in C in default, so
> the new gcc/glibc should trigger this build failure as well.  Can we push this
> patch to 7.11 branch too?  Linaro is still using 7.11 branch (we plan to switch
> to 7.12 after it is released).
> 

Fine with me.  You'll need the "gregset.h" one too, then.

Thanks,
Pedro Alves
  
Yao Qi Aug. 19, 2016, 9:14 a.m. UTC | #5
[reply to all]

On Fri, Aug 19, 2016 at 9:40 AM, Pedro Alves <palves@redhat.com> wrote:
>
> Fine with me.  You'll need the "gregset.h" one too, then.
>

We had two "gregset.h" ones recently :),

[GDB][PR gdb/20457] Fix builds broken by proc-service changes.
https://sourceware.org/ml/gdb-patches/2016-08/msg00148.html

Fix fallout from gdb/20413's fix
https://sourceware.org/ml/gdb-patches/2016-08/msg00129.html

I think you mean the former.
  
Pedro Alves Aug. 19, 2016, 9:43 a.m. UTC | #6
On 08/19/2016 10:14 AM, Yao Qi wrote:
> [reply to all]
> 
> On Fri, Aug 19, 2016 at 9:40 AM, Pedro Alves <palves@redhat.com> wrote:
>>
>> Fine with me.  You'll need the "gregset.h" one too, then.
>>
> 
> We had two "gregset.h" ones recently :),
> 
> [GDB][PR gdb/20457] Fix builds broken by proc-service changes.
> https://sourceware.org/ml/gdb-patches/2016-08/msg00148.html
> 
> Fix fallout from gdb/20413's fix
> https://sourceware.org/ml/gdb-patches/2016-08/msg00129.html
> 
> I think you mean the former.

Yes, the former.  The latter fixed a problem that was introduced
only recently in 7.12, so it's not applicable to 7.11.

Thanks,
Pedro Alves
  
Adhemerval Zanella Netto Aug. 19, 2016, 2:02 p.m. UTC | #7
On 17/08/2016 20:13, Pedro Alves wrote:
> On 08/17/2016 10:18 PM, Adhemerval Zanella wrote:
>> GLIBC BZ#20311 [1] proc_service.h install patch also remove 'const'
>> attributes from ps_get_thread_area and comment #15 discuss why to remove
>> the const attribute (basically since it a callback with the struct
>> ps_prochandle owned by the client it should be able to modify it if
>> it the case).
>>
>> On default build this is not the issue and current g++ does not trigger
>> any issue with this mismatch declaration.  However, on some bootstrap
>> build configuration where gdbserver is build with gcc instead this
>> triggers:
>>
>> error: conflicting types for 'ps_get_thread_area'
>>
>> This patch fixes it by syncing the declaration with GLIBC.
>>
>> [1] https://sourceware.org/bugzilla/show_bug.cgi?id=20311
>>
>> 2016-08-17  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
>>
>> 	* gdb/aarch64-linux-nat.c (ps_get_thread_area): Remove const from
>> 	struct ps_prochandle.
>> 	* gdb/amd64-linux-nat.c (ps_get_thread_area): Likewise.
>> 	* gdb/arm-linux-nat.c (ps_get_thread_area): Likewise.
>> 	* gdb/gdb_proc_service.h (ps_get_thread_area): Likewise.
>> 	* gdb/gdbserver/gdb_proc_service.h (ps_get_thread_area): Likewise.
>> 	* gdb/gdbserver/linux-aarch64-low.c (ps_get_thread_area): Likewise.
>> 	* gdb/gdbserver/linux-arm-low.c (ps_get_thread_area): Likewise.
>> 	* gdb/gdbserver/linux-crisv32-low.c (ps_get_thread_area): Likewise.
>> 	* gdb/gdbserver/linux-m68k-low.c (ps_get_thread_area): Likewise.
>> 	* gdb/gdbserver/linux-mips-low.c (ps_get_thread_area): Likewise.
>> 	* gdb/gdbserver/linux-nios2-low.c (ps_get_thread_area): Likewise.
>> 	* gdb/gdbserver/linux-tic6x-low.c (ps_get_thread_area): Likewise.
>> 	* gdb/gdbserver/linux-x86-low.c (ps_get_thread_area): Likewise.
>> 	* gdb/gdbserver/linux-xtensa-low.c (ps_get_thread_area): Likewise.
>> 	* gdb/i386-linux-nat.c (ps_get_thread_area): Likewise.
>> 	* gdb/m68klinux-nat.c (ps_get_thread_area): Likewise.
>> 	* gdb/mips-linux-nat.c (ps_get_thread_area): Likewise.
>> 	* gdb/nat/aarch64-linux.c (aarch64_ps_get_thread_area): Likewise.
>> 	* gdb/nat/aarch64-linux.h (aarch64_ps_get_thread_area): Likewise.
>> 	* gdb/xtensa-linux-nat.c (ps_get_thread_area): Likewise.
> 
> OK, but please move the ChangeLog entries to the correct ChangeLog files,
> and make the entry paths be relative to the corresponding ChangeLog file.
> gdbserver changes go to gdb/gdbserver/ChangeLog, the rest goes
> to gdb/ChangeLog.

I forgot about the project distinctions, I will resend a proper one with
corrected ChangeLogs entries.

I will need someone to push it for me, since I think I do not have write
access to binutils git.
  
Yao Qi Aug. 22, 2016, 10:15 a.m. UTC | #8
On Fri, Aug 19, 2016 at 3:02 PM, Adhemerval Zanella
> I will need someone to push it for me, since I think I do not have write
> access to binutils git.

I can push it for you.
  

Patch

diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c
index e431637..65ca8ff 100644
--- a/gdb/aarch64-linux-nat.c
+++ b/gdb/aarch64-linux-nat.c
@@ -457,7 +457,7 @@  aarch64_linux_new_fork (struct lwp_info *parent, pid_t child_pid)
    storage (or its descriptor).  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
 		    lwpid_t lwpid, int idx, void **base)
 {
   int is_64bit_p
diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c
index fea6ee2..5122b04 100644
--- a/gdb/amd64-linux-nat.c
+++ b/gdb/amd64-linux-nat.c
@@ -245,7 +245,7 @@  amd64_linux_store_inferior_registers (struct target_ops *ops,
    a request for a thread's local storage address.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+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)
diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c
index d77ca93..d11bdc6 100644
--- a/gdb/arm-linux-nat.c
+++ b/gdb/arm-linux-nat.c
@@ -477,7 +477,7 @@  supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
 /* Fetch the thread-local storage pointer for libthread_db.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
                     lwpid_t lwpid, int idx, void **base)
 {
   if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
diff --git a/gdb/gdb_proc_service.h b/gdb/gdb_proc_service.h
index 38b98fc..0a9f26d 100644
--- a/gdb/gdb_proc_service.h
+++ b/gdb/gdb_proc_service.h
@@ -124,7 +124,7 @@  extern pid_t ps_getpid (struct ps_prochandle *);
 /* Fetch the special per-thread address associated with the given LWP.
    This call is only used on a few platforms (most use a normal register).
    The meaning of the `int' parameter is machine-dependent.  */
-extern ps_err_e ps_get_thread_area (const struct ps_prochandle *,
+extern ps_err_e ps_get_thread_area (struct ps_prochandle *,
 				    lwpid_t, int, psaddr_t *);
 
 
diff --git a/gdb/gdbserver/gdb_proc_service.h b/gdb/gdbserver/gdb_proc_service.h
index 99bf226..cec9231 100644
--- a/gdb/gdbserver/gdb_proc_service.h
+++ b/gdb/gdbserver/gdb_proc_service.h
@@ -107,7 +107,7 @@  extern pid_t ps_getpid (struct ps_prochandle *);
 /* Fetch the special per-thread address associated with the given LWP.
    This call is only used on a few platforms (most use a normal register).
    The meaning of the `int' parameter is machine-dependent.  */
-extern ps_err_e ps_get_thread_area (const struct ps_prochandle *,
+extern ps_err_e ps_get_thread_area (struct ps_prochandle *,
 				    lwpid_t, int, psaddr_t *);
 
 
diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c
index 6efa035..e54a8ba 100644
--- a/gdb/gdbserver/linux-aarch64-low.c
+++ b/gdb/gdbserver/linux-aarch64-low.c
@@ -401,7 +401,7 @@  aarch64_stopped_by_watchpoint (void)
 /* Fetch the thread-local storage pointer for libthread_db.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
 		    lwpid_t lwpid, int idx, void **base)
 {
   return aarch64_ps_get_thread_area (ph, lwpid, idx, base,
diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c
index e1261e5..ed9b356 100644
--- a/gdb/gdbserver/linux-arm-low.c
+++ b/gdb/gdbserver/linux-arm-low.c
@@ -270,7 +270,7 @@  get_next_pcs_read_memory_unsigned_integer (CORE_ADDR memaddr,
 /* Fetch the thread-local storage pointer for libthread_db.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
 		    lwpid_t lwpid, int idx, void **base)
 {
   if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
diff --git a/gdb/gdbserver/linux-crisv32-low.c b/gdb/gdbserver/linux-crisv32-low.c
index 16c1f72..fea6d5b 100644
--- a/gdb/gdbserver/linux-crisv32-low.c
+++ b/gdb/gdbserver/linux-crisv32-low.c
@@ -309,7 +309,7 @@  cris_stopped_data_address (void)
 }
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
                     lwpid_t lwpid, int idx, void **base)
 {
   if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c
index df3d7c6..78a340f 100644
--- a/gdb/gdbserver/linux-m68k-low.c
+++ b/gdb/gdbserver/linux-m68k-low.c
@@ -152,7 +152,7 @@  m68k_breakpoint_at (CORE_ADDR pc)
 /* Fetch the thread-local storage pointer for libthread_db.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
 		    lwpid_t lwpid, int idx, void **base)
 {
   if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
diff --git a/gdb/gdbserver/linux-mips-low.c b/gdb/gdbserver/linux-mips-low.c
index 30a03d5..9356bb3 100644
--- a/gdb/gdbserver/linux-mips-low.c
+++ b/gdb/gdbserver/linux-mips-low.c
@@ -637,7 +637,7 @@  mips_stopped_data_address (void)
 /* Fetch the thread-local storage pointer for libthread_db.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
 		    lwpid_t lwpid, int idx, void **base)
 {
   if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
diff --git a/gdb/gdbserver/linux-nios2-low.c b/gdb/gdbserver/linux-nios2-low.c
index a32bc1a..02fe198 100644
--- a/gdb/gdbserver/linux-nios2-low.c
+++ b/gdb/gdbserver/linux-nios2-low.c
@@ -145,7 +145,7 @@  nios2_breakpoint_at (CORE_ADDR where)
 /* Fetch the thread-local storage pointer for libthread_db.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
                     lwpid_t lwpid, int idx, void **base)
 {
   if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
diff --git a/gdb/gdbserver/linux-tic6x-low.c b/gdb/gdbserver/linux-tic6x-low.c
index e40a3af..6b90560 100644
--- a/gdb/gdbserver/linux-tic6x-low.c
+++ b/gdb/gdbserver/linux-tic6x-low.c
@@ -274,7 +274,7 @@  tic6x_breakpoint_at (CORE_ADDR where)
 /* Fetch the thread-local storage pointer for libthread_db.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
 		    lwpid_t lwpid, int idx, void **base)
 {
   if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c
index d6b67c1..fd87b23 100644
--- a/gdb/gdbserver/linux-x86-low.c
+++ b/gdb/gdbserver/linux-x86-low.c
@@ -186,7 +186,7 @@  is_64bit_tdesc (void)
 /* Called by libthread_db.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
 		    lwpid_t lwpid, int idx, void **base)
 {
 #ifdef __x86_64__
diff --git a/gdb/gdbserver/linux-xtensa-low.c b/gdb/gdbserver/linux-xtensa-low.c
index 6e945ea..431082c 100644
--- a/gdb/gdbserver/linux-xtensa-low.c
+++ b/gdb/gdbserver/linux-xtensa-low.c
@@ -177,7 +177,7 @@  xtensa_breakpoint_at (CORE_ADDR where)
 /* Called by libthread_db.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
                     lwpid_t lwpid, int idx, void **base)
 {
   xtensa_elf_gregset_t regs;
diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c
index a41ee21..70d954f 100644
--- a/gdb/i386-linux-nat.c
+++ b/gdb/i386-linux-nat.c
@@ -603,7 +603,7 @@  i386_linux_store_inferior_registers (struct target_ops *ops,
    storage (or its descriptor).  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
 		    lwpid_t lwpid, int idx, void **base)
 {
   unsigned int base_addr;
diff --git a/gdb/m68klinux-nat.c b/gdb/m68klinux-nat.c
index 24b6242..5b8684b 100644
--- a/gdb/m68klinux-nat.c
+++ b/gdb/m68klinux-nat.c
@@ -508,7 +508,7 @@  m68k_linux_store_inferior_registers (struct target_ops *ops,
 /* Fetch the thread-local storage pointer for libthread_db.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph, 
+ps_get_thread_area (struct ps_prochandle *ph, 
 		    lwpid_t lwpid, int idx, void **base)
 {
   if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) < 0)
diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
index bfe9fcb..0f20f16 100644
--- a/gdb/mips-linux-nat.c
+++ b/gdb/mips-linux-nat.c
@@ -152,7 +152,7 @@  mips64_linux_register_addr (struct gdbarch *gdbarch, int regno, int store)
 /* Fetch the thread-local storage pointer for libthread_db.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
                     lwpid_t lwpid, int idx, void **base)
 {
   if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
diff --git a/gdb/nat/aarch64-linux.c b/gdb/nat/aarch64-linux.c
index 5ae5aa8..1828977 100644
--- a/gdb/nat/aarch64-linux.c
+++ b/gdb/nat/aarch64-linux.c
@@ -205,7 +205,7 @@  aarch64_siginfo_from_compat_siginfo (siginfo_t *to, compat_siginfo_t *from)
    storage (or its descriptor).  */
 
 ps_err_e
-aarch64_ps_get_thread_area (const struct ps_prochandle *ph,
+aarch64_ps_get_thread_area (struct ps_prochandle *ph,
 			    lwpid_t lwpid, int idx, void **base,
 			    int is_64bit_p)
 {
diff --git a/gdb/nat/aarch64-linux.h b/gdb/nat/aarch64-linux.h
index 7221982..aac7c68 100644
--- a/gdb/nat/aarch64-linux.h
+++ b/gdb/nat/aarch64-linux.h
@@ -122,7 +122,7 @@  void aarch64_linux_prepare_to_resume (struct lwp_info *lwp);
 
 void aarch64_linux_new_thread (struct lwp_info *lwp);
 
-ps_err_e aarch64_ps_get_thread_area (const struct ps_prochandle *ph,
+ps_err_e aarch64_ps_get_thread_area (struct ps_prochandle *ph,
 				       lwpid_t lwpid, int idx, void **base,
 				       int is_64bit_p);
 
diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c
index 54da837..836d3f8 100644
--- a/gdb/xtensa-linux-nat.c
+++ b/gdb/xtensa-linux-nat.c
@@ -286,7 +286,7 @@  xtensa_linux_store_inferior_registers (struct target_ops *ops,
 /* Called by libthread_db.  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph,
+ps_get_thread_area (struct ps_prochandle *ph,
                     lwpid_t lwpid, int idx, void **base)
 {
   xtensa_elf_gregset_t regs;