bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/24574] New: extern symbols in dlls are misleading under debugger


From: sbence92 at gmail dot com
Subject: [Bug ld/24574] New: extern symbols in dlls are misleading under debugger
Date: Fri, 17 May 2019 13:02:00 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=24574

            Bug ID: 24574
           Summary: extern symbols in dlls are misleading under debugger
           Product: binutils
           Version: 2.31
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: sbence92 at gmail dot com
  Target Milestone: ---
              Host: x86-64-mingw32
            Target: x86-64-mingw32
             Build: x86-64-mingw32

Created attachment 11782
  --> https://sourceware.org/bugzilla/attachment.cgi?id=11782&action=edit
example

With binutils 2.31 and later extern symbols in DLLs point to junk when
inspected under a debugger. The source of the problem seems to be ld because
the bug is reproducible with ld 2.31 and gdb 8.3 but it isn't with ld 2.30 with
same gdb.

If your run make all in the attached example (after specifying the your
toolchain) you find the the address of pcode_st is different in
productionCode.dll and test.dll under a debugger.
If you change  extern prodCode_st pcode_st; in test.cpp  to
__declspec(dllimport) prodCode_st pcode_st; the problem goes away.

linking with --enable-auto-import does not help.

toolchain for reproduction: mingw64 gcc 8.3 from msys2 + binutils 2.31.1 from
http://repo.msys2.org/mingw/x86_64/

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]