GDB prints wrong value of shared or __gshared variables on Linux x86_64 with ld.gold linker. __gshared uint globvar1 = 4020000000; __gshared ushort globvar2 = 65000; void main() { globvar1++; globvar2 += 5; return; } (gdb) p goldbug.globvar1 $1 = 4020000001 (gdb) p goldbug.globvar2 $2 = 21761 Fix will follow shortly.
https://github.com/D-Programming-Language/dmd/pull/4507
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/9bd7c7c24c5d30db21520d5edf8bf4433164a8e8 Fix Issue 14313 - [ld.gold] gdb: wrong value of shared variables https://github.com/D-Programming-Language/dmd/commit/13af2803c8a0463cae1ab611cda539d035e4b59f Merge pull request #4507 from tramker/bug14313 Fix Issue 14313 - [ld.gold] gdb: wrong value of shared variables
Commits pushed to stable at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/9bd7c7c24c5d30db21520d5edf8bf4433164a8e8 Fix Issue 14313 - [ld.gold] gdb: wrong value of shared variables https://github.com/D-Programming-Language/dmd/commit/13af2803c8a0463cae1ab611cda539d035e4b59f Merge pull request #4507 from tramker/bug14313