[all-commits] [llvm/llvm-project] 84abe0: [Bounds-Safety] Reserve slot in SanitizerHandler e...

Dan Liew via All-commits all-commits at lists.llvm.org
Thu May 16 15:24:34 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 84abe0a6d4face73c15ed6344be74ae231f18718
      https://github.com/llvm/llvm-project/commit/84abe0a6d4face73c15ed6344be74ae231f18718
  Author: Dan Liew <delcypher at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.h

  Log Message:
  -----------
  [Bounds-Safety] Reserve slot in SanitizerHandler enum for Bounds-Safety (#91032)

Due to how `CodeGenFunction::EmitTrapCheck` is implemented
`SanitizerHandler` with numeric value 0x19 needs to be reserved because
`-fbounds-safety` generates trap instructions with that value embedded
in the trap instructions for x86_64 and arm64 just like for UBSan traps.

** x86_64 **

```
ud1l   0x19(%eax), %eax
```

** arm64 **

```
brk    #0x5519
```

To avoid upstream Clang and AppleClang diverging their ABIs for
`-fbounds-safety` the slot is being reserved in this patch.

`SanitizerHandler::BoundsSafety` currently has no uses in the code but
uses will be introduced when the CodeGen side of `-fbounds-safety`'s
implementation is upstreamed.

rdar://126884014

Co-authored-by: Dan Liew <dan at su-root.co.uk>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list