Skip to content
  1. Dec 20, 2018
  2. Dec 11, 2018
  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. Sep 15, 2018
  5. Aug 23, 2018
  6. Jul 25, 2018
  7. Jul 18, 2018
  8. Jul 11, 2018
  9. Jun 28, 2018
  10. Jun 15, 2018
  11. 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
  12. 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
  13. Apr 13, 2018
  14. 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
  15. Jan 10, 2018
  16. Dec 13, 2017
  17. Nov 30, 2017
  18. Nov 03, 2017
  19. Oct 14, 2017
  20. Sep 20, 2017
  21. Jul 19, 2017
  22. Jun 22, 2017
  23. 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
  24. Apr 27, 2017
  25. Mar 24, 2017
  26. 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
  27. Jan 31, 2017
  28. Dec 24, 2016
  29. Dec 14, 2016
  30. Nov 11, 2016
  31. Nov 08, 2016
  32. Oct 08, 2016
  33. Sep 09, 2016
  34. 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
  35. Aug 18, 2016
  36. Aug 05, 2016
    • Zachary Turner's avatar
      [CodeView] Decouple record deserialization from visitor dispatch. · 5e3e4bb2
      Zachary Turner authored
      Until now, our use case for the visitor has been to take a stream of bytes
      representing a type stream, deserialize the records in sequence, and do
      something with them, where "something" is determined by how the user
      implements a particular set of callbacks on an abstract class.
      
      For actually writing PDBs, however, we want to do the reverse. We have
      some kind of description of the list of records in their in-memory format,
      and we want to process each one. Perhaps by serializing them to a byte
      stream, or perhaps by converting them from one description format (Yaml)
      to another (in-memory representation).
      
      This was difficult in the current model because deserialization and
      invoking the callbacks were tightly coupled.
      
      With this patch we change this so that TypeDeserializer is itself an
      implementation of the particular set of callbacks. This decouples
      deserialization from the iteration over a list of records and invocation
      of the callbacks.  TypeDeserializer is initialized with another
      implementation of the callback interface, so that upon deserialization it
      can pass the deserialized record through to the next set of callbacks. In
      a sense this is like an implementation of the Decorator design pattern,
      where the Deserializer is a decorator.
      
      This will be useful for writing Pdbs from yaml, where we have a
      description of the type records in Yaml format. In this case, the visitor
      implementation would have each visitation callback method implemented in
      such a way as to extract the proper set of fields from the Yaml, and it
      could maintain state that builds up a list of these records. Finally at
      the end we can pass this information through to another set of callbacks
      which serializes them into a byte stream.
      
      Reviewed By: majnemer, ruiu, rnk
      Differential Revision: https://reviews.llvm.org/D23177
      
      llvm-svn: 277871
      5e3e4bb2
Loading