From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24713 invoked by alias); 12 Mar 2010 16:30:16 -0000 Received: (qmail 24679 invoked by uid 22791); 12 Mar 2010 16:30:12 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 12 Mar 2010 16:30:08 +0000 Received: (qmail 28749 invoked from network); 12 Mar 2010 16:30:07 -0000 Received: from unknown (HELO caradoc.them.org) (dan@127.0.0.2) by mail.codesourcery.com with ESMTPA; 12 Mar 2010 16:30:07 -0000 Date: Fri, 12 Mar 2010 16:30:00 -0000 From: Daniel Jacobowitz To: Eli Zaretskii Cc: Pedro Alves , gdb-patches@sourceware.org, hjl.tools@gmail.com, msnyder@vmware.com Subject: Re: PATCH: Support x86 pseudo registers Message-ID: <20100312162949.GA22104@caradoc.them.org> Mail-Followup-To: Eli Zaretskii , Pedro Alves , gdb-patches@sourceware.org, hjl.tools@gmail.com, msnyder@vmware.com References: <20100301170152.GA20106@intel.com> <201003120423.07852.pedro@codesourcery.com> <83ljdy0wn9.fsf@gnu.org> <201003121526.37646.pedro@codesourcery.com> <83iq9134rm.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83iq9134rm.fsf@gnu.org> User-Agent: Mutt/1.5.20 (2009-06-14) 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 X-SW-Source: 2010-03/txt/msg00459.txt.bz2 On Fri, Mar 12, 2010 at 06:04:45PM +0200, Eli Zaretskii wrote: > Maybe, but frankly I don't really understand what it says, exactly. > Does it mean that if the name does clash with the architecture, the > architecture's meaning is used? I think that's what was intended. > Anyway, are there any such conflicts in the current codebase? Yeah, there are. On some platforms, "$fp" is a GDB-computed value based on the frame unwinder. On others, it's a register that may or may not have a frame pointer in it right now. For instance, $fp on ARM is r11; "fp" on M68K is between a5 and sp. On i386 it's calculated. You'll get different results for this: (gdb) p $fp $1 = (void *) 0x7fffffffdec0 (gdb) p $fp -- Left operand of assignment is not an lvalue. Whaddaya mean $fp isn't an lvalue? Oh, it's an internal value, not an alias for $rbp. -- Daniel Jacobowitz CodeSourcery