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 | |
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.
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/aarch64-linux-tdep.c | 11 |
2 files changed, 18 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c831a5c..a798d06 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +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 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 |