aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Edlinger <bernd.edlinger@hotmail.de>2020-02-16 21:43:33 +0100
committerBernd Edlinger <bernd.edlinger@hotmail.de>2020-02-18 22:22:56 +0100
commit6d0cf4464e0477db8c15b00a99df09d84d55cda4 (patch)
tree1c4427a4fd89b334768e87eebc002b6cdf0e4d63
parent7001c1b7dcde6b0e8967652d18a7c1794d5faa78 (diff)
downloadgdb-6d0cf4464e0477db8c15b00a99df09d84d55cda4.zip
gdb-6d0cf4464e0477db8c15b00a99df09d84d55cda4.tar.gz
gdb-6d0cf4464e0477db8c15b00a99df09d84d55cda4.tar.bz2
Fix build with gcc-4.8.x
Use an explicit conversion from unique_ptr<T> to displaced_step_closure_up to avoid a compiler bug with gcc-4.8.4: ../../binutils-gdb/gdb/amd64-tdep.c:1514:10: error: cannot bind 'std::unique_ptr<amd64_displaced_step_closure>' lvalue to 'std::unique_ptr<amd64_displaced_step_closure>&&' gdb: 2020-02-18 Bernd Edlinger <bernd.edlinger@hotmail.de> * aarch64-tdep.c (aarch64_displaced_step_copy_insn): Use an explicit conversion. * amd64-tdep.c (amd64_displaced_step_copy_insn): Likewise. * arm-linux-tdep.c (arm_linux_displaced_step_copy_insn): Likewise. * i386-tdep.c (i386_displaced_step_copy_insn): Likewise. * rs6000-tdep.c (ppc_displaced_step_copy_insn): Likewise. * s390-tdep.c (s390_displaced_step_copy_insn): Likewise.
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/aarch64-tdep.c3
-rw-r--r--gdb/amd64-tdep.c3
-rw-r--r--gdb/arm-linux-tdep.c3
-rw-r--r--gdb/i386-tdep.c3
-rw-r--r--gdb/rs6000-tdep.c3
-rw-r--r--gdb/s390-tdep.c3
7 files changed, 22 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f5c15bd..ee7298b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+2020-02-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * aarch64-tdep.c (aarch64_displaced_step_copy_insn): Use an explicit
+ conversion.
+ * amd64-tdep.c (amd64_displaced_step_copy_insn): Likewise.
+ * arm-linux-tdep.c (arm_linux_displaced_step_copy_insn): Likewise.
+ * i386-tdep.c (i386_displaced_step_copy_insn): Likewise.
+ * rs6000-tdep.c (ppc_displaced_step_copy_insn): Likewise.
+ * s390-tdep.c (s390_displaced_step_copy_insn): Likewise.
+
2020-02-18 Simon Marchi <simon.marchi@efficios.com>
* MAINTAINERS: Change palmer@sifive.com to palmer@dabbelt.com.
diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c
index bfacfb0..31b90c8 100644
--- a/gdb/aarch64-tdep.c
+++ b/gdb/aarch64-tdep.c
@@ -3053,7 +3053,8 @@ aarch64_displaced_step_copy_insn (struct gdbarch *gdbarch,
dsc = NULL;
}
- return dsc;
+ /* This is a work around for a problem with g++ 4.8. */
+ return displaced_step_closure_up (dsc.release ());
}
/* Implement the "displaced_step_fixup" gdbarch method. */
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index 9264fe4..5c56a97 100644
--- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c
@@ -1511,7 +1511,8 @@ amd64_displaced_step_copy_insn (struct gdbarch *gdbarch,
displaced_step_dump_bytes (gdb_stdlog, buf, len);
}
- return dsc;
+ /* This is a work around for a problem with g++ 4.8. */
+ return displaced_step_closure_up (dsc.release ());
}
static int
diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c
index ccb556b..f60cb51 100644
--- a/gdb/arm-linux-tdep.c
+++ b/gdb/arm-linux-tdep.c
@@ -1131,7 +1131,8 @@ arm_linux_displaced_step_copy_insn (struct gdbarch *gdbarch,
arm_displaced_init_closure (gdbarch, from, to, dsc.get ());
- return dsc;
+ /* This is a work around for a problem with g++ 4.8. */
+ return displaced_step_closure_up (dsc.release ());
}
/* Implementation of `gdbarch_stap_is_single_operand', as defined in
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 9771421..19876c3 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -831,7 +831,8 @@ i386_displaced_step_copy_insn (struct gdbarch *gdbarch,
displaced_step_dump_bytes (gdb_stdlog, buf, len);
}
- return closure;
+ /* This is a work around for a problem with g++ 4.8. */
+ return displaced_step_closure_up (closure.release ());
}
/* Fix up the state of registers and memory after having single-stepped
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index 513ce6a..2c41e1c 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -894,7 +894,8 @@ ppc_displaced_step_copy_insn (struct gdbarch *gdbarch,
displaced_step_dump_bytes (gdb_stdlog, buf, len);
}
- return closure;
+ /* This is a work around for a problem with g++ 4.8. */
+ return displaced_step_closure_up (closure.release ());
}
/* Fix up the state of registers and memory after having single-stepped
diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c
index 51d0203..d8c28c7 100644
--- a/gdb/s390-tdep.c
+++ b/gdb/s390-tdep.c
@@ -477,7 +477,8 @@ s390_displaced_step_copy_insn (struct gdbarch *gdbarch,
displaced_step_dump_bytes (gdb_stdlog, buf, len);
}
- return closure;
+ /* This is a work around for a problem with g++ 4.8. */
+ return displaced_step_closure_up (closure.release ());
}
/* Fix up the state of registers and memory after having single-stepped