Skip to content
  1. Nov 29, 2014
  2. Nov 27, 2014
  3. Nov 26, 2014
  4. Nov 25, 2014
  5. Nov 24, 2014
  6. Nov 19, 2014
  7. Nov 18, 2014
  8. Nov 17, 2014
    • David Majnemer's avatar
      Object, COFF: Tighten the object file parser · 236b0ca7
      David Majnemer authored
      We were a little lax in a few areas:
      - We pretended that import libraries were like any old COFF file, they
        are not.  In fact, they aren't really COFF files at all, we should
        probably grow some specialized functionality to handle them smarter.
      - Our symbol iterators were more than happy to attempt to go past the
        end of the symbol table if you had a symbol with a bad list of
        auxiliary symbols.
      
      llvm-svn: 222124
      236b0ca7
    • Frederic Riss's avatar
      Implement MachODumper::printFileHeaders · d431932d
      Frederic Riss authored
      Patch by Chilledheart.
      
      Differential Revision: http://reviews.llvm.org/D6163
      
      llvm-svn: 222115
      d431932d
  9. Nov 15, 2014
  10. Nov 14, 2014
    • Kevin Enderby's avatar
      Add the code and test cases for 64-bit ARM to llvm-objdump’s Mach-O symbolizer. · ae3c1261
      Kevin Enderby authored
      FYI, removed the unused MCInstrAnalysis as it does not exist for 64-bit ARM and
      was causing a “couldn't initialize disassembler for target” error.
      
      llvm-svn: 222045
      ae3c1261
    • David Majnemer's avatar
      yaml2obj, COFF: Correctly calculate SizeOfImage and SizeOfHeaders · 966064c9
      David Majnemer authored
      SizeOfHeaders must be aligned to the FileAlignment.
      SizeOfImage must be at least the SizeOfHeaders aligned to the
      SectionAlignment.
      
      llvm-svn: 222030
      966064c9
    • Frederic Riss's avatar
      Reapply "[dwarfdump] Add support for dumping accelerator tables." · e837ec29
      Frederic Riss authored
      This reverts commit r221842 which was a revert of r221836 and of the
      test parts of r221837.
      
      This new version fixes an UB bug pointed out by David (along with
      addressing some other review comments), makes some dumping more
      resilient to broken input data and forces the accelerator tables
      to be dumped in the tests where we use them (this decision is
      platform specific otherwise).
      
      llvm-svn: 222003
      e837ec29
    • David Majnemer's avatar
      obj2yaml, yaml2obj: Add support for COFF executables · f69b0585
      David Majnemer authored
      In support of serializing executables, obj2yaml now records the virtual address
      and size of sections.  It also serializes whatever we strictly need from
      the PE header, it expects that it can reconstitute everything else via
      inference.
      
      yaml2obj can reconstitute a fully linked executable.
      
      In order to get executables correctly serialized/deserialized, other
      bugs were fixed as a circumstance.  We now properly respect file and
      section alignments.  We also avoid writing out string tables unless they
      are strictly necessary.
      
      llvm-svn: 221975
      f69b0585
    • Justin Bogner's avatar
      llvm-cov: Sink some reporting logic into CoverageMapping · d5fca924
      Justin Bogner authored
      This teaches CoverageMapping::getCoveredFunctions to filter to a
      particular file and uses that to replace most of the logic found in
      llvm-cov report.
      
      llvm-svn: 221962
      d5fca924
  11. Nov 13, 2014
  12. Nov 12, 2014
    • Timur Iskhodzhanov's avatar
      [COFF] Make it clearer that the symbols subsection holds function display name... · a11b32b7
      Timur Iskhodzhanov authored
      [COFF] Make it clearer that the symbols subsection holds function display name rather than just name
      
      llvm-svn: 221812
      a11b32b7
    • Aaron Ballman's avatar
      Fixing more -Wcast-qual warnings; NFC. · 106fd7be
      Aaron Ballman authored
      llvm-svn: 221782
      106fd7be
    • Rafael Espindola's avatar
      Remove the now unused StringRefMemoryObject.h. · cac0088e
      Rafael Espindola authored
      llvm-svn: 221755
      cac0088e
    • Rafael Espindola's avatar
      Pass an ArrayRef to MCDisassembler::getInstruction. · 7fc5b874
      Rafael Espindola authored
      With this patch MCDisassembler::getInstruction takes an ArrayRef<uint8_t>
      instead of a MemoryObject.
      
      Even on X86 there is a maximum size an instruction can have. Given
      that, it seems way simpler and more efficient to just pass an ArrayRef
      to the disassembler instead of a MemoryObject and have it do a virtual
      call every time it wants some extra bytes.
      
      llvm-svn: 221751
      7fc5b874
    • Duncan P. N. Exon Smith's avatar
      libLTO: Allow linker to choose context of modules and codegen · c5800f68
      Duncan P. N. Exon Smith authored
      Add API for specifying which `LLVMContext` each `lto_module_t` and
      `lto_code_gen_t` is in.
      
      In particular, this enables the following flow:
      
          for (auto &File : Files) {
            lto_module_t M = lto_module_create_in_local_context(File...);
            querySymbols(M);
            lto_module_dispose(M);
          }
      
          lto_code_gen_t CG = lto_codegen_create_in_local_context();
          for (auto &File : FilesToLink) {
            lto_module_t M = lto_module_create_in_codegen_context(File..., CG);
            lto_codegen_add_module(CG, M);
            lto_module_dispose(M);
          }
          lto_codegen_compile(CG);
          lto_codegen_write_merged_modules(CG, ...);
          lto_codegen_dispose(CG);
      
      This flow has a few benefits.
      
        - Only one module (two if you count the combined module in the code
          generator) is in memory at a time.
      
        - Metadata (and constants) from files that are parsed to query symbols
          but not linked into the code generator don't pollute the global
          context.
      
        - The first for loop can be parallelized, since each module is in its
          own context.
      
        - When the code generator is disposed, the memory from LTO gets freed.
      
      rdar://problem/18767512
      
      llvm-svn: 221733
      c5800f68
  13. Nov 11, 2014
    • Duncan P. N. Exon Smith's avatar
      Revert "IR: MDNode => Value" · de36e804
      Duncan P. N. Exon Smith authored
      Instead, we're going to separate metadata from the Value hierarchy.  See
      PR21532.
      
      This reverts commit r221375.
      This reverts commit r221373.
      This reverts commit r221359.
      This reverts commit r221167.
      This reverts commit r221027.
      This reverts commit r221024.
      This reverts commit r221023.
      This reverts commit r220995.
      This reverts commit r220994.
      
      llvm-svn: 221711
      de36e804
    • Colin LeMahieu's avatar
      [llvm-mc] Fixing case where if a file ended with non-newline whitespace or a... · eb4675fb
      Colin LeMahieu authored
      [llvm-mc] Fixing case where if a file ended with non-newline whitespace or a comma it would access invalid memory.
      Cleaned up parse loop.
      
      llvm-svn: 221707
      eb4675fb
Loading