May 01, 2020
https://issues.dlang.org/show_bug.cgi?id=20792

          Issue ID: 20792
           Summary: Emit standard DWARF3 opcode for TLS address
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: bugzilla@digitalmars.com

Mathias Lang reports:

DW_OP_GNU_push_tls_address is a GNU extension prior to DWARF2.
DWARF3 introduced DW_OP_form_tls_address with the exact same semantic, as can
be seen here:

https://sourceware.org/legacy-ml/gdb-patches/2016-08/msg00222.html
https://reviews.llvm.org/rL274366
Caveat: GDB support was "only" added in 7.12, which was released on 2016-10-07.

Since I don't use DMD (debug infos are utterly broken on MacOSX), I didn't observe any downside of this, but I was going over the DWARF code and found this oddity and figured it was time to replace it.

https://github.com/dlang/dmd/pull/11087

--