diff options
author | Yao Qi <yao.qi@linaro.org> | 2018-01-17 12:48:52 +0000 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2018-01-17 12:48:52 +0000 |
commit | 7045b1ca73b8c0cb12d1158f3bc59d251dca0fa5 (patch) | |
tree | 855dad51c15ca8c4be019263dee581e5c6f638b6 /gdb/aarch64-linux-tdep.c | |
parent | d8447b6b9fd288ebd35620178ba720b1f0ce7ebf (diff) | |
download | gdb-7045b1ca73b8c0cb12d1158f3bc59d251dca0fa5.zip gdb-7045b1ca73b8c0cb12d1158f3bc59d251dca0fa5.tar.gz gdb-7045b1ca73b8c0cb12d1158f3bc59d251dca0fa5.tar.bz2 |
Don't pass -m64 to libcc1 on aarch64-linux.
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.
Diffstat (limited to 'gdb/aarch64-linux-tdep.c')
-rw-r--r-- | gdb/aarch64-linux-tdep.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c index 1a82406..1f3e888 100644 --- a/gdb/aarch64-linux-tdep.c +++ b/gdb/aarch64-linux-tdep.c @@ -1001,6 +1001,15 @@ aarch64_linux_syscall_record (struct regcache *regcache, 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) { @@ -1225,6 +1234,8 @@ 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 |