Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Fred Fish <fnf@specifix.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH] Fix problem with scope.exp test, skipping past init0 call
Date: Mon, 13 Feb 2006 15:47:00 -0000	[thread overview]
Message-ID: <200602131047.30428.fnf@specifix.com> (raw)
In-Reply-To: <20060213153903.GA26349@nevyn.them.org>

On Monday 13 February 2006 10:39, Daniel Jacobowitz wrote:
> What platform and compiler version is this?  It doesn't fail for me.

Fedora Core 4, using the latest development gcc while running the]
gdb testsuite.

> Well, that's supposed to skip a call to __main(), which GCC generates
> on very few platforms... stopping at the opening brace is definitely
> a bug in its own right, in the debug info or in the prologue skipper.

The problem is that gcc now generates prologues that the prologue skipper
isn't prepared to handle.

The latest gcc generates prologues like:

main:
        leal    4(%esp), %ecx
        andl    $-16, %esp
        pushl   -4(%ecx)
        pushl   %ebp
        movl    %esp, %ebp
        pushl   %ecx
        call    foo

While older gcc's generate a prologue that
gdb understands, like:

main:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $8, %esp
        andl    $-16, %esp
        movl    $0, %eax
        addl    $15, %eax
        addl    $15, %eax
        shrl    $4, %eax
        sall    $4, %eax
        subl    %eax, %esp
        call    foo

So when compiling with the latest gcc, gdb will set a function
breakpoint at the same address as main.

I was just reviewing the mailing lists to see if anyone else has
reported this, or is working on it, before doing any work on
i386_analyze_frame_setup().

-Fred


  reply	other threads:[~2006-02-13 15:47 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-12 20:10 Fred Fish
2006-02-13  6:16 ` Jim Blandy
2006-02-13 15:39 ` Daniel Jacobowitz
2006-02-13 15:47   ` Fred Fish [this message]
2006-02-13 15:53     ` Daniel Jacobowitz
2006-02-13 16:05     ` Mark Kettenis
2006-02-13 16:08       ` Daniel Jacobowitz
2006-02-13 16:19       ` Fred Fish
2006-02-13 16:49         ` Mark Kettenis
2006-02-13 17:47           ` Jim Blandy
2006-02-13 17:54             ` Jim Blandy
2006-02-13 17:57               ` Jim Blandy
2006-02-13 18:08                 ` Mark Kettenis
2006-03-02  0:01             ` Michael Snyder
2006-03-02  6:09               ` Jim Blandy
2006-02-13 18:39           ` Fred Fish

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200602131047.30428.fnf@specifix.com \
    --to=fnf@specifix.com \
    --cc=drow@false.org \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox