[all-commits] [llvm/llvm-project] e68d66: [compiler-rt] Make __EH_FRAME_LIST__ const to avoi...

dong jianqiang via All-commits all-commits at lists.llvm.org
Fri Aug 29 23:57:06 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e68d66a1afea79d19f8b3f9b8bea6b4ff38685b7
      https://github.com/llvm/llvm-project/commit/e68d66a1afea79d19f8b3f9b8bea6b4ff38685b7
  Author: dong jianqiang <dongjianqiang2 at huawei.com>
  Date:   2025-08-30 (Sat, 30 Aug 2025)

  Changed paths:
    M compiler-rt/lib/builtins/crtbegin.c

  Log Message:
  -----------
  [compiler-rt] Make __EH_FRAME_LIST__ const to avoid RW .eh_frame mapping (#155764) (#155955)

In crtbegin.c, `__EH_FRAME_LIST__` was previously declared as a writable
array of pointers. This caused the linker to place .eh_frame into a
segment with read-write permissions, leading to larger virtual memory
footprint at runtime (e.g. .eh_frame mapped into both LOAD and RELRO).

Changing it to `static void * const __EH_FRAME_LIST__[]` ensures that
the section is treated as read-only, matching GCC’s behavior with
`__EH_FRAME_BEGIN__`. This prevents unnecessary RW mappings of .eh_frame
while preserving the intended semantics.

Fixes: #155764



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