[all-commits] [llvm/llvm-project] 5a48a8: [compiler-rt] Fix interception_win.cpp arm64 instr...

Farzon Lotfi via All-commits all-commits at lists.llvm.org
Tue Sep 12 20:03:44 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5a48a824aa0cf383cc8201d04c0a37ab45912a8c
      https://github.com/llvm/llvm-project/commit/5a48a824aa0cf383cc8201d04c0a37ab45912a8c
  Author: Farzon Lotfi <farzon at farzon.org>
  Date:   2023-09-12 (Tue, 12 Sep 2023)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp

  Log Message:
  -----------
  [compiler-rt] Fix interception_win.cpp arm64 instruction lengths

Updates GetInstructionSize to account for arm64 instruction sizes.

ARM64 instruction are always 4 bytes long but GetInstructionSize in
interception_win.cpp assumes x86_64 which has mixed sizes.

Fix is for: https://github.com/llvm/llvm-project/issues/64319

Before the changeclang_rt.asan_dynamic-aarch64.dll would crash at:
OverrideFunction -> OverrideFunctionWithHotPatch -> GetInstructionSize:825

After the change:
dllthunkintercept -> dllthunkgetrealaddressordie -> InternalGetProcAddress




More information about the All-commits mailing list