From: Simon Marchi Date: Thu, 14 Jun 2018 01:57:10 +0000 (-0400) Subject: Fix GDB sparc build X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ab89b5a57cff984d1edbcb6ca19c8f4a77c511a8;p=binutils-gdb.git Fix GDB sparc build Cross-compiling for sparc64 bumped into a few issues, fixed by this patch. 1. Include target.h in sparc-nat.h fixes: /home/emaisin/src/binutils-gdb/gdb/sparc-nat.h:45:8: error: ‘target_xfer_status’ does not name a type extern target_xfer_status sparc_xfer_wcookie (enum target_object object, 2. Remove extra semi-colon at sparc64-linux-nat.c:40 fixes: /home/emaisin/src/binutils-gdb/gdb/sparc64-linux-nat.c:41:3: error: expected unqualified-id before ‘{’ token { sparc_store_inferior_registers (this, regcache, regnum); } 3. Remove "this" argument fixes: /home/emaisin/src/binutils-gdb/gdb/sparc64-linux-nat.c: In member function ‘virtual void sparc64_linux_nat_target::fetch_registers(regcache*, int)’: /home/emaisin/src/binutils-gdb/gdb/sparc64-linux-nat.c:38:59: error: cannot convert ‘sparc64_linux_nat_target*’ to ‘regcache*’ for argument ‘1’ to ‘void sparc_fetch_inferior_registers(regcache*, int)’ { sparc_fetch_inferior_registers (this, regcache, regnum); } ^ /home/emaisin/src/binutils-gdb/gdb/sparc64-linux-nat.c: In member function ‘virtual void sparc64_linux_nat_target::store_registers(regcache*, int)’: /home/emaisin/src/binutils-gdb/gdb/sparc64-linux-nat.c:41:59: error: cannot convert ‘sparc64_linux_nat_target*’ to ‘regcache*’ for argument ‘1’ to ‘void sparc_store_inferior_registers(regcache*, int)’ { sparc_store_inferior_registers (this, regcache, regnum); } ^ 4. Use sparc64_forget_process instead of sparc_forget_process fixes: /home/emaisin/src/binutils-gdb/gdb/sparc64-linux-nat.c: In member function ‘virtual void sparc64_linux_nat_target::low_forget_process(pid_t)’: /home/emaisin/src/binutils-gdb/gdb/sparc64-linux-nat.c:47:30: error: ‘sparc_forget_process’ was not declared in this scope { sparc_forget_process (pid); } ^ gdb/ChangeLog: * sparc-nat.h: Include target.h. * sparc64-linux-nat.c (class sparc64_linux_nat_target) : Remove this argument in function call. : Remove this argument in function call, remove extra semicolon. : Call sparc64_forget_process instead of sparc_forget_process. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 42995dfc93a..0da732a91d9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2018-06-13 Simon Marchi + + * sparc-nat.h: Include target.h. + * sparc64-linux-nat.c (class sparc64_linux_nat_target) + : Remove this argument in function call. + : Remove this argument in function call, remove + extra semicolon. + : Call sparc64_forget_process instead of + sparc_forget_process. + 2018-06-13 Rainer Orth * procfs.c (_initialize_procfs): Use add_inf_child_target. diff --git a/gdb/sparc-nat.h b/gdb/sparc-nat.h index b564c01fede..6a8b4a04ba2 100644 --- a/gdb/sparc-nat.h +++ b/gdb/sparc-nat.h @@ -20,6 +20,8 @@ #ifndef SPARC_NAT_H #define SPARC_NAT_H 1 +#include "target.h" + struct sparc_gregmap; struct sparc_fpregmap; diff --git a/gdb/sparc64-linux-nat.c b/gdb/sparc64-linux-nat.c index ba9397e3d99..4a206b44f79 100644 --- a/gdb/sparc64-linux-nat.c +++ b/gdb/sparc64-linux-nat.c @@ -35,16 +35,16 @@ class sparc64_linux_nat_target final : public linux_nat_target public: /* Add our register access methods. */ void fetch_registers (struct regcache *regcache, int regnum) override - { sparc_fetch_inferior_registers (this, regcache, regnum); } + { sparc_fetch_inferior_registers (regcache, regnum); } - void store_registers (struct regcache *regcache, int regnum) override; - { sparc_store_inferior_registers (this, regcache, regnum); } + void store_registers (struct regcache *regcache, int regnum) override + { sparc_store_inferior_registers (regcache, regnum); } /* Override linux_nat_target low methods. */ /* ADI support */ void low_forget_process (pid_t pid) override - { sparc_forget_process (pid); } + { sparc64_forget_process (pid); } }; static sparc64_linux_nat_target the_sparc64_linux_nat_target;