This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug gdb/14757] New: Print of expressions with no debug informationgives wrong results
- From: "j.b.w at gmx dot ch" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Tue, 23 Oct 2012 21:28:07 +0000
- Subject: [Bug gdb/14757] New: Print of expressions with no debug informationgives wrong results
- Auto-submitted: auto-generated
http://sourceware.org/bugzilla/show_bug.cgi?id=14757
Bug #: 14757
Summary: Print of expressions with no debug information gives
wrong results
Product: gdb
Version: 7.4
Status: NEW
Severity: normal
Priority: P2
Component: gdb
AssignedTo: unassigned@sourceware.org
ReportedBy: j.b.w@gmx.ch
Classification: Unclassified
Created attachment 6696
--> http://sourceware.org/bugzilla/attachment.cgi?id=6696
Example program showing different types of functions
When I print expressions involving functions for which no debug information is
available, the result is wrong.
Consider the attached example program, and the following gdb session:
(gdb) print sqrt
$1 = {<text variable, no debug info>} 0x7ffff7879010 <sqrt>
(gdb) print std::sqrt
No symbol "sqrt" in namespace "std".
(gdb) print mysqrt
$2 = {double (double)} 0x40083c <mysqrt(double)>
(gdb) print sqrt(0.5)
$3 = 0
(gdb) print std::sqrt(0.5)
No symbol "sqrt" in namespace "std".
(gdb) print mysqrt(0.5)
$4 = 0.25
I would expect the call "print sqrt(0.5)" to give an error message indicating
that the expression cannot be printed due to missing debug information. Giving
a wrong result without any indication that something is wrong is... wrong.
Also, I'm puzzled as to why "print std::sqrt(0.5)" fails, given that the
program compiles (so std::sqrt apparently exists).
There is a related StackOverflow question at
http://stackoverflow.com/questions/5122570/why-does-gdb-evaluate-sqrt3-to-0
--
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.