From patchwork Sat Nov 1 21:47:26 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kratochvil X-Patchwork-Id: 3552 Received: (qmail 32063 invoked by alias); 1 Nov 2014 21:47:30 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 31984 invoked by uid 89); 1 Nov 2014 21:47:29 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.3 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Sat, 01 Nov 2014 21:47:29 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sA1LlRY8019414 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Sat, 1 Nov 2014 17:47:27 -0400 Received: from host1.jankratochvil.net (ovpn-116-27.ams2.redhat.com [10.36.116.27]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sA1LlQIx026301 for ; Sat, 1 Nov 2014 17:47:27 -0400 Subject: [PATCH v3 13/14] add s390_gcc_target_options From: Jan Kratochvil To: gdb-patches@sourceware.org Date: Sat, 01 Nov 2014 22:47:26 +0100 Message-ID: <20141101214726.13230.70358.stgit@host1.jankratochvil.net> In-Reply-To: <20141101214552.13230.45564.stgit@host1.jankratochvil.net> References: <20141101214552.13230.45564.stgit@host1.jankratochvil.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-IsSubscribed: yes 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". 2014-10-07 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 52b048e..62ae948 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2014-10-07 Jan Kratochvil + * s390-linux-tdep.c (s390_gcc_target_options): New function. + (s390_gdbarch_init): Add it to gdbarch. + +2014-10-07 Jan Kratochvil + * linux-tdep.c (linux_infcall_mmap): New function. (linux_init_abi): Add it to gdbarch. diff --git a/gdb/s390-linux-tdep.c b/gdb/s390-linux-tdep.c index abd2e40..ea22579 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);