public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug debug/41048] New: bad DW_AT_data_member_location from g++
@ 2009-08-12 19:18 tromey at gcc dot gnu dot org
2009-08-12 19:25 ` [Bug debug/41048] " pinskia at gcc dot gnu dot org
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: tromey at gcc dot gnu dot org @ 2009-08-12 19:18 UTC (permalink / raw)
To: gcc-bugs
This example came from the gdb list:
#include "stdio.h"
class Blah
{
public:
Blah(): mFlag(0) {}
void setFlag( int value ) {
mFlag = value;
}
void printFlag() {
printf( "Flag value is %d\n", mFlag );
}
private:
int mHugeArray[0x08000001];
int mFlag;
};
int main( int argc, char* argv[] )
{
Blah* foo = new Blah();
foo->setFlag(1);
foo->printFlag();
return 0;
}
I compiled this using today's svn trunk g++.
Then readelf shows:
<2><8e>: Abbrev Number: 7 (DW_TAG_member)
<8f> DW_AT_name : (indirect string, offset: 0x9f): mHugeArray
<93> DW_AT_decl_file : 1
<94> DW_AT_decl_line : 13
<95> DW_AT_type : <0xf2>
<99> DW_AT_data_member_location: 2 byte block: 23 0
(DW_OP_plus_uconst: 0)
<9c> DW_AT_accessibility: 3 (private)
<2><9d>: Abbrev Number: 7 (DW_TAG_member)
<9e> DW_AT_name : (indirect string, offset: 0x0): mFlag
<a2> DW_AT_decl_file : 1
<a3> DW_AT_decl_line : 14
<a4> DW_AT_type : <0x53>
<a8> DW_AT_data_member_location: 2 byte block: 23 0
(DW_OP_plus_uconst: 0)
<ab> DW_AT_accessibility: 3 (private)
Both fields the same DW_AT_data_member_location.
--
Summary: bad DW_AT_data_member_location from g++
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tromey at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41048
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug debug/41048] bad DW_AT_data_member_location from g++
2009-08-12 19:18 [Bug debug/41048] New: bad DW_AT_data_member_location from g++ tromey at gcc dot gnu dot org
@ 2009-08-12 19:25 ` pinskia at gcc dot gnu dot org
2010-05-24 11:13 ` jakub at gcc dot gnu dot org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-08-12 19:25 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2009-08-12 19:25 -------
I think this only happens for HWI == 32bits. It works for me with a compiler
for ppc64-linux-gnu but fails with i686-linux-gnu. (Oh it works for
i386-darwin too which has HWI as being 64bits).
One more reason to change HWI for x86 to be 64bits by default.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
GCC target triplet| |HWi == 32bits
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41048
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug debug/41048] bad DW_AT_data_member_location from g++
2009-08-12 19:18 [Bug debug/41048] New: bad DW_AT_data_member_location from g++ tromey at gcc dot gnu dot org
2009-08-12 19:25 ` [Bug debug/41048] " pinskia at gcc dot gnu dot org
@ 2010-05-24 11:13 ` jakub at gcc dot gnu dot org
2010-05-28 13:47 ` jakub at gcc dot gnu dot org
2010-07-28 14:32 ` jakub at gcc dot gnu dot org
3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-05-24 11:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from jakub at gcc dot gnu dot org 2010-05-24 11:13 -------
Created an attachment (id=20733)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20733&action=view)
gcc46-pr41048.patch
Untested fix.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41048
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug debug/41048] bad DW_AT_data_member_location from g++
2009-08-12 19:18 [Bug debug/41048] New: bad DW_AT_data_member_location from g++ tromey at gcc dot gnu dot org
2009-08-12 19:25 ` [Bug debug/41048] " pinskia at gcc dot gnu dot org
2010-05-24 11:13 ` jakub at gcc dot gnu dot org
@ 2010-05-28 13:47 ` jakub at gcc dot gnu dot org
2010-07-28 14:32 ` jakub at gcc dot gnu dot org
3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-05-28 13:47 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from jakub at gcc dot gnu dot org 2010-05-28 13:47 -------
Subject: Bug 41048
Author: jakub
Date: Fri May 28 13:46:46 2010
New Revision: 159975
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159975
Log:
PR debug/41048
* dwarf2out.c (double_int_type_size_in_bits): New function.
(round_up_to_align): Change first argument and return value to
double_int.
(field_byte_offset): Work internally on double_ints.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41048
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug debug/41048] bad DW_AT_data_member_location from g++
2009-08-12 19:18 [Bug debug/41048] New: bad DW_AT_data_member_location from g++ tromey at gcc dot gnu dot org
` (2 preceding siblings ...)
2010-05-28 13:47 ` jakub at gcc dot gnu dot org
@ 2010-07-28 14:32 ` jakub at gcc dot gnu dot org
3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-07-28 14:32 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from jakub at gcc dot gnu dot org 2010-07-28 14:32 -------
Fixed.
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41048
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-07-28 14:32 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-12 19:18 [Bug debug/41048] New: bad DW_AT_data_member_location from g++ tromey at gcc dot gnu dot org
2009-08-12 19:25 ` [Bug debug/41048] " pinskia at gcc dot gnu dot org
2010-05-24 11:13 ` jakub at gcc dot gnu dot org
2010-05-28 13:47 ` jakub at gcc dot gnu dot org
2010-07-28 14:32 ` jakub at gcc dot gnu dot org
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).