From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16938 invoked by alias); 13 Oct 2010 15:19:43 -0000 Received: (qmail 16917 invoked by uid 22791); 13 Oct 2010 15:19:42 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=BAYES_00,TW_BJ,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mexforward.lss.emc.com (HELO mexforward.lss.emc.com) (128.222.32.20) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 13 Oct 2010 15:19:35 +0000 Received: from hop04-l1d11-si01.isus.emc.com (HOP04-L1D11-SI01.isus.emc.com [10.254.111.54]) by mexforward.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id o9DFJU6w021128 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 13 Oct 2010 11:19:31 -0400 Received: from mailhub.lss.emc.com (mailhub.lss.emc.com [10.254.222.226]) by hop04-l1d11-si01.isus.emc.com (RSA Interceptor) for ; Wed, 13 Oct 2010 11:19:21 -0400 Received: from [10.243.42.174] (usenkewx1l.lss.emc.com [10.243.42.174]) by mailhub.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id o9DFJDDg025720; Wed, 13 Oct 2010 11:19:13 -0400 Message-ID: <4CB5CB63.5020901@emc.com> Date: Wed, 13 Oct 2010 15:19:00 -0000 From: kew@emc.com User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100915 Thunderbird/3.0.8 MIME-Version: 1.0 To: gdb@sourceware.org Subject: STABS records for 64-bit function arguments via registers in i386 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2010-10/txt/msg00042.txt.bz2 Hi In i386 architecture (32 bit) gcc can optimize a static function to pass function arguments via registers (instead of in the stack). For 64-bit arguments, it uses 2 registers, but gdb reports only 1 (via "info scope") when the binary being debugged is compiled using the STABS debugging format. I checked using objdump and could see indeed only 1 N_RSYM record being given (so no wonder gdb would only report 1 register). How does the STABS debugging format indicate the 2 registers used for passing 64 function arguments in i386 architecture? Is this supported? If not, what's the process to add support for it? If this is not the right mailing list to ask this question, sorry and please if you could refer me to the right mailing list, I'd appreciate it. Thanks Andrew