1. 17 Aug, 2021 2 commits
  2. 13 Aug, 2021 2 commits
  3. 12 Aug, 2021 1 commit
  4. 11 Aug, 2021 1 commit
  5. 09 Aug, 2021 4 commits
  6. 04 Aug, 2021 1 commit
  7. 23 Jul, 2021 3 commits
  8. 21 Jul, 2021 2 commits
  9. 19 Jul, 2021 1 commit
  10. 15 Jul, 2021 1 commit
  11. 09 Jul, 2021 1 commit
  12. 06 Jul, 2021 5 commits
  13. 05 Jul, 2021 1 commit
  14. 01 Jul, 2021 2 commits
  15. 28 Jun, 2021 1 commit
  16. 24 Jun, 2021 1 commit
    • Diana Picus's avatar
      [Morello] Fix offsets for capability array elements · 0fb72763
      Diana Picus authored
      When dumping arrays, we compute the offsets of the elements as multiples
      of the element size. For capabilities, this does not work, because the
      size is defined as 17 bytes, to include the tag. The tag however is not
      part of the addresable storage, and should definitely not be included
      when doing address calculations.
      
      This patch provides a very hacky fix which just adjusts the offsets for
      capabilities. This only fixes the problem for arrays. We may or may not
      need similar patches for other constructs. On a cursory reading, structs
      seem to get their offsets directly from clang, so they shouldn't suffer
      from this issue. For transparent pointers to aggregate types, this
      commit should be good enough, but there may be some corner cases that
      are still broken.
      
      A better fix would probably be to use 16 as the size of capabilities,
      and explicitly add 1 to it only when we're about to allocate a buffer
      that also needs to store the tag. I think this would make things
      easier to reason about, but that's a large and risky refactoring that
      I don't think I'll have time to do before the release (I'd need to audit
      all the uses of CompilerType::GetBitSize and CompilerType::GetByteSize).
      Definitely worth revisiting later though, at least in order to add more
      tests, if nothing else.
      0fb72763
  17. 18 Jun, 2021 2 commits
  18. 14 Jun, 2021 2 commits
  19. 10 Jun, 2021 2 commits
    • Diana Picus's avatar
      [Morello] Recognize capability faults in lldb · 75fd4b71
      Diana Picus authored
      Teach lldb about siginfo_t si_codes corresponding to capability faults.
      This means that instead of printing "unknown crash reason", we print
      a nice message, e.g. "signal SIGSEGV: capability tag fault".
      
      The changes should only affect Linux. CheriBSD uses SIGPROT rather than
      SIGSEGV for capability faults.
      75fd4b71
    • Alex Richardson's avatar
      Fix -DLLVM_ENABLE_MODULES=TRUE build · 2ab75b8c
      Alex Richardson authored
      This fixes a cyclic dependency in LLDB by moving Capability to Utility
      and updates some includes to fix the modules build.
      2ab75b8c
  20. 09 Jun, 2021 3 commits
  21. 08 Jun, 2021 2 commits