From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17148 invoked by alias); 8 Oct 2012 20:04:11 -0000 Received: (qmail 17135 invoked by uid 22791); 8 Oct 2012 20:04:08 -0000 X-SWARE-Spam-Status: No, hits=-3.8 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-ob0-f169.google.com (HELO mail-ob0-f169.google.com) (209.85.214.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 08 Oct 2012 20:04:04 +0000 Received: by mail-ob0-f169.google.com with SMTP id va7so4519095obc.0 for ; Mon, 08 Oct 2012 13:04:03 -0700 (PDT) MIME-Version: 1.0 Received: by 10.60.14.165 with SMTP id q5mr14599503oec.28.1349726643509; Mon, 08 Oct 2012 13:04:03 -0700 (PDT) Received: by 10.76.144.229 with HTTP; Mon, 8 Oct 2012 13:04:03 -0700 (PDT) In-Reply-To: <201210081948.q98Jm3D7020175@glazunov.sibelius.xs4all.nl> References: <20121003154712.GH3028@adacore.com> <201210040657.q946vJlc006566@glazunov.sibelius.xs4all.nl> <201210081948.q98Jm3D7020175@glazunov.sibelius.xs4all.nl> Date: Mon, 08 Oct 2012 20:04:00 -0000 Message-ID: Subject: Re: PING: PATCH: PR backtrace/14646: [x32] backtrace doesn't work From: "H.J. Lu" To: Mark Kettenis Cc: gdb-patches@sourceware.org Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes 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: 2012-10/txt/msg00136.txt.bz2 On Mon, Oct 8, 2012 at 12:48 PM, Mark Kettenis wrote: >> Date: Thu, 4 Oct 2012 06:57:22 -0700 >> From: "H.J. Lu" >> >> On Wed, Oct 3, 2012 at 11:57 PM, Mark Kettenis wrote: >> > >> > Perhaps the user-regs.c mechanism can be used to establish eip -> pc >> > and esp -> sp mappings? >> >> It doesn't help as long as gdbarch_pc_regnum/gdbarch_sp_regnum >> are used for both frame pc/sp value and unwind pc/sp value. For x32, >> we want eip/esp for frame pc/sp value and rip/rsp for unwind pc/sp >> value. > > That probably means we need to set gdbarch_pc_regnum (and > gdbarch_sp_regnum) to -1 for x32. We can't set gdbarch_pc_regnum/gdbarch_sp_regnum to -1: GNU gdb (GDB) 7.5.50.20121008-cvs Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-unknown-linux-gnu". For bug reporting instructions, please see: ... Reading symbols from /export/build/gnu/glibc-x32/build-x86_64-linux/elf/sln...done. (gdb) b main Breakpoint 1 at 0x400c20: file sln.c, line 50. (gdb) r Starting program: /export/build/gnu/glibc-x32/build-x86_64-linux/elf/sln /export/gnu/import/git/gdb/gdb/regcache.c:1062: internal-error: regcache_read_pc: Unable to find PC A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) -- H.J.