From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14257 invoked by alias); 9 Nov 2005 16:29:07 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 14234 invoked by uid 22791); 9 Nov 2005 16:29:03 -0000 Received: from main.gmane.org (HELO ciao.gmane.org) (80.91.229.2) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Wed, 09 Nov 2005 16:29:03 +0000 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1EZsm5-0002fM-T6 for gdb@sources.redhat.com; Wed, 09 Nov 2005 17:26:13 +0100 Received: from zigzag.lvk.cs.msu.su ([158.250.17.23]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 09 Nov 2005 17:26:13 +0100 Received: from ghost by zigzag.lvk.cs.msu.su with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 09 Nov 2005 17:26:13 +0100 To: gdb@sources.redhat.com From: Vladimir Prus Subject: frame_id question Date: Wed, 09 Nov 2005 16:29:00 -0000 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit User-Agent: KNode/0.8.2 X-SW-Source: 2005-11/txt/msg00206.txt.bz2 Hello, I have some confusion over "frame_id" concept, which is supposed to be unique identifier of a function frame. Frame id consists of a stack address and a program address. The program address should be start address of a function and many of xxx_this_frame_id function follow this pattern: static void xxx_frame_this_id (struct frame_info *next_frame, void **this_cache, struct frame_id *this_id) { ....... (*this_id) = frame_id_build (...., frame_func_unwind (next_frame)); } The question is: why frame id has to include program address at all? It it ever possible for two frames to have the same stack address? If so, when? The immediate problem I have is that "frame_func_unwind" requires full debug info (address boundaries for functions), but in my case assembler modules have only line information, so frame_func_unwind will always return 0. Using hardcoded '0' as program address part of frame id does not cause any problems for me, but I want to be sure. Thanks in advance, Volodya