Skip to content
  1. Jun 22, 2013
  2. Jun 21, 2013
    • Sean Silva's avatar
      [yaml2obj][ELF] Allow expressing undefined symbols. · c4afa6d7
      Sean Silva authored
      Previously we unconditionally enforced that section references in
      symbols in the YAML had a name that was a section name present in the
      object, and linked the references to that section. Now, permit empty
      section names (already the default, if the `Section` key is not
      provided) to indicate SHN_UNDEF.
      
      llvm-svn: 184513
      c4afa6d7
    • Sean Silva's avatar
      Unbreak bots. Didn't realize this was a C++11 feature. · 37e817c8
      Sean Silva authored
      llvm-svn: 184508
      37e817c8
    • Sean Silva's avatar
      [yaml2obj][ELF] Don't explicitly set `Binding` with STB_* · aff5125f
      Sean Silva authored
      Instead, just have 3 sub-lists, one for each of
      {STB_LOCAL,STB_GLOBAL,STB_WEAK}.
      
      This allows us to be a lot more explicit w.r.t. the symbol ordering in
      the object file, because if we allowed explicitly setting the STB_*
      `Binding` key for the symbol, then we might have ended up having to
      shuffle STB_LOCAL symbols to the front of the list, which is likely to
      cause confusion and potential for error.
      
      Also, this new approach is simpler ;)
      
      llvm-svn: 184506
      aff5125f
  3. Jun 20, 2013
  4. Jun 19, 2013
  5. Jun 18, 2013
    • Sean Silva's avatar
      [yaml2obj][ELF] Add dummy .strtab section. · c3131926
      Sean Silva authored
      This will be needed later for holding symbol names, due to the libObject
      issue mentioned in the commit message of r184161.
      
      llvm-svn: 184242
      c3131926
    • 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
  6. Jun 17, 2013
  7. Jun 15, 2013
  8. Jun 14, 2013
  9. Jun 11, 2013
Loading