From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18924 invoked by alias); 19 Dec 2014 10:56:06 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 18911 invoked by uid 89); 19 Dec 2014 10:56:05 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,T_RP_MATCHES_RCVD 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; Fri, 19 Dec 2014 10:56:04 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sBJAtwdP016773 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 19 Dec 2014 05:55:58 -0500 Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sBJAttAh030471; Fri, 19 Dec 2014 05:55:56 -0500 Message-ID: <5494043B.1020207@redhat.com> Date: Fri, 19 Dec 2014 10:56:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Ajit Kumar Agarwal , Michael Eager , Joel Brobecker CC: "gdb-patches@sourceware.org" , Vinod Kathail , Vidhumouli Hunsigida , Nagaraju Mekala Subject: Re: [Patch] Microblaze: Port of Linux gdbserver References: <25de23b98e054fd291ea232d10f2800c@BN1BFFO11FD018.protection.gbl> <5436B7D0.9060004@eagercon.com> <543E7630.5060001@redhat.com> <99de529c620a4bb0a118a9fc39ae6ad0@BY2FFO11FD008.protection.gbl> <548F2240.7020700@redhat.com> <5492BA45.8090205@redhat.com> <8cc311a2f0ac4925b15f90a7b7853db8@BN1AFFO11FD021.protection.gbl> <54931165.7080103@redhat.com> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2014-12/txt/msg00572.txt.bz2 On 12/19/2014 08:27 AM, Ajit Kumar Agarwal wrote: >>> 1. push_dummy_code is not implemented for Micro blaze port due to this there are 350+ failures. >> >>>> Eh, no inferior function call support. Are you planning on implementing this? >> >> Currently in the gdb microblaze-tdep.c, the following code is there for push_dummy_code. >> >> static CORE_ADDR >> microblaze_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, >> CORE_ADDR funcaddr, >> struct value **args, int nargs, >> struct type *value_type, >> CORE_ADDR *real_pc, CORE_ADDR *bp_addr, >> struct regcache *regcache) { >> error (_("push_dummy_code not implemented")); >> return sp; >> } >> This causes the failures. > >>> Yes, this are the hooks for supporting calling inferior functions from gdb: "print foo()", etc. > >>> The question was whether you were planning on replacing the errors (this and microblaze_push_dummy_call's) with a real implementation. :-) > > Is this functionality optional as I can see many targets doesn't have the implementation for the inferior call function support. We do have plans for the implementation but I am wondering why this functionality is not implemented for many other targets like ARM. The real meat is in gdbarch_push_dummy_call, which is throws an error on microblaze too (it's just below microblaze_push_dummy_code). gdbarch_push_dummy_code is optional because it's only used if gdbarch_call_dummy_location is ON_STACK. Inferior function call functionality is definitely implemented on ARM (and on most if not all, other ports). See arm_push_dummy_call. Thanks, Pedro Alves