[llvm-branch-commits] [libc] [libc][annex_k] Add libc_constraint_handler. (PR #164091)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Sat Oct 18 07:17:47 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libc
@llvm/pr-subscribers-backend-risc-v
Author: Muhammad Bassiouni (bassiounix)
<details>
<summary>Changes</summary>
RFC https://discourse.llvm.org/t/rfc-bounds-checking-interfaces-for-llvm-libc/87685
Add internal `libc_constraint_handler` required by Annex K interface in LLVM libc.
---
Full diff: https://github.com/llvm/llvm-project/pull/164091.diff
2 Files Affected:
- (added) libc/src/__support/annex_k/CMakeLists.txt (+21)
- (added) libc/src/__support/annex_k/libc_constraint_handler.h (+26)
``````````diff
diff --git a/libc/src/__support/annex_k/CMakeLists.txt b/libc/src/__support/annex_k/CMakeLists.txt
new file mode 100644
index 0000000000000..8eb65f2469b4f
--- /dev/null
+++ b/libc/src/__support/annex_k/CMakeLists.txt
@@ -0,0 +1,21 @@
+add_header_library(
+ abort_handler_s
+ HDRS
+ abort_handler_s.h
+ DEPENDS
+ libc.hdr.stdio_macros
+ libc.hdr.types.errno_t
+ libc.src.__support.macros.config
+ libc.src.__support.macros.attributes
+ libc.src.__support.OSUtil.osutil
+ libc.src.stdlib.abort
+)
+
+add_header_library(
+ libc_constraint_handler
+ HDRS
+ libc_constraint_handler.h
+ DEPENDS
+ .abort_handler_s
+ libc.hdr.types.constraint_handler_t
+)
diff --git a/libc/src/__support/annex_k/libc_constraint_handler.h b/libc/src/__support/annex_k/libc_constraint_handler.h
new file mode 100644
index 0000000000000..9b0a45d09cb32
--- /dev/null
+++ b/libc/src/__support/annex_k/libc_constraint_handler.h
@@ -0,0 +1,26 @@
+//===-- Static header for libc_constraint_handler ---------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_SRC___SUPPORT_ANNEX_K_LIBC_CONSTRAINT_HANDLER_H
+#define LLVM_LIBC_SRC___SUPPORT_ANNEX_K_LIBC_CONSTRAINT_HANDLER_H
+
+#include "abort_handler_s.h"
+#include "hdr/types/constraint_handler_t.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+namespace annex_k {
+
+LIBC_INLINE static constraint_handler_t libc_constraint_handler =
+ &abort_handler_s;
+
+} // namespace annex_k
+
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC___SUPPORT_ANNEX_K_LIBC_CONSTRAINT_HANDLER_H
``````````
</details>
https://github.com/llvm/llvm-project/pull/164091
More information about the llvm-branch-commits
mailing list