https://bugs.llvm.org/show_bug.cgi?id=51383

            Bug ID: 51383
           Summary: Duplicate symbols in PDB public symbol stream
           Product: lld
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: All Bugs
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]

I recently noticed that in certain cases, the PDB file produced by lld will
contain symbols twice in the public symbol stream.

Here's a short repro case:

#include <thread>

void Func(void) {}

int main(void)
{
  std::thread t(&Func);
  return 0;
}

Compile and link the above with clang-cl and lld-link, respectively.
Note that the PDB file will contain the symbol
??_Gbad_array_new_length@std@@UEAAPEAXI@Z twice in the public symbol stream.

I've noticed this with other symbols as well, but the above repro should be the
easiest to reproduce.

I have never seen any duplicate symbol in PDBs produced by MSVC, and the public
symbol stream is meant to contain only unique, external symbols with their RVA
and mangled name, so I don't think this is intentional. It might trip up some
tools working with PDB files, as it did Live++.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to