From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19872 invoked by alias); 4 Apr 2010 22:17:31 -0000 Received: (qmail 19845 invoked by uid 22791); 4 Apr 2010 22:17:19 -0000 X-SWARE-Spam-Status: No, hits=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 04 Apr 2010 22:17:15 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o34MH1aJ007195 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sun, 4 Apr 2010 18:17:01 -0400 Received: from host0.dyn.jankratochvil.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o34MGxd4000864 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 4 Apr 2010 18:17:01 -0400 Received: from host0.dyn.jankratochvil.net (localhost [127.0.0.1]) by host0.dyn.jankratochvil.net (8.14.4/8.14.4) with ESMTP id o34MGxr0026236; Mon, 5 Apr 2010 00:16:59 +0200 Received: (from jkratoch@localhost) by host0.dyn.jankratochvil.net (8.14.4/8.14.4/Submit) id o34MGw96026235; Mon, 5 Apr 2010 00:16:58 +0200 Date: Sun, 04 Apr 2010 22:17:00 -0000 From: Jan Kratochvil To: Pedro Alves Cc: gdb-patches@sourceware.org Subject: Re: [patch] Fix breakpoint at *_start Message-ID: <20100404221658.GA26184@host0.dyn.jankratochvil.net> References: <20100404210751.GA21664@host0.dyn.jankratochvil.net> <201004042245.58720.pedro@codesourcery.com> <20100404215724.GA24966@host0.dyn.jankratochvil.net> <201004042304.22065.pedro@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <201004042304.22065.pedro@codesourcery.com> User-Agent: Mutt/1.5.20 (2009-08-17) 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: 2010-04/txt/msg00064.txt.bz2 On Mon, 05 Apr 2010 00:04:22 +0200, Pedro Alves wrote: > I think you should still leave 9436 open. There's more > to fix described in the PR. Maybe close PR9341, though. Done. > > > The need for -static is a test implementation detail on systems > > > with a userspace dynamic loader à la ld.so. Can I convince you > > > to remove "static" from the test name? > > > > Do those systems support (=ignore) the "-static" flag? > > I can't speak for all systems, but it's conceivable we'll > find some that don't. Most do support it. But then, > non ld.so-ish target's won't need -static to trigger the > problem. OK; checked-in just the renamed unchanged version, though. Thanks, Jan http://sourceware.org/ml/gdb-cvs/2010-04/msg00029.html --- src/gdb/ChangeLog 2010/04/04 13:54:42 1.11568 +++ src/gdb/ChangeLog 2010/04/04 22:12:04 1.11569 @@ -1,5 +1,10 @@ 2010-04-04 Jan Kratochvil + * infcmd.c (run_command_1): Call proceed with regcache_read_pc address. + * config/djgpp/fnchange.lst: Add translation for break-entry.exp. + +2010-04-04 Jan Kratochvil + * breakpoint.c (bpstat_find_step_resume_breakpoint): Remove. * breakpoint.h (bpstat_find_step_resume_breakpoint): Remove. --- src/gdb/infcmd.c 2010/03/25 20:48:53 1.263 +++ src/gdb/infcmd.c 2010/04/04 22:12:04 1.264 @@ -580,8 +580,9 @@ has done its thing; now we are setting up the running program. */ post_create_inferior (¤t_target, 0); - /* Start the target running. */ - proceed ((CORE_ADDR) -1, TARGET_SIGNAL_0, 0); + /* Start the target running. Do not use -1 continuation as it would skip + breakpoint right at the entry point. */ + proceed (regcache_read_pc (get_current_regcache ()), TARGET_SIGNAL_0, 0); /* Since there was no error, there's no need to finish the thread states here. */ --- src/gdb/config/djgpp/fnchange.lst 2010/02/01 19:27:55 1.108 +++ src/gdb/config/djgpp/fnchange.lst 2010/04/04 22:12:07 1.109 @@ -371,6 +371,7 @@ @V@/gdb/testsuite/gdb.arch/powerpc-prologue.exp @V@/gdb/testsuite/gdb.arch/ppc-prologue.exp @V@/gdb/testsuite/gdb.base/bitfields2.c @V@/gdb/testsuite/gdb.base/bitfiel2.c @V@/gdb/testsuite/gdb.base/bitfields2.exp @V@/gdb/testsuite/gdb.base/bitfiel2.exp +@V@/gdb/testsuite/gdb.base/break-entry.exp @V@/gdb/testsuite/gdb.base/brkentry.exp @V@/gdb/testsuite/gdb.base/coremaker2.c @V@/gdb/testsuite/gdb.base/core2maker.c @V@/gdb/testsuite/gdb.base/hashline1.exp @V@/gdb/testsuite/gdb.base/hash1line.exp @V@/gdb/testsuite/gdb.base/hashline2.exp @V@/gdb/testsuite/gdb.base/hash2line.exp --- src/gdb/testsuite/ChangeLog 2010/04/02 05:13:07 1.2218 +++ src/gdb/testsuite/ChangeLog 2010/04/04 22:12:09 1.2219 @@ -1,3 +1,7 @@ +2010-04-04 Jan Kratochvil + + * gdb.base/break-entry.exp: New. + 2010-04-02 Hui Zhu Michael Snyder --- src/gdb/testsuite/gdb.base/break-entry.exp +++ src/gdb/testsuite/gdb.base/break-entry.exp 2010-04-04 22:15:57.451103000 +0000 @@ -0,0 +1,43 @@ +# Copyright (C) 2010 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Test inferior can stop at its very first instruction, usually "_start". +# Dynamic executables have first instruction in ld.so. + +set testfile break-entry +if { [prepare_for_testing ${testfile}.exp ${testfile} start.c {additional_flags=-static}] } { + return -1 +} + +set test "info files" +set entry "" +gdb_test_multiple $test $test { + -re "\r\n\[\t \]*Entry point:\[\t \]*(0x\[0-9a-f\]+)\r\n.*$gdb_prompt $" { + set entry $expect_out(1,string) + pass $test + } +} +if {$entry == ""} { + untested ${testfile}.exp + return +} + +if ![runto "*$entry"] { + return +} +gdb_test {p/x $pc} " = $entry" + +gdb_breakpoint "main" +gdb_continue_to_breakpoint "main" "main.*"