Nowadays, if we use "compile" on aarch64-linux, we'll get the following
error,
(gdb) compile code -- ;
aarch64-none-linux-gnu-gcc: error: unrecognized command line option '-m64'
because the default gcc_target_options returns "-m64" and
"-mcmodel=large", neither is useful to aarch64-linux.
gdb:
2018-01-17 Yao Qi <yao.qi@linaro.org>
* aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
function.
(aarch64_linux_init_abi): Install it to gdbarch hook
gcc_target_options.
+2018-01-17 Yao Qi <yao.qi@linaro.org>
+
+ * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
+ function.
+ (aarch64_linux_init_abi): Install it to gdbarch hook
+ gcc_target_options.
+
2018-01-15 Pedro Alves <palves@redhat.com>
* common/signals-state-save-restore.c
return 0;
}
+/* Implement the "gcc_target_options" gdbarch method. */
+
+static char *
+aarch64_linux_gcc_target_options (struct gdbarch *gdbarch)
+{
+ /* GCC doesn't know "-m64". */
+ return NULL;
+}
+
static void
aarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
set_gdbarch_displaced_step_location (gdbarch, linux_displaced_step_location);
set_gdbarch_displaced_step_hw_singlestep (gdbarch,
aarch64_displaced_step_hw_singlestep);
+
+ set_gdbarch_gcc_target_options (gdbarch, aarch64_linux_gcc_target_options);
}
void