diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2014-05-14 14:33:41 -0600 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2014-12-12 22:28:17 +0100 |
commit | a2658febe2016f875ffb70287904b01013bcca75 (patch) | |
tree | 21b338b20b1f310bfc30428aa9eb2c5fd709e2b2 | |
parent | 3bc3cebe8a597c4281cad70e806efe69b2031825 (diff) | |
download | gdb-a2658febe2016f875ffb70287904b01013bcca75.zip gdb-a2658febe2016f875ffb70287904b01013bcca75.tar.gz gdb-a2658febe2016f875ffb70287904b01013bcca75.tar.bz2 |
add s390_gcc_target_options
This adds s390_gcc_target_options, an implementation of the new
"gcc_target_options" gdbarch method. This was needed because the
default implementation of the method doesn't work properly for S390,
as this architecture needs "-m31" rather than "-m32".
gdb/ChangeLog
2014-12-12 Jan Kratochvil <jan.kratochvil@redhat.com>
* s390-linux-tdep.c (s390_gcc_target_options): New function.
(s390_gdbarch_init): Add it to gdbarch.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/s390-linux-tdep.c | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7e36eb6..ab5688c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2014-12-12 Jan Kratochvil <jan.kratochvil@redhat.com> + * s390-linux-tdep.c (s390_gcc_target_options): New function. + (s390_gdbarch_init): Add it to gdbarch. + +2014-12-12 Jan Kratochvil <jan.kratochvil@redhat.com> + * linux-tdep.c: Include objfiles.h and infcall.h. (GDB_MMAP_MAP_PRIVATE, GDB_MMAP_MAP_ANONYMOUS, linux_infcall_mmap): New function. diff --git a/gdb/s390-linux-tdep.c b/gdb/s390-linux-tdep.c index b5d94ce..5dcf40c 100644 --- a/gdb/s390-linux-tdep.c +++ b/gdb/s390-linux-tdep.c @@ -2808,6 +2808,14 @@ s390_address_class_name_to_type_flags (struct gdbarch *gdbarch, return 0; } +/* Implement gdbarch_gcc_target_options. GCC does not know "-m32". */ + +static char * +s390_gcc_target_options (struct gdbarch *gdbarch) +{ + return xstrdup ("-m31"); +} + /* Implementation of `gdbarch_stap_is_single_operand', as defined in gdbarch.h. */ @@ -3104,6 +3112,7 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) { case ABI_LINUX_S390: set_gdbarch_addr_bits_remove (gdbarch, s390_addr_bits_remove); + set_gdbarch_gcc_target_options (gdbarch, s390_gcc_target_options); set_solib_svr4_fetch_link_map_offsets (gdbarch, svr4_ilp32_fetch_link_map_offsets); |