aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@ericsson.com>2018-06-13 21:57:10 -0400
committerSimon Marchi <simon.marchi@ericsson.com>2018-06-13 21:57:55 -0400
commitab89b5a57cff984d1edbcb6ca19c8f4a77c511a8 (patch)
treeefe5dabd492892b70110aaba8fa9c960dcc18e83
parent7be6cc928461bce11f52c01653b1eb916ecfbb8e (diff)
downloadgdb-ab89b5a57cff984d1edbcb6ca19c8f4a77c511a8.zip
gdb-ab89b5a57cff984d1edbcb6ca19c8f4a77c511a8.tar.gz
gdb-ab89b5a57cff984d1edbcb6ca19c8f4a77c511a8.tar.bz2
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) <fetch_registers>: Remove this argument in function call. <store_registers>: Remove this argument in function call, remove extra semicolon. <low_forget_process>: Call sparc64_forget_process instead of sparc_forget_process.
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/sparc-nat.h2
-rw-r--r--gdb/sparc64-linux-nat.c8
3 files changed, 16 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 42995df..0da732a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+2018-06-13 Simon Marchi <simon.marchi@ericsson.com>
+
+ * sparc-nat.h: Include target.h.
+ * sparc64-linux-nat.c (class sparc64_linux_nat_target)
+ <fetch_registers>: Remove this argument in function call.
+ <store_registers>: Remove this argument in function call, remove
+ extra semicolon.
+ <low_forget_process>: Call sparc64_forget_process instead of
+ sparc_forget_process.
+
2018-06-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* procfs.c (_initialize_procfs): Use add_inf_child_target.
diff --git a/gdb/sparc-nat.h b/gdb/sparc-nat.h
index b564c01..6a8b4a0 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 ba9397e..4a206b4 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;