[Issue 4181] GDB prints wrong value of TLS variables
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Jan 12 03:26:52 PST 2014
https://d.puremagic.com/issues/show_bug.cgi?id=4181
--- Comment #5 from Iain Buclaw <ibuclaw at 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: -------
More information about the Digitalmars-d-bugs
mailing list