[all-commits] [llvm/llvm-project] b2e040: [libc] Implement getcontext and setcontext for x86...

Jeff Bailey via All-commits all-commits at lists.llvm.org
Thu Apr 16 13:59:02 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b2e0403b11de1ce60fbf2aadec0cc4efb44cd4c4
      https://github.com/llvm/llvm-project/commit/b2e0403b11de1ce60fbf2aadec0cc4efb44cd4c4
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/llvm-libc-types/x86_64/ucontext_t.h
    M libc/src/CMakeLists.txt
    A libc/src/ucontext/CMakeLists.txt
    A libc/src/ucontext/getcontext.h
    A libc/src/ucontext/setcontext.h
    A libc/src/ucontext/x86_64/CMakeLists.txt
    A libc/src/ucontext/x86_64/getcontext.cpp
    A libc/src/ucontext/x86_64/setcontext.cpp
    M libc/test/integration/src/CMakeLists.txt
    A libc/test/integration/src/ucontext/CMakeLists.txt
    A libc/test/integration/src/ucontext/ucontext_test.cpp
    M libc/test/src/CMakeLists.txt
    A libc/test/src/ucontext/CMakeLists.txt
    A libc/test/src/ucontext/ucontext_test.cpp

  Log Message:
  -----------
  [libc] Implement getcontext and setcontext for x86_64 (#192343)

Implemented getcontext and setcontext for x86_64 architecture in LLVM
libc. These functions use inline assembly with naked attributes to
capture and restore the exact register state.

Added:
* src/ucontext/getcontext.h and setcontext.h
* src/ucontext/x86_64/getcontext.cpp and setcontext.cpp
* Hermetic integration test for register preservation.
* Unit tests for basic functionality and signal mask preservation.

Updated entrypoints for x86_64 Linux.



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