From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27121 invoked by alias); 24 Nov 2010 21:19:27 -0000 Received: (qmail 27081 invoked by uid 22791); 24 Nov 2010 21:19:26 -0000 X-SWARE-Spam-Status: No, hits=-1.4 required=5.0 tests=AWL,BAYES_05,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO glazunov.sibelius.xs4all.nl) (83.163.83.176) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 24 Nov 2010 21:19:20 +0000 Received: from glazunov.sibelius.xs4all.nl (kettenis@localhost [127.0.0.1]) by glazunov.sibelius.xs4all.nl (8.14.3/8.14.3) with ESMTP id oAOLIslu002805; Wed, 24 Nov 2010 22:18:54 +0100 (CET) Received: (from kettenis@localhost) by glazunov.sibelius.xs4all.nl (8.14.3/8.14.3/Submit) id oAOLIqZI030918; Wed, 24 Nov 2010 22:18:52 +0100 (CET) Date: Wed, 24 Nov 2010 21:19:00 -0000 Message-Id: <201011242118.oAOLIqZI030918@glazunov.sibelius.xs4all.nl> From: Mark Kettenis To: pierre.muller@ics-cnrs.unistra.fr CC: brobecker@adacore.com, gdb-patches@sourceware.org In-reply-to: <004201cb87c1$dab95cd0$902c1670$@muller@ics-cnrs.unistra.fr> (pierre.muller@ics-cnrs.unistra.fr) Subject: Re: [RFC] Improve amd64 prologue analysis References: <001701cb84ea$6883c170$398b4450$@muller@ics-cnrs.unistra.fr> <20101118172209.GE2634@adacore.com> <004201cb87c1$dab95cd0$902c1670$@muller@ics-cnrs.unistra.fr> 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-11/txt/msg00411.txt.bz2 > From: "Pierre Muller" > Date: Fri, 19 Nov 2010 09:14:56 +0100 > > > -----Message d'origine----- > > De : gdb-patches-owner@sourceware.org [mailto:gdb-patches- > > owner@sourceware.org] De la part de Joel Brobecker > > Envoyé : jeudi 18 novembre 2010 18:22 > > À : Pierre Muller > > Cc : gdb-patches@sourceware.org > > Objet : Re: [RFC] Improve amd64 prologue analysis > > > > > Free Pascal for x86_64 (amd64) CPU generates losts of functions > > > that do not use RBP as a frame pointer. > > > I tried to improve amd64-tdep.c to better cope > > > with this case. > > > > I thought that on amd64, we weren't going to have prologue parsers > > and rely on frame unwinding info instead? At AdaCore, we have the > > same sort of things because of Windows where the system code (mostly > > system DLLs) does not have the unwinding info in DWARF format. But > > for code generated by us, we have all the debugging information needed > > to unwind without parsing the prologue, even on Windows64. > > Does this means that we should only use that code > if no dwarf debug info is available? The official amd64 ABI that's used by most, if not all, Unix-like operating systems, pretty much mandates DWARF-like debug info. It really should always be available on platforms that follow that ABI. Now I suspect that 64-bit Windows, given its utterly retarded IL32P64 model, doesn't follow that ABI. Therefore my suggestion would be to only use this code on Windows. > The problem currently on Windows-64bit generated code > is that dwarf debug information is more > deeply broken than stabs, so that I am still mainly using stabs > (especially to debug dwarf problems...). Hmm, stabs on 64-bit platforms has never really worked.