From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20463 invoked by alias); 19 May 2003 16:59:45 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 20299 invoked from network); 19 May 2003 16:59:39 -0000 Received: from unknown (HELO walton.kettenis.dyndns.org) (62.163.169.212) by sources.redhat.com with SMTP; 19 May 2003 16:59:39 -0000 Received: from elgar.kettenis.dyndns.org (elgar.kettenis.dyndns.org [192.168.0.2]) by walton.kettenis.dyndns.org (8.12.6p2/8.12.5) with ESMTP id h4JGxcNo000265 for ; Mon, 19 May 2003 18:59:38 +0200 (CEST) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: from elgar.kettenis.dyndns.org (localhost [127.0.0.1]) by elgar.kettenis.dyndns.org (8.12.6p2/8.12.6) with ESMTP id h4JGxch7001176 for ; Mon, 19 May 2003 18:59:38 +0200 (CEST) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: (from kettenis@localhost) by elgar.kettenis.dyndns.org (8.12.6p2/8.12.6/Submit) id h4JGxcio001173; Mon, 19 May 2003 18:59:38 +0200 (CEST) Date: Mon, 19 May 2003 16:59:00 -0000 Message-Id: <200305191659.h4JGxcio001173@elgar.kettenis.dyndns.org> From: Mark Kettenis To: gdb-patches@sources.redhat.com Subject: [PATCH/i386newframe] Fix amd64 stack frame base address X-SW-Source: 2003-05/txt/msg00339.txt.bz2 This makes the DWARF CFI and amd64 unwinders agree on what's the base of the stack frame. Comitted. Mark Index: ChangeLog from Mark Kettenis * x86-64-tdep.c (x86_64_frame_this_id, x86_64_sigtramp_frame_this_id, x86_64_unwind_dummy_id): Add offset to the frame base such that we use the same defenition for the top of stack as DWARF CFI does. Index: x86-64-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/x86-64-tdep.c,v retrieving revision 1.67.2.4 diff -u -p -r1.67.2.4 x86-64-tdep.c --- x86-64-tdep.c 18 May 2003 17:57:00 -0000 1.67.2.4 +++ x86-64-tdep.c 19 May 2003 16:57:10 -0000 @@ -966,7 +966,7 @@ x86_64_frame_this_id (struct frame_info if (inside_entry_file (cache->pc)) return; - (*this_id) = frame_id_build (cache->base, cache->pc); + (*this_id) = frame_id_build (cache->base + 16, cache->pc); } static void @@ -1064,7 +1064,7 @@ x86_64_sigtramp_frame_this_id (struct fr struct x86_64_frame_cache *cache = x86_64_sigtramp_frame_cache (next_frame, this_cache); - (*this_id) = frame_id_build (cache->base, frame_pc_unwind (next_frame)); + (*this_id) = frame_id_build (cache->base + 16, frame_pc_unwind (next_frame)); } static void @@ -1133,7 +1133,7 @@ x86_64_unwind_dummy_id (struct gdbarch * frame_unwind_register (next_frame, X86_64_RBP_REGNUM, buf); fp = extract_unsigned_integer (buf, 8); - return frame_id_build (fp, frame_pc_unwind (next_frame)); + return frame_id_build (fp + 16, frame_pc_unwind (next_frame)); } void