Implement sigsetjmp and siglongjmp for darwin/aarch64 (#139555)

This commit is contained in:
Aly ElAshram
2025-06-19 15:15:59 +02:00
committed by GitHub
parent 83381ba832
commit 5645d67109
7 changed files with 60 additions and 5 deletions

View File

@@ -0,0 +1,8 @@
{
"setjmp": {
"LIBC_CONF_SETJMP_AARCH64_RESTORE_PLATFORM_REGISTER": {
"value": false,
"doc": "Avoid setjmp saving the value of x18, and longjmp restoring it. The Apple AArch64 ABI specifies that this register is reserved and should not be used"
}
}
}

View File

@@ -101,6 +101,17 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.stdlib.free
)
if(LLVM_LIBC_FULL_BUILD)
list(APPEND TARGET_LIBC_ENTRYPOINTS
# setjmp.h entrypoints
libc.src.setjmp.longjmp
libc.src.setjmp.setjmp
libc.src.setjmp.siglongjmp
libc.src.setjmp.sigsetjmp
)
endif()
set(TARGET_LIBM_ENTRYPOINTS
# complex.h entrypoints
libc.src.complex.creal

View File

@@ -7,6 +7,7 @@ set(TARGET_PUBLIC_HEADERS
libc.include.inttypes
libc.include.limits
libc.include.math
libc.include.setjmp
libc.include.stdlib
libc.include.string
libc.include.strings