[all-commits] [llvm/llvm-project] 6738cf: Mark CXX module initializer with PACBTI attributes...

Victor Campos via All-commits all-commits at lists.llvm.org
Fri Apr 25 03:04:56 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6738cfe0a40af2754000346ff090ebb2115ce15f
      https://github.com/llvm/llvm-project/commit/6738cfe0a40af2754000346ff090ebb2115ce15f
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    A clang/test/CodeGenCXX/cxx20-module-initializer-pacbti.cpp

  Log Message:
  -----------
  Mark CXX module initializer with PACBTI attributes (#133716)

The CXX module initializer function, which is called at program startup,
needs to be tagged with Pointer Authentication and Branch Target
Identification marks whenever relevant.

Before this patch, in CPUs set up for PACBTI execution, the function
wasn't protected with return address signing and no BTI instruction was
inserted at the start of it, thus leading to an execution fault.

This patch fixes the issue by marking the function with the function
attributes related to PAC and BTI if relevant.



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