Skip to content
  1. Jun 18, 2013
    • Sean Silva's avatar
      [yaml2obj][ELF] Factor out string table section creation. · 85d3eeb6
      Sean Silva authored
      llvm-svn: 184162
      85d3eeb6
    • Sean Silva's avatar
      [yaml2obj][ELF] Refer specifically to the section header string table. · fde4ab0f
      Sean Silva authored
      A bug in libObject will cause it to assert() if a symbol table's string
      table and the section header string table are the same section, so we
      need to ensure that we emit two different string tables (among other
      things). The problematic code is the hardcoded usage of ".strtab"
      (`dot_strtab_sec`) for looking up symbol names in
      ELFObjectFile<ELFT>::getSymbolName.
      
      I discussed this with Michael, and he has some local improvements to the
      ELF code in libObject that, among other things, should fix our handling
      of this scenario.
      
      llvm-svn: 184161
      fde4ab0f
    • Sean Silva's avatar
      [yaml2obj][ELF] Ensure more fields are zero'd. · f62a6005
      Sean Silva authored
      I was spotting garbage in the output. I'd like to just zero the entire
      ELFYAML::Section to be sure, but it contains non-POD types. (I'm also
      trying to avoid bloating the ELFYAML::Foo classes with a bunch of
      constructor code).
      
      No test, since this is by its very nature unpredictable. I'm pretty sure
      that one of the sanitizers would catch it immediately though.
      
      llvm-svn: 184160
      f62a6005
    • Rafael Espindola's avatar
      Fix the build with gcc 4.7 and -std=c++11. · d9a5608d
      Rafael Espindola authored
      The error message was:
      
      /home/espindola/llvm/llvm/tools/gold/gold-plugin.cpp: In function ‘ld_plugin_status cleanup_hook()’:
      /home/espindola/llvm/llvm/tools/gold/gold-plugin.cpp:461:30: error: cannot pass objects of non-trivially-copyable type ‘std::string {aka class std::basic_string<char>}’ through ‘...’
      
      I will check if this was a clang or gcc issue.
      
      llvm-svn: 184138
      d9a5608d
  2. Jun 17, 2013
  3. Jun 15, 2013
    • Sean Silva's avatar
      [yaml2obj] Move some classes into anonymous namespaces. · 2a74f708
      Sean Silva authored
      llvm-svn: 184025
      2a74f708
    • Sean Silva's avatar
      [yaml2obj] Add support for sh_link via `Link` key. · a6423eb8
      Sean Silva authored
      llvm-svn: 184022
      a6423eb8
    • Rafael Espindola's avatar
      Remove the LLVM specific archive index. · 668c6428
      Rafael Espindola authored
      Archive files (.a) can have a symbol table indicating which object
      files in them define which symbols. The purpose of this symbol table
      is to speed up linking by allowing the linker the read only the .o
      files it is actually going to use instead of having to parse every
      object's symbol table.
      
      LLVM's archive library currently supports a LLVM specific format for
      such table. It is hard to see any value in that now that llvm-ld is
      gone:
      
      * System linkers don't use it: GNU ar uses the same plugin as the
      linker to create archive files with a regular index. The OS X ar
      creates no symbol table for IL files, I assume the linker just parses
      all IL files.
      
      * It doesn't interact well with archives having both IL and native objects.
      
      * We probably don't want to be responsible for yet another archive
      format variant.
      
      This patch then:
      
      * Removes support for creating and reading such index from lib/Archive.
      * Remove llvm-ranlib, since there is nothing left for it to do.
      
      We should in the future add support for regular indexes to llvm-ar for
      both native and IL objects. When we do that, llvm-ranlib should be
      reimplemented as a symlink to llvm-ar, as it is equivalent to "ar s".
      
      llvm-svn: 184019
      668c6428
  4. Jun 14, 2013
  5. Jun 13, 2013
  6. Jun 12, 2013
  7. Jun 11, 2013
  8. Jun 10, 2013
Loading