From a2658febe2016f875ffb70287904b01013bcca75 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Wed, 14 May 2014 14:33:41 -0600 Subject: [PATCH] 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 * s390-linux-tdep.c (s390_gcc_target_options): New function. (s390_gdbarch_init): Add it to gdbarch. --- gdb/ChangeLog | 5 +++++ gdb/s390-linux-tdep.c | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7e36eb670c..ab5688c1c8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2014-12-12 Jan Kratochvil + + * s390-linux-tdep.c (s390_gcc_target_options): New function. + (s390_gdbarch_init): Add it to gdbarch. + 2014-12-12 Jan Kratochvil * linux-tdep.c: Include objfiles.h and infcall.h. diff --git a/gdb/s390-linux-tdep.c b/gdb/s390-linux-tdep.c index b5d94ce924..5dcf40c4a4 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);