Skip to content
  1. Jan 17, 2019
    • James Henderson's avatar
      [llvm-readobj][ELF]Add demangling support · e50d9cb3
      James Henderson authored
      This change adds demangling support to the ELF side of llvm-readobj,
      under the switch --demangle/-C.
      
      The following places are demangled: symbol table dumps (static and
      dynamic), relocation dumps (static and dynamic), addrsig dumps, call
      graph profile dumps, and group section signature symbols.
      
      Although GNU readelf doesn't support demangling, it is still a useful
      feature to have, and brings it on a par with llvm-objdump's
      capabilities.
      
      This fixes https://bugs.llvm.org/show_bug.cgi?id=40054.
      
      Reviewed by: grimar, rupprecht
      
      Differential Revision: https://reviews.llvm.org/D56791
      
      llvm-svn: 351450
      e50d9cb3
  2. Jan 15, 2019
    • Jordan Rupprecht's avatar
      [llvm-readelf] Allow single-letter flags to be merged. · 58aac950
      Jordan Rupprecht authored
      Summary:
      This patch adds support for merged arguments (e.g. -SW == -S -W) for llvm-readelf.
      
      No changes are intended for llvm-readobj. There are a few short flags (-sd, -sr, -st, -dt) that would conflict with grouped single letter flags, and having only some grouped flags might be confusing. So, allow merged flags for readelf compatibility, but force separate args for llvm-readobj. From what I can tell, these two-letter flags are only used with llvm-readobj, not llvm-readelf.
      
      This fixes PR40064.
      
      Reviewers: jhenderson, kristina, echristo, phosek
      
      Reviewed By: jhenderson
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D56629
      
      llvm-svn: 351205
      58aac950
  3. Dec 20, 2018
  4. Dec 11, 2018
  5. 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
  6. Sep 15, 2018
  7. Aug 23, 2018
  8. Jul 25, 2018
  9. Jul 18, 2018
  10. Jul 11, 2018
  11. Jun 28, 2018
  12. Jun 15, 2018
  13. Jun 02, 2018
    • Michael J. Spencer's avatar
      [MC] Add assembler support for .cg_profile. · ae6eeaea
      Michael J. Spencer authored
      Object FIle Representation
      At codegen time this is emitted into the ELF file a pair of symbol indices and a weight. In assembly it looks like:
      
      .cg_profile a, b, 32
      .cg_profile freq, a, 11
      .cg_profile freq, b, 20
      
      When writing an ELF file these are put into a SHT_LLVM_CALL_GRAPH_PROFILE (0x6fff4c02) section as (uint32_t, uint32_t, uint64_t) tuples as (from symbol index, to symbol index, weight).
      
      Differential Revision: https://reviews.llvm.org/D44965
      
      llvm-svn: 333823
      ae6eeaea
  14. May 01, 2018
    • Adrian Prantl's avatar
      Remove @brief commands from doxygen comments, too. · 4dfcc4a7
      Adrian Prantl authored
      This is a follow-up to r331272.
      
      We've been running doxygen with the autobrief option for a couple of
      years now. This makes the \brief markers into our comments
      redundant. Since they are a visual distraction and we don't want to
      encourage more \brief markers in new code either, this patch removes
      them all.
      
      Patch produced by
        for i in $(git grep -l '\@brief'); do perl -pi -e 's/\@brief //g' $i & done
      
      https://reviews.llvm.org/D46290
      
      llvm-svn: 331275
      4dfcc4a7
  15. Apr 13, 2018
  16. Jan 30, 2018
    • Saleem Abdulrasool's avatar
      CodeGen: support an extension to pass linker options on ELF · b36fbbc3
      Saleem Abdulrasool authored
      Introduce an extension to support passing linker options to the linker.
      These would be ignored by older linkers, but newer linkers which support
      this feature would be able to process the linker.
      
      Emit a special discarded section `.linker-option`.  The content of this
      section is a pair of strings (key, value).  The key is a type identifier for
      the parameter.  This allows for an argument free parameter that will be
      processed by the linker with the value being the parameter.  As an example,
      `lib` identifies a library to be linked against, traditionally the `-l`
      argument for Unix-based linkers with the parameter being the library name.
      
      Thanks to James Henderson, Cary Coutant, Rafael Espinolda, Sean Silva
      for the valuable discussion on the design of this feature.
      
      llvm-svn: 323783
      b36fbbc3
  17. Jan 10, 2018
  18. Dec 13, 2017
  19. Nov 30, 2017
  20. Nov 03, 2017
  21. Oct 14, 2017
  22. Sep 20, 2017
  23. Jul 19, 2017
  24. Jun 22, 2017
  25. May 10, 2017
    • Sam Clegg's avatar
      [llvm-readobj] Improve errors on invalid binary · c0d76649
      Sam Clegg authored
      The previous code was discarding the error message from
      createBinary() by calling errorToErrorCode().
      This meant that such error were always reported unhelpfully
      as "Invalid data was encountered while parsing the file".
      
      Other tools such as llvm-objdump already produce a more
      the error message in this case.
      
      Differential Revision: https://reviews.llvm.org/D32985
      
      llvm-svn: 302664
      c0d76649
  26. Apr 27, 2017
  27. Mar 24, 2017
  28. Mar 22, 2017
    • Konstantin Zhuravlyov's avatar
      [AMDGPU] Restructure code object metadata creation · 7498cd61
      Konstantin Zhuravlyov authored
        - Rename runtime metadata -> code object metadata
        - Make metadata not flow
        - Switch enums to use ScalarEnumerationTraits
        - Cleanup and move AMDGPUCodeObjectMetadata.h to AMDGPU/MCTargetDesc
        - Introduce in-memory representation for attributes
        - Code object metadata streamer
        - Create metadata for isa and printf during EmitStartOfAsmFile
        - Create metadata for kernel during EmitFunctionBodyStart
        - Finalize and emit metadata to .note during EmitEndOfAsmFile
        - Other minor improvements/bug fixes
      
      Differential Revision: https://reviews.llvm.org/D29948
      
      llvm-svn: 298552
      7498cd61
  29. Jan 31, 2017
  30. Dec 24, 2016
  31. Dec 14, 2016
  32. Nov 11, 2016
  33. Nov 08, 2016
  34. Oct 08, 2016
  35. Sep 09, 2016
  36. Aug 30, 2016
    • Saleem Abdulrasool's avatar
      llvm-readobj: add support for printing GNU Notes · 6a405448
      Saleem Abdulrasool authored
      Add support for printing the GNU Notes.  This allows an easy way to view the
      build id for a binary built with the build id.  Currently, this only handles the
      GNU notes, though it would be easy to extend for other note types (default,
      FreeBSD, NetBSD, etc).  Only the GNU style is supported currently.
      
      llvm-svn: 280131
      6a405448
Loading