Skip to content
  1. Feb 07, 2019
  2. Feb 05, 2019
  3. Nov 12, 2018
    • Jordan Rupprecht's avatar
      [llvm-readelf] Make llvm-readelf more compatible with GNU readelf. · dbf552c4
      Jordan Rupprecht authored
      Summary:
      This change adds a bunch of options that GNU readelf supports. There is one breaking change when invoked as `llvm-readobj`, and three breaking changes when invoked as `llvm-readelf`:
       - Add --all (implies --file-header, --program-headers, etc.)
       - [Breaking] -a is --all instead of --arm-attributes
       - Add --file-header as an alias for --file-headers
       - Replace --sections with --sections-headers, keeping --sections as an alias for it
       - Add --relocs as an alias for --relocations
       - Add --dynamic as an alias for --dynamic-table
       - Add --segments as an alias for --program-headers
       - Add --section-groups as an alias for --elf-section-groups
       - Add --dyn-syms as an alias for --dyn-symbols
       - Add --syms as an alias for --symbols
       - Add --histogram as an alias for --elf-hash-histogram
       - [Breaking] When invoked as `llvm-readelf`, -s is --symbols instead of --sections
       - [Breaking] When invoked as `llvm-readelf`, -t is no longer an alias for --symbols
      
      Reviewers: MaskRay, phosek, mcgrathr, jhenderson
      
      Reviewed By: MaskRay, jhenderson
      
      Subscribers: sbc100, aheejin, edd, jhenderson, silvas, echristo, compnerd, kristina, javed.absar, kristof.beyls, llvm-commits, Bigcheese
      
      Differential Revision: https://reviews.llvm.org/D54124
      
      llvm-svn: 346685
      dbf552c4
  4. Nov 07, 2018
  5. Mar 01, 2018
  6. Feb 23, 2018
  7. Jan 17, 2018
    • Sam Clegg's avatar
      [WebAssembly] Remove debug names from symbol table · 9f3fe42e
      Sam Clegg authored
      Get rid of DEBUG_FUNCTION_NAME symbols. When we actually debug
      data, maybe we'll want somewhere to put it... but having a symbol
      that just stores the name of another symbol seems odd.
      It means you have multiple Symbols with the same name, one
      containing the actual function and another containing the name!
      
      Store the names in a vector on the WasmObjectFile when reading
      them in. Also stash them on the WasmFunctions themselves.
      The names are //not// "symbol names" or aliases or anything,
      they're just the name that a debugger should show against the
      function body itself. NB. The WasmObjectFile stores them so that
      they can be exported in the YAML losslessly, and hence the tests
      can be precise.
      
      Enforce that the CODE section has been read in before reading
      the "names" section. Requires minor adjustment to some tests.
      
      Patch by Nicholas Wilson!
      
      Differential Revision: https://reviews.llvm.org/D42075
      
      llvm-svn: 322741
      9f3fe42e
  8. Sep 07, 2017
  9. Jul 10, 2017
  10. Jun 26, 2017
  11. Apr 14, 2017
  12. Sep 20, 2014
  13. Sep 10, 2014
    • David Majnemer's avatar
      Object: Add support for bigobj · 44f51e51
      David Majnemer authored
      This adds support for reading the "bigobj" variant of COFF produced by
      cl's /bigobj and mingw's -mbig-obj.
      
      The most significant difference that bigobj brings is more than 2**16
      sections to COFF.
      
      bigobj brings a few interesting differences with it:
      - It doesn't have a Characteristics field in the file header.
      - It doesn't have a SizeOfOptionalHeader field in the file header (it's
        only used in executable files).
      - Auxiliary symbol records have the same width as a symbol table entry.
        Since symbol table entries are bigger, so are auxiliary symbol
        records.
      
      Write support will come soon.
      
      Differential Revision: http://reviews.llvm.org/D5259
      
      llvm-svn: 217496
      44f51e51
  14. Mar 24, 2014
  15. Mar 19, 2014
  16. Jun 05, 2013
    • Rafael Espindola's avatar
      Don't hide the first ELF symbol. · 7c346c2c
      Rafael Espindola authored
      The first symbol on ELF is dummy, but it has a defined content and readelf
      normally displays it. With this change llvm-readobj also displays it and we
      can check that llvm-mc output is correct according to the standard.
      
      llvm-svn: 183337
      7c346c2c
  17. Apr 03, 2013
    • Eric Christopher's avatar
      Implements low-level object file format specific output for COFF and · 9cad53cf
      Eric Christopher authored
      ELF with support for:
      
      - File headers
      - Section headers + data
      - Relocations
      - Symbols
      - Unwind data (only COFF/Win64)
      
      The output format follows a few rules:
      - Values are almost always output one per line (as elf-dump/coff-dump already do). - Many values are translated to something readable (like enum names), with the raw value in parentheses.
      - Hex numbers are output in uppercase, prefixed with "0x".
      - Flags are sorted alphabetically.
      - Lists and groups are always delimited.
      
      Example output:
      ---------- snip ----------
      Sections [
        Section {
          Index: 1
          Name: .text (5)
          Type: SHT_PROGBITS (0x1)
          Flags [ (0x6)
            SHF_ALLOC (0x2)
            SHF_EXECINSTR (0x4)
          ]
          Address: 0x0
          Offset: 0x40
          Size: 33
          Link: 0
          Info: 0
          AddressAlignment: 16
          EntrySize: 0
          Relocations [
            0x6 R_386_32 .rodata.str1.1 0x0
            0xB R_386_PC32 puts 0x0
            0x12 R_386_32 .rodata.str1.1 0x0
            0x17 R_386_PC32 puts 0x0
          ]
          SectionData (
            0000: 83EC04C7 04240000 0000E8FC FFFFFFC7  |.....$..........|
            0010: 04240600 0000E8FC FFFFFF31 C083C404  |.$.........1....|
            0020: C3                                   |.|
          )
        }
      ]
      ---------- snip ----------
      
      Relocations and symbols can be output standalone or together with the section header as displayed in the example.
      This feature set supports all tests in test/MC/COFF and test/MC/ELF (and I suspect all additional tests using elf-dump), making elf-dump and coff-dump deprecated.
      
      Patch by Nico Rieck!
      
      llvm-svn: 178679
      9cad53cf
Loading