| Thread overview | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
January 11, 2014 [Issue 4181] GDB prints wrong value of TLS variables | ||||
|---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=4181 --- Comment #2 from Andrei Alexandrescu <andrei@erdani.com> 2014-01-10 17:45:09 PST --- placed $50 bounty -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- | ||||
January 12, 2014 [Issue 4181] GDB prints wrong value of TLS variables | ||||
|---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=4181 Iain Buclaw <ibuclaw@ubuntu.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ibuclaw@ubuntu.com --- Comment #3 from Iain Buclaw <ibuclaw@ubuntu.com> 2014-01-12 02:36:32 PST --- (In reply to comment #2) > placed $50 bounty Something is completely fudged with -g in DMD. Just doing a cursory check on 2.064: (gdb) p 'test.STest.y' Cannot access memory at address 0x736574050065b510 (gdb) p 'test.x' Cannot access memory at address 0x34445f040065b510 Cannot reproduce with -gc, and of course, GDC is just fine. Personally I would like to see -gc deprecated and all features of -gc moved over to -g, excluding the setting of DW_LANG_C89. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- | ||||
January 12, 2014 [Issue 4181] GDB prints wrong value of TLS variables | ||||
|---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=4181 Benjamin Thaut <code@benjamin-thaut.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |code@benjamin-thaut.de --- Comment #4 from Benjamin Thaut <code@benjamin-thaut.de> 2014-01-12 03:13:51 PST --- (In reply to comment #3) > (In reply to comment #2) > > placed $50 bounty > > Something is completely fudged with -g in DMD. > I also noticed that debugging seemed to work better with dmd 2.063.2 (but on Windows) > > Personally I would like to see -gc deprecated and all features of -gc moved over to -g, excluding the setting of DW_LANG_C89. Please no. Under windows -g works fine and I really don't want the debug information to look like C code. If this is done please make it unix only. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- | ||||
January 12, 2014 [Issue 4181] GDB prints wrong value of TLS variables | ||||
|---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=4181 --- Comment #5 from Iain Buclaw <ibuclaw@ubuntu.com> 2014-01-12 03:26:48 PST --- (In reply to comment #4) > > Please no. Under windows -g works fine and I really don't want the debug information to look like C code. If this is done please make it unix only. I'd hate to be the barer of bad news, but -g and -gc have been nearly identical for quite a few years now. Here's the current score. 1) The difference between -g and -gc on Windows is dchars are represented as ulong (determined by a quick grep of 'symdebug' over the glue code. Windows debug format is either CV4 or CV8. 2) The difference between -g and -gc on Linux is DW_LANG_D vs DW_LANG_C89 (determined by diff'ing a objdump -g of two compiled objects). So whatever misconception you have of -gc, it is wrong and this attitude should be dropped. I can't imagine things breaking on Windows deprecating -gc and removing (1) so that dchar is *always* represented as dchar. As for (2) something is sorely broken on Linux if DW_LANG_D is specified vs DW_LANG_C89. This may not be a problem for GDC perhaps because it emits DW_OP_GNU_tls_address against the TLS symbols. But it's still no excuse for GDB to break debugging when this is missing. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- | ||||
January 12, 2014 [Issue 4181] GDB prints wrong value of TLS variables | ||||
|---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=4181 --- Comment #6 from Benjamin Thaut <code@benjamin-thaut.de> 2014-01-12 03:56:32 PST --- > > So whatever misconception you have of -gc, it is wrong and this attitude should be dropped. If its really that similar I'm fine with dropping it. I just wanted to point out the windows side of things, as those are often forgotten in den D-Community in general. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- | ||||
January 12, 2014 [Issue 4181] GDB prints wrong value of TLS variables | ||||
|---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=4181 --- Comment #7 from Iain Buclaw <ibuclaw@ubuntu.com> 2014-01-12 04:54:06 PST --- (In reply to comment #5) > If its really that similar I'm fine with dropping it. I just wanted to point out the windows side of things, as those are often forgotten in den D-Community in general. Anyway, I'm not promoting 'pretend we're C' behaviour. I'm in favour of killing 'pretend we're C' behaviour. There was a time where DMD would emit a delegate as a ulong in debug code, and have it's own custom DWARF tags for D arrays, etc. This is no longer the case. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- | ||||
January 12, 2014 [Issue 4181] GDB prints wrong value of TLS variables | ||||
|---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=4181 --- Comment #8 from Iain Buclaw <ibuclaw@ubuntu.com> 2014-01-12 06:25:52 PST --- (In reply to comment #5) > > As for (2) something is sorely broken on Linux if DW_LANG_D is specified vs DW_LANG_C89. This may not be a problem for GDC perhaps because it emits DW_OP_GNU_tls_address against the TLS symbols. But it's still no excuse for GDB to break debugging when this is missing. Problem seems to be in GDB itself, and not DMD. This is something that I'll check is fixed once I finish up writing the D expression parser. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- | ||||
January 20, 2014 [Issue 4181] GDB prints wrong value of TLS variables | ||||
|---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=4181 --- Comment #9 from Iain Buclaw <ibuclaw@ubuntu.com> 2014-01-20 10:04:04 PST --- I believe this should be now fixed in my local copy of gdb. I've got a few more things to do including: - Get line completion working without 'quotes' - Implement .sizeof property keeping sizeof(T) for gdb compatibility. - Recognise 'cast(T)' whilst keeping C-style casts for gdb compatibility. Oh Ho! -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- | ||||
January 21, 2014 [Issue 4181] GDB prints wrong value of TLS variables | ||||
|---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=4181 --- Comment #10 from Iain Buclaw <ibuclaw@ubuntu.com> 2014-01-20 22:53:11 PST --- Yep, this is now working for DMD in my local copy of gdb. :) Will probably take me about a week to finalise some patches to send off (anyone wanting to help test is more than welcome). -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- | ||||
January 22, 2014 [Issue 4181] GDB prints wrong value of TLS variables | ||||
|---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=4181 --- Comment #11 from Andrei Alexandrescu <andrei@erdani.com> 2014-01-22 13:48:07 PST --- Awesome, keep us posted. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- | ||||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply