public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug gdb/13858] New: `set non-stop 1' triggers some fails in gdb.base/break-interp.exp
@ 2012-03-16 7:07 qiyao at gcc dot gnu.org
2012-03-16 7:08 ` [Bug gdb/13858] " qiyao at gcc dot gnu.org
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: qiyao at gcc dot gnu.org @ 2012-03-16 7:07 UTC (permalink / raw)
To: gdb-prs
http://sourceware.org/bugzilla/show_bug.cgi?id=13858
Bug #: 13858
Summary: `set non-stop 1' triggers some fails in
gdb.base/break-interp.exp
Product: gdb
Version: HEAD
Status: NEW
Severity: normal
Priority: P2
Component: gdb
AssignedTo: unassigned@sourceware.org
ReportedBy: qiyao@gcc.gnu.org
Classification: Unclassified
If I don't turn on displaced stepping in default, I get no fail in
gdb.base/break-interp.exp. When I turn on displaced stepping in default (by
add a line in $build_gdb/gdb/testsuite/site.exp), I get following new fails in
native gdb on x86 linux.
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: BINprelinkNOdebugNOpieNO:
symbol-less: reach-_dl_debug_state: reach
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: BINprelinkNOdebugNOpieNO:
symbol-less: entry point reached
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: BINprelinkNOdebugNOpieYES:
symbol-less: reach-_dl_debug_state: reach
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: BINprelinkNOdebugNOpieYES:
symbol-less: entry point reached
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: BINprelinkNOdebugNOpieNO:
symbol-less: reach-_dl_debug_state: reach
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: BINprelinkNOdebugNOpieNO:
symbol-less: entry point reached
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: BINprelinkNOdebugNOpieYES:
symbol-less: reach-_dl_debug_state: reach
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: BINprelinkNOdebugNOpieYES:
symbol-less: entry point reached
(gdb) continue^M
Continuing.^M
0x4000e4c0 in _dl_debug_state () from
/home/yao/SourceCode/gnu/gdb/git.new/build-x86/gdb/testsuite/gdb.base/break-interp-LDprelinkNOdebugNO^M
Entry point address is not known.^M
(gdb) FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO:
BINprelinkNOdebugNOpieNO: symbol-less: reach-_dl_debug_state: reach
Further analysis is needed.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug gdb/13858] `set non-stop 1' triggers some fails in gdb.base/break-interp.exp
2012-03-16 7:07 [Bug gdb/13858] New: `set non-stop 1' triggers some fails in gdb.base/break-interp.exp qiyao at gcc dot gnu.org
@ 2012-03-16 7:08 ` qiyao at gcc dot gnu.org
2012-03-16 10:18 ` palves at redhat dot com
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: qiyao at gcc dot gnu.org @ 2012-03-16 7:08 UTC (permalink / raw)
To: gdb-prs
http://sourceware.org/bugzilla/show_bug.cgi?id=13858
Yao Qi <qiyao at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |x86-linux
Host| |x86-linux
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug gdb/13858] `set non-stop 1' triggers some fails in gdb.base/break-interp.exp
2012-03-16 7:07 [Bug gdb/13858] New: `set non-stop 1' triggers some fails in gdb.base/break-interp.exp qiyao at gcc dot gnu.org
2012-03-16 7:08 ` [Bug gdb/13858] " qiyao at gcc dot gnu.org
@ 2012-03-16 10:18 ` palves at redhat dot com
2012-03-16 10:55 ` qiyao at gcc dot gnu.org
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: palves at redhat dot com @ 2012-03-16 10:18 UTC (permalink / raw)
To: gdb-prs
http://sourceware.org/bugzilla/show_bug.cgi?id=13858
Pedro Alves <palves at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |palves at redhat dot com
--- Comment #1 from Pedro Alves <palves at redhat dot com> 2012-03-16 10:18:06 UTC ---
> If I don't turn on displaced stepping in default, I get no fail in
> gdb.base/break-interp.exp. When I turn on displaced stepping in default (by
> add a line in $build_gdb/gdb/testsuite/site.exp), I get following new fails in
> native gdb on x86 linux.
So "set non-stop 1" isn't really necessary to trigger this, just "set
displaced-stepping on", right? Or are you really running the tests in
non-stop+async mode?
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug gdb/13858] `set non-stop 1' triggers some fails in gdb.base/break-interp.exp
2012-03-16 7:07 [Bug gdb/13858] New: `set non-stop 1' triggers some fails in gdb.base/break-interp.exp qiyao at gcc dot gnu.org
2012-03-16 7:08 ` [Bug gdb/13858] " qiyao at gcc dot gnu.org
2012-03-16 10:18 ` palves at redhat dot com
@ 2012-03-16 10:55 ` qiyao at gcc dot gnu.org
2012-03-16 10:58 ` palves at redhat dot com
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: qiyao at gcc dot gnu.org @ 2012-03-16 10:55 UTC (permalink / raw)
To: gdb-prs
http://sourceware.org/bugzilla/show_bug.cgi?id=13858
--- Comment #2 from Yao Qi <qiyao at gcc dot gnu.org> 2012-03-16 10:54:54 UTC ---
(In reply to comment #1)
> > If I don't turn on displaced stepping in default, I get no fail in
> > gdb.base/break-interp.exp. When I turn on displaced stepping in default (by
> > add a line in $build_gdb/gdb/testsuite/site.exp), I get following new fails in
> > native gdb on x86 linux.
>
> So "set non-stop 1" isn't really necessary to trigger this, just "set
> displaced-stepping on", right? Or are you really running the tests in
> non-stop+async mode?
I am running tests in non-stop mode.
When I put this line
set GDBFLAGS "-ex \"set non-stop 1\""
in testsuite/site.exp, and `make check RUNTESTFLAGS="break-interp.exp"', I get
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: BINprelinkNOdebugNOpieNO:
symbol-less: reach-_dl_debug_state: reach
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: BINprelinkNOdebugNOpieNO:
symbol-less: entry point reached
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: BINprelinkNOdebugNOpieYES:
symbol-less: reach-_dl_debug_state: reach
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: BINprelinkNOdebugNOpieYES:
symbol-less: entry point reached
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: BINprelinkNOdebugNOpieNO:
symbol-less: reach-_dl_debug_state: reach
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: BINprelinkNOdebugNOpieNO:
symbol-less: entry point reached
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: BINprelinkNOdebugNOpieYES:
symbol-less: reach-_dl_debug_state: reach
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: BINprelinkNOdebugNOpieYES:
symbol-less: entry point reached
When I put this line
set GDBFLAGS "-ex \"set target-async on\""
in testsuite/site.exp, I get no fail,
=== gdb Summary ===
# of expected passes 667
# of expected failures 20
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug gdb/13858] `set non-stop 1' triggers some fails in gdb.base/break-interp.exp
2012-03-16 7:07 [Bug gdb/13858] New: `set non-stop 1' triggers some fails in gdb.base/break-interp.exp qiyao at gcc dot gnu.org
` (2 preceding siblings ...)
2012-03-16 10:55 ` qiyao at gcc dot gnu.org
@ 2012-03-16 10:58 ` palves at redhat dot com
2012-03-16 11:12 ` qiyao at gcc dot gnu.org
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: palves at redhat dot com @ 2012-03-16 10:58 UTC (permalink / raw)
To: gdb-prs
http://sourceware.org/bugzilla/show_bug.cgi?id=13858
--- Comment #3 from Pedro Alves <palves at redhat dot com> 2012-03-16 10:57:44 UTC ---
> set GDBFLAGS "-ex \"set non-stop 1\""
That's not proper non-stop, you need to enable async as well.
But, what happens with just
set GDBFLAGS "-ex \"set displaced-stepping on\""
afterall?
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug gdb/13858] `set non-stop 1' triggers some fails in gdb.base/break-interp.exp
2012-03-16 7:07 [Bug gdb/13858] New: `set non-stop 1' triggers some fails in gdb.base/break-interp.exp qiyao at gcc dot gnu.org
` (3 preceding siblings ...)
2012-03-16 10:58 ` palves at redhat dot com
@ 2012-03-16 11:12 ` qiyao at gcc dot gnu.org
2012-03-16 11:15 ` palves at redhat dot com
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: qiyao at gcc dot gnu.org @ 2012-03-16 11:12 UTC (permalink / raw)
To: gdb-prs
http://sourceware.org/bugzilla/show_bug.cgi?id=13858
--- Comment #4 from Yao Qi <qiyao at gcc dot gnu.org> 2012-03-16 11:12:20 UTC ---
(In reply to comment #3)
> > set GDBFLAGS "-ex \"set non-stop 1\""
>
> That's not proper non-stop, you need to enable async as well.
>
I got the same fails as below when run non-stop + async.
> But, what happens with just
>
> set GDBFLAGS "-ex \"set displaced-stepping on\""
>
> afterall?
This is what I got,
Running ../../../gdb/gdb/testsuite/gdb.base/break-interp.exp ...
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: BINprelinkNOdebugNOpieNO:
symbol-less: reach-_dl_debug_state: reach
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: BINprelinkNOdebugNOpieNO:
symbol-less: entry point reached
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: BINprelinkNOdebugNOpieYES:
symbol-less: reach-_dl_debug_state: reach
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: BINprelinkNOdebugNOpieYES:
symbol-less: entry point reached
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: BINprelinkNOdebugNOpieNO:
symbol-less: reach-_dl_debug_state: reach
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: BINprelinkNOdebugNOpieNO:
symbol-less: entry point reached
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: BINprelinkNOdebugNOpieYES:
symbol-less: reach-_dl_debug_state: reach
FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: BINprelinkNOdebugNOpieYES:
symbol-less: entry point reached
=== gdb Summary ===
# of expected passes 659
# of unexpected failures 8
# of expected failures 20
/home/yao/SourceCode/gnu/gdb/git.new/build-x86/gdb/testsuite/../../gdb/gdb
version 7.4.50.20120306-cvs -nw -nx -data-directory
/home/yao/SourceCode/gnu/gdb/git.new/build-x86/gdb/testsuite/../data-directory
-ex "set displaced-stepping on"
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug gdb/13858] `set non-stop 1' triggers some fails in gdb.base/break-interp.exp
2012-03-16 7:07 [Bug gdb/13858] New: `set non-stop 1' triggers some fails in gdb.base/break-interp.exp qiyao at gcc dot gnu.org
` (4 preceding siblings ...)
2012-03-16 11:12 ` qiyao at gcc dot gnu.org
@ 2012-03-16 11:15 ` palves at redhat dot com
2012-03-16 12:07 ` [Bug gdb/13858] displaced stepping " qiyao at gcc dot gnu.org
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: palves at redhat dot com @ 2012-03-16 11:15 UTC (permalink / raw)
To: gdb-prs
http://sourceware.org/bugzilla/show_bug.cgi?id=13858
--- Comment #5 from Pedro Alves <palves at redhat dot com> 2012-03-16 11:14:48 UTC ---
Okay, then displaced-stepping is the culprit, and the issue title should be
changed.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug gdb/13858] displaced stepping triggers some fails in gdb.base/break-interp.exp
2012-03-16 7:07 [Bug gdb/13858] New: `set non-stop 1' triggers some fails in gdb.base/break-interp.exp qiyao at gcc dot gnu.org
` (5 preceding siblings ...)
2012-03-16 11:15 ` palves at redhat dot com
@ 2012-03-16 12:07 ` qiyao at gcc dot gnu.org
2015-04-10 9:12 ` cvs-commit at gcc dot gnu.org
2015-04-10 9:15 ` palves at redhat dot com
8 siblings, 0 replies; 10+ messages in thread
From: qiyao at gcc dot gnu.org @ 2012-03-16 12:07 UTC (permalink / raw)
To: gdb-prs
http://sourceware.org/bugzilla/show_bug.cgi?id=13858
Yao Qi <qiyao at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|`set non-stop 1' triggers |displaced stepping triggers
|some fails in |some fails in
|gdb.base/break-interp.exp |gdb.base/break-interp.exp
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug gdb/13858] displaced stepping triggers some fails in gdb.base/break-interp.exp
2012-03-16 7:07 [Bug gdb/13858] New: `set non-stop 1' triggers some fails in gdb.base/break-interp.exp qiyao at gcc dot gnu.org
` (6 preceding siblings ...)
2012-03-16 12:07 ` [Bug gdb/13858] displaced stepping " qiyao at gcc dot gnu.org
@ 2015-04-10 9:12 ` cvs-commit at gcc dot gnu.org
2015-04-10 9:15 ` palves at redhat dot com
8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2015-04-10 9:12 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=13858
--- Comment #6 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Pedro Alves <palves@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=906d60cf467b2d5a20ff04dbc4805a84ef313229
commit 906d60cf467b2d5a20ff04dbc4805a84ef313229
Author: Pedro Alves <palves@redhat.com>
Date: Fri Apr 10 10:07:02 2015 +0100
PR13858 - Can't do displaced stepping with no symbols
Running break-interp.exp with the target always in non-stop mode trips
on PR13858, as enabling non-stop also enables displaced stepping.
The problem is that when GDB doesn't know where the entry point is, it
doesn't know where to put the displaced stepping scratch pad. The
test added by this commit exercises this. Without the fix, we get:
(gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=on: break *$pc
set displaced-stepping on
(gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=on: set
displaced-stepping on
stepi
0x00000000004005be in ?? ()
Entry point address is not known.
(gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=on: stepi
p /x $pc
$2 = 0x4005be
(gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=on: get after PC
FAIL: gdb.base/step-over-no-symbols.exp: displaced=on: advanced
The fix switches all GNU/Linux ports to get the entry point from
AT_ENTRY in the target auxiliary vector instead of from symbols. This
is currently only done by PPC when Cell debugging is enabled, but I
think all archs should be able to do the same. Note that
ppc_linux_displaced_step_location cached the result, I'm guessing to
avoid constantly re-fetching the auxv out of remote targets, but
that's no longer necessary nowadays, as the auxv blob is itself cached
in the inferior object. The ppc_linux_entry_point_addr global is
obviously bad for multi-process too nowadays.
Tested on x86-64 (-m64/-m32), PPC64 (-m64/-m32) and S/390 GNU/Linux.
Yao tested the new test on ARM as well.
gdb/ChangeLog:
2015-04-10 Pedro Alves <palves@redhat.com>
PR gdb/13858
* amd64-linux-tdep.c (amd64_linux_init_abi_common): Install
linux_displaced_step_location as gdbarch_displaced_step_location
hook.
* arm-linux-tdep.c (arm_linux_init_abi): Likewise.
* i386-linux-tdep.c (i386_linux_init_abi): Likewise.
* linux-tdep.c (linux_displaced_step_location): New function,
based on ppc_linux_displaced_step_location.
* linux-tdep.h (linux_displaced_step_location): New declaration.
* ppc-linux-tdep.c (ppc_linux_entry_point_addr): Delete.
(ppc_linux_inferior_created, ppc_linux_displaced_step_location):
Delete.
(ppc_linux_init_abi): Install linux_displaced_step_location as
gdbarch_displaced_step_location hook, even without Cell/B.E..
(_initialize_ppc_linux_tdep): Don't install
ppc_linux_inferior_created as inferior_created observer.
* s390-linux-tdep.c (s390_gdbarch_init): Install
linux_displaced_step_location as gdbarch_displaced_step_location
hook.
gdb/testsuite/
2015-04-10 Pedro Alves <palves@redhat.com>
PR gdb/13858
* gdb.base/step-over-no-symbols.exp: New file.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug gdb/13858] displaced stepping triggers some fails in gdb.base/break-interp.exp
2012-03-16 7:07 [Bug gdb/13858] New: `set non-stop 1' triggers some fails in gdb.base/break-interp.exp qiyao at gcc dot gnu.org
` (7 preceding siblings ...)
2015-04-10 9:12 ` cvs-commit at gcc dot gnu.org
@ 2015-04-10 9:15 ` palves at redhat dot com
8 siblings, 0 replies; 10+ messages in thread
From: palves at redhat dot com @ 2015-04-10 9:15 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=13858
Pedro Alves <palves at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #7 from Pedro Alves <palves at redhat dot com> ---
Fixed.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-04-10 9:15 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-16 7:07 [Bug gdb/13858] New: `set non-stop 1' triggers some fails in gdb.base/break-interp.exp qiyao at gcc dot gnu.org
2012-03-16 7:08 ` [Bug gdb/13858] " qiyao at gcc dot gnu.org
2012-03-16 10:18 ` palves at redhat dot com
2012-03-16 10:55 ` qiyao at gcc dot gnu.org
2012-03-16 10:58 ` palves at redhat dot com
2012-03-16 11:12 ` qiyao at gcc dot gnu.org
2012-03-16 11:15 ` palves at redhat dot com
2012-03-16 12:07 ` [Bug gdb/13858] displaced stepping " qiyao at gcc dot gnu.org
2015-04-10 9:12 ` cvs-commit at gcc dot gnu.org
2015-04-10 9:15 ` palves at redhat dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).