Skip to content

Conversation

@resistor
Copy link
Collaborator

  • [llvm-objdump][llvm-readobj] Decode code caprelocs permissions
  • [BinaryFormat][RISCV] Reserve R_RISCV_FUNC_RELATIVE
  • [clang][CodeGen] Use index type for inline asm ptrtoint
  • Revert "Utils: add missing dep for llvm/CodeGen/GenVT.inc"
  • [CHERI-Generic] Pre-commit a new test showing missed immediate use
  • [NFC][RISCV] Fix include order in RISCVTargetObjectFile.cpp
  • [NFC][ELF][CHERI] Rename cheriCap(Call)Rel to symbolicCap(Call)Rel
  • [NFC][ELF][CHERI] Make CaptablePermissions a bit less ugly
  • [NFC][ELF][CHERI] Rename CaptablePermissions to CapRelocPermission
  • [NFC][AsmPrinter] Reformat CHERI block address code
  • [NFCI][CodeGen][MC][Mips][RISCV] Follow emitValue for EmitCheriCapability

jrtc27 and others added 11 commits November 7, 2025 19:50
For non-c18n runtimes this is the same as a plain function capreloc, but
for c18n runtimes this marks capabilities that must not be wrapped in a
trampoline as they must point directly to the code in question.
For non-c18n runtimes this is the same as R_RISCV_RELATIVE, but for c18n
runtimes this marks addresses that must not be wrapped in a trampoline
as they must point directly to the code in question.
When the return type of an inline asm instruction needs to be
truncated to an integer type we need to use the index type
and not the size of the pointer type so as to not crash.
This was needed due to a layering violation, and the dependency itself
is also a layering violation. The underlying cause has now been fixed.

This reverts commit 430ebd2.
This makes it clearer they're equivalent to symbolicRel.
Note that the clang-format directives are in anticipation of future
additions, where we will still want to keep the equals signs, and thus
bit numbers, aligned to make it easier to read.
…lity

Rename the underlying function to emitCheriCapability, and have the
symbol-only version be non-virtual and called emitSymbolCheriCapability
like emitSymbolValue.

Drop the addend overloads and let the callers create the adds. Not many
callers exist, no equivalent exists for integers, and two of the three
uses will be changed in a future commit anyway.
@resistor resistor merged commit a653e5b into CHERIoT-Platform:cheriot Nov 11, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants