Skip to content
  1. Jun 17, 2020
  2. Jun 16, 2020
  3. Jun 15, 2020
    • Wouter van Oortmerssen's avatar
      [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs · 3b29376e
      Wouter van Oortmerssen authored
      This adds 4 new reloc types.
      
      A lot of code that previously assumed any memory or offset values could be contained in a uint32_t (and often truncated results from functions returning 64-bit values) have been upgraded to uint64_t. This is not comprehensive: it is only the values that come in contact with the new relocation values and their dependents.
      
      A new tablegen mapping was added to automatically upgrade loads/stores in the assembler, which otherwise has no way to select for these instructions (since they are indentical other than for the offset immediate). It follows a similar technique to https://reviews.llvm.org/D53307
      
      Differential Revision: https://reviews.llvm.org/D81704
      3b29376e
  4. Jun 13, 2020
  5. Jun 12, 2020
    • Ronak Chauhan's avatar
      [MC] Changes to help improve target specific symbol disassembly · 480a16d5
      Ronak Chauhan authored
      Summary:
      This commit slightly modifies the MCDisassembler, and llvm-objdump to
      allow targets to also decode entire symbols.
      
      WebAssembly uses the onSymbolStart hook it to decode preludes.
      WebAssembly partially disassembles the symbol in its target specific
      way; and then falls back to the normal flow of llvm-objdump.
      
      AMDGPU needs it to decode kernel descriptors entirely, and move to the
      next symbol.
      
      This commit is to split the above task into 2.
      - Changes to llvm-objdump and MC-layer without breaking WebAssembly code
        [ this commit ]
      - AMDGPU's implementation of onSymbolStart that decodes kernel
        descriptors. [ https://reviews.llvm.org/D80713 ]
      
      Reviewers: scott.linder, t-tye, sunfish, arsenm, jhenderson, MaskRay, aardappel
      
      Reviewed By: scott.linder, jhenderson, aardappel
      
      Subscribers: bcain, dschuff, wdng, tpr, sbc100, jgravelle-google, hiraditya, aheejin, MaskRay, rupprecht, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D80512
      480a16d5
    • Alexander Shaposhnikov's avatar
      [llvm-objcopy][MachO] Fix cmdsize of LC_RPATH · c966ed8d
      Alexander Shaposhnikov authored
      Fix the calculation of the field cmdsize (in the function buildRPathLoadCommand)
      to account for the null byte terminator.
      
      Patch by Sameer Arora!
      
      Test plan: make check-all
      
      Differential revision: https://reviews.llvm.org/D81575
      c966ed8d
    • Cyndy Ishida's avatar
      [llvm][llvm-nm] add TextAPI/MachO support · 28fefcc8
      Cyndy Ishida authored
      Summary:
      This completes the needed glueing to support reading tbd files from nm.
      This includes specifying which slice filtering with `--arch` and a new
      option specifically for tbd files `--add-inlinedinfo` which will show
      the reexported libraries that are appended in the tbd file.
      
      Reviewers: ributzka, steven_wu, JDevlieghere, jhenderson
      
      Reviewed By: JDevlieghere
      
      Subscribers: hiraditya, MaskRay, dexonsmith, rupprecht, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D81614
      28fefcc8
    • Fangrui Song's avatar
      [Support] Don't tie errs() to outs() by default · 03089752
      Fangrui Song authored
      This reverts part of D81156.
      
      Accessing errs() concurrently was safe before and racy after D81156.
      (`errs() << 'a'` is always racy)
      
      Accessing outs() and errs() concurrently was safe before and racy after D81156.
      
      Don't tie errs() to outs() by default to fix the fallout.
      llvm-dwarfdump is single-threaded and opting in the tie behavior is safe.
      03089752
  6. Jun 11, 2020
    • Reid Kleckner's avatar
      Re-land "Migrate the rest of COFFObjectFile to Error" · 1c03389c
      Reid Kleckner authored
      This reverts commit 101fbc01.
      
      Remove leftover debugging attribute.
      
      Update LLDB as well, which was missed before.
      1c03389c
    • Fangrui Song's avatar
      [llvm-objdump] Decrease instruction indentation for non-x86 · 5ee57173
      Fangrui Song authored
      Place the instruction at the 24th column (0-based indexing), matching
      GNU objdump ARM/AArch64/powerpc/etc when the address is low.
      
      This is beneficial for non-x86 targets which have short instruction
      lengths.
      
      ```
      // GNU objdump AArch64
         0:   91001062        add     x2, x3, #0x4
        400078:       91001062        add     x2, x3, #0x4
      // llvm-objdump, with this patch
             0: 62 10 00 91   add     x2, x3, #4
        400078: 62 10 00 91   add     x2, x3, #4
      // llvm-objdump, if we change to print a word instead of bytes in the future
             0: 91001062      add     x2, x3, #4
        400078: 91001062      add     x2, x3, #4
      
      // GNU objdump Thumb
         0:   bf00            nop
      
      // GNU objdump Power ISA 3.1 64-bit instruction
      // 0:   00 00 10 04     plwa    r3,0
      // 4:   00 00 60 a4
      ```
      
      Reviewed By: jhenderson
      
      Differential Revision: https://reviews.llvm.org/D81590
      5ee57173
  7. Jun 10, 2020
    • Georgii Rymar's avatar
      [yaml2obj] - Introduce a 10 Mb limit of the output by default and a --max-size option. · 3c123acf
      Georgii Rymar authored
      Multiple times we faced an issue of huge outputs due to unexpected behavior
      or incorrect test cases. The last one was https://reviews.llvm.org/D80629#2073066.
      
      This patch limits the output to 10 Mb for ELF and introduces the --max-size to change this
      limit.
      
      I've tried to keep the implementation non-intrusive.
      
      The current logic we have is that we prepare section content in a buffer first and write
      it to the output later. This patch checks the available limit on each writing attempt to this buffer
      and stops writing when the limit is reached and raises the internal error flag.
      Later, this flag is is checked before the actual writing to a file happens and
      an error is reported.
      
      Differential revision: https://reviews.llvm.org/D81258
      3c123acf
  8. Jun 08, 2020
  9. Jun 07, 2020
  10. Jun 06, 2020
  11. Jun 05, 2020
  12. Jun 04, 2020
    • Georgii Rymar's avatar
      [llvm-readelf] - Do not try to read past the end of the file when dumping the the SHT_GNU_HASH. · 2ad0ef6e
      Georgii Rymar authored
      We have unobvious issue in the condition that is used to check
      that we do not read past the EOF.
      
      The problem is that the result of "GnuHashTable->nbuckets * 4" expression is uint32.
      Because of that it was still possible to overflow it and pass the check.
      
      There was no such problem with the "GnuHashTable->maskwords * sizeof(typename ELFT::Off)"
      condition, because of `sizeof` on the right (which gives 64-bits value on x64),
      but I've added an explicit conversion to 64-bit value for `GnuHashTable->maskwords` too.
      
      Differential revision: https://reviews.llvm.org/D81103
      2ad0ef6e
  13. Jun 02, 2020
  14. Jun 01, 2020
Loading