[all-commits] [llvm/llvm-project] eaadb4: [LLD][COFF] When using PCH.OBJ, ensure func_id rec...

Alexandre Ganea via All-commits all-commits at lists.llvm.org
Thu Jan 7 14:27:36 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: eaadb41db6233cf1c9e882d74a31c1f9d6e211ff
      https://github.com/llvm/llvm-project/commit/eaadb41db6233cf1c9e882d74a31c1f9d6e211ff
  Author: Alexandre Ganea <alexandre.ganea at ubisoft.com>
  Date:   2021-01-07 (Thu, 07 Jan 2021)

  Changed paths:
    M lld/COFF/DebugTypes.cpp
    A lld/test/COFF/Inputs/precomp-ghash-obj1.obj
    A lld/test/COFF/Inputs/precomp-ghash-obj2.obj
    A lld/test/COFF/Inputs/precomp-ghash-precomp.obj
    A lld/test/COFF/precomp-ghash.test

  Log Message:
  -----------
  [LLD][COFF] When using PCH.OBJ, ensure func_id records indices are remapped under /DEBUG:GHASH

Before this patch, when using LLD with /DEBUG:GHASH and MSVC precomp.OBJ files, we had a bunch of:

lld-link: warning: S_[GL]PROC32ID record in blabla.obj refers to PDB item index 0x206ED1 which is not a LF[M]FUNC_ID record

This was caused by LF_FUNC_ID and LF_MFUNC_ID which didn't have correct mapping to the corresponding TPI records. The root issue was that the indexMapStorage was improperly re-assembled in UsePrecompSource::remapTpiWithGHashes.

After this patch, /DEBUG and /DEBUG:GHASH produce exactly the same debug infos in the PDB.

Differential Revision: https://reviews.llvm.org/D93732




More information about the All-commits mailing list