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.
This commit is contained in:
Bernd Edlinger 2020-02-16 21:43:33 +01:00
parent 7001c1b7dc
commit 6d0cf4464e
7 changed files with 22 additions and 6 deletions

View File

@ -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.

View File

@ -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. */

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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