1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/lib
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
..
Analysis [KnownBits][ValueTracking] Move the math for calculating known bits for add/sub into a static method in KnownBits object 2017-08-08 16:29:35 +00:00
AsmParser Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
BinaryFormat Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
Bitcode [ThinLTO] Add FunctionAttrs to ThinLTO index 2017-08-04 16:00:58 +00:00
CodeGen [DAGCombiner] simplifyShuffleMask - handle UNDEF inputs from shuffles as well as BUILD_VECTOR 2017-08-08 16:10:33 +00:00
DebugInfo [PDB] Fix linking of function symbols and local variables. 2017-08-08 18:34:44 +00:00
Demangle
ExecutionEngine Delete Default and JITDefault code models 2017-08-03 02:16:21 +00:00
Fuzzer [libFuzzer] simplify code, NFC 2017-08-08 00:17:20 +00:00
IR Prevent unused warning in non-assert builds (introduced in r310014). 2017-08-04 05:05:29 +00:00
IRReader
LineEditor
Linker [Linker] Add directives to support mixing ARM/Thumb module-level inline asm. 2017-07-12 11:52:28 +00:00
LTO Delete Default and JITDefault code models 2017-08-03 02:16:21 +00:00
MC Don't pass the code model to MC 2017-08-02 20:32:26 +00:00
Object Don't pass the code model to MC 2017-08-02 20:32:26 +00:00
ObjectYAML [yaml2obj][ELF] Add support for program headers 2017-07-19 20:38:46 +00:00
Option [Bash-autocompletion] Show HelpText with possible flags 2017-07-26 13:36:58 +00:00
Passes Move the SampleProfileLoader right after EarlyFPM. 2017-08-07 20:23:20 +00:00
ProfileData Fix the bug when SampleProfileWriter writes out number of callsites. 2017-08-03 00:09:18 +00:00
Support [KnownBits][ValueTracking] Move the math for calculating known bits for add/sub into a static method in KnownBits object 2017-08-08 16:29:35 +00:00
TableGen
Target Revert "[ARM] Fix assembly and disassembly for VMRS/VMSR" 2017-08-08 17:16:46 +00:00
Testing
ToolDrivers [llvm-dlltool] Map the "arm64" machine type 2017-08-06 19:58:13 +00:00
Transforms [LoopVectorize] Fix assertion failure in Fcmp vectorization 2017-08-08 18:07:44 +00:00
WindowsManifest Unlink nodes instead of copying, to avoid memory problems. 2017-07-26 18:33:21 +00:00
XRay Xray docs with description of Flight Data Recorder binary format. 2017-08-02 21:47:27 +00:00
CMakeLists.txt Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00
LLVMBuild.txt Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00