1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/tools
Zachary Turner ae9d9f3bb3 [PDB] Fix linking of function symbols and local variables.
The compiler outputs PROC32_ID symbols into the object files
for functions, and these symbols have an embedded type index
which, when copied to the PDB, refer to the IPI stream.  However,
the symbols themselves are also converted into regular symbols
(e.g. S_GPROC32_ID -> S_GPROC32), and type indices in the regular
symbol records refer to the TPI stream.  So this patch applies
two fixes to function records.
  1. It converts ID symbols to the proper non-ID record type.
  2. After remapping the type index from the object file's index
     space to the PDB file/IPI stream's index space, it then
     remaps that index to the TPI stream's index space by.

Besides functions, during the remapping process we were also
discarding symbol record types which we did not recognize.
In particular, we were discarding S_BPREL32 records, which is
what MSVC uses to describe local variables on the stack.  So
this patch fixes that as well by copying them to the PDB.

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

llvm-svn: 310394
2017-08-08 18:34:44 +00:00
..
bugpoint
bugpoint-passes
dsymutil dsymutil: support dwarf version mismatches between object and clang module 2017-08-08 18:26:12 +00:00
gold gold/CMakeLists.txt: Prune (-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64). 2017-07-31 00:39:22 +00:00
llc Delete Default and JITDefault code models 2017-08-03 02:16:21 +00:00
lli Delete Default and JITDefault code models 2017-08-03 02:16:21 +00:00
llvm-ar llvm: add llvm-dlltool support to the archiver 2017-07-18 21:26:38 +00:00
llvm-as
llvm-as-fuzzer
llvm-bcanalyzer Bitcode: Include any strings added to the string table in the module hash. 2017-07-06 17:56:01 +00:00
llvm-c-test fix typos in comments and error messges; NFC 2017-07-13 06:48:39 +00:00
llvm-cat
llvm-config [GlobalISel] Make GlobalISel a non-optional library. 2017-08-03 21:52:25 +00:00
llvm-cov [llvm-cov] Ignore unclosed line segments when setting line counts 2017-08-04 00:36:24 +00:00
llvm-cvtres Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
llvm-cxxdump
llvm-cxxfilt
llvm-diff
llvm-dis
llvm-dwarfdump Remove some leftover DWARFContextInMemory. 2017-07-19 23:34:59 +00:00
llvm-dwp Don't pass the code model to MC 2017-08-02 20:32:26 +00:00
llvm-extract
llvm-go
llvm-jitlistener
llvm-link
llvm-lto
llvm-lto2 Delete Default and JITDefault code models 2017-08-03 02:16:21 +00:00
llvm-mc Don't pass the code model to MC 2017-08-02 20:32:26 +00:00
llvm-mc-assemble-fuzzer
llvm-mc-disassemble-fuzzer
llvm-mcmarkup
llvm-modextract
llvm-mt Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00
llvm-nm [llvm] Update MachOObjectFile::exports interface 2017-07-29 00:30:45 +00:00
llvm-objcopy [llvm][llvm-objcopy] When outputting to binary don't output segments that cover no sections 2017-08-04 23:18:18 +00:00
llvm-objdump [llvm-objdump] Use PRIx64 for output of ARM64_RELOC_ADDEND 2017-08-07 12:29:38 +00:00
llvm-opt-report
llvm-pdbutil [PDB] Fix linking of function symbols and local variables. 2017-08-08 18:34:44 +00:00
llvm-profdata [ProfileData] Add new option to dump topn hottest functions 2017-07-11 20:30:43 +00:00
llvm-rc llvm-rc: Fixup for r308940. This should use LLVMSupport. 2017-07-25 00:51:40 +00:00
llvm-readobj Follow up for r307085: a better fix for a dangling StringRef. 2017-07-26 10:14:55 +00:00
llvm-rtdyld Use delegation instead of inheritance. 2017-07-19 22:27:28 +00:00
llvm-shlib [Solaris] enable --whole-archive for shared-library build, disable --version-script for Solaris-ld 2017-07-19 16:07:51 +00:00
llvm-size
llvm-split
llvm-stress [IR] Make use of Type::isPtrOrPtrVectorTy/isIntOrIntVectorTy/isFPOrFPVectorTy to shorten code. NFC 2017-07-09 07:04:00 +00:00
llvm-strings
llvm-symbolizer DebugInfo: Provide option for explicitly specifying the name of the DWP file 2017-07-30 01:34:08 +00:00
llvm-xray
lto
msbuild
obj2yaml Use delegation instead of inheritance. 2017-07-19 22:27:28 +00:00
opt [Polly][PM] Register polly passes with the opt tool for the new-pm path 2017-08-04 09:28:09 +00:00
opt-viewer [opt-viewer] Reduce memory consumption by another 20-25% 2017-07-19 22:04:59 +00:00
sancov
sanstats [sanstats] Print the correct line information. 2017-07-13 00:49:03 +00:00
verify-uselistorder
xcode-toolchain
yaml2obj [yaml2obj][ELF] Add support for program headers 2017-07-19 20:38:46 +00:00
CMakeLists.txt
LLVMBuild.txt Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started" 2017-08-01 00:33:58 +00:00