[libc-commits] [libc] [libc] Make sign functions use the emulated float80 type (PR #235073)
via libc-commits
libc-commits at lists.llvm.org
Fri Oct 23 23:51:08 PDT 2026
https://github.com/Sukumarsawant updated https://github.com/llvm/llvm-project/pull/235073
>From 910712db53f336372c276155f8c0add28d67dd26 Mon Sep 17 00:00:00 2001
From: Sukumarsawant <sawantsukumar at gmail.com>
Date: Sat, 24 Oct 2026 00:45:34 +0530
Subject: [PATCH 1/3] intial commit
---
libc/shared/math/copysignf80.h | 23 +++++++++++++++
libc/shared/math/fabsf80.h | 23 +++++++++++++++
libc/src/__support/math/copysignf80.h | 28 +++++++++++++++++++
libc/src/__support/math/fabsf80.h | 26 +++++++++++++++++
libc/src/math/copysignf80.h | 22 +++++++++++++++
libc/src/math/fabsf80.h | 22 +++++++++++++++
libc/src/math/generic/copysignf80.cpp | 24 ++++++++++++++++
libc/src/math/generic/fabsf80.cpp | 23 +++++++++++++++
libc/test/src/math/smoke/copysignf80_test.cpp | 15 ++++++++++
libc/test/src/math/smoke/fabsf80_test.cpp | 15 ++++++++++
10 files changed, 221 insertions(+)
create mode 100644 libc/shared/math/copysignf80.h
create mode 100644 libc/shared/math/fabsf80.h
create mode 100644 libc/src/__support/math/copysignf80.h
create mode 100644 libc/src/__support/math/fabsf80.h
create mode 100644 libc/src/math/copysignf80.h
create mode 100644 libc/src/math/fabsf80.h
create mode 100644 libc/src/math/generic/copysignf80.cpp
create mode 100644 libc/src/math/generic/fabsf80.cpp
create mode 100644 libc/test/src/math/smoke/copysignf80_test.cpp
create mode 100644 libc/test/src/math/smoke/fabsf80_test.cpp
diff --git a/libc/shared/math/copysignf80.h b/libc/shared/math/copysignf80.h
new file mode 100644
index 00000000000000..7829f8bf4365bb
--- /dev/null
+++ b/libc/shared/math/copysignf80.h
@@ -0,0 +1,23 @@
+//===-- Shared copysignf80 function -----------------------------*- 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_SHARED_MATH_COPYSIGNF80_H
+#define LLVM_LIBC_SHARED_MATH_COPYSIGNF80_H
+
+#include "shared/libc_common.h"
+#include "src/__support/math/copysignf80.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace shared {
+
+using math::copysignf80;
+
+} // namespace shared
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SHARED_MATH_COPYSIGNF80_H
diff --git a/libc/shared/math/fabsf80.h b/libc/shared/math/fabsf80.h
new file mode 100644
index 00000000000000..3f007309954a75
--- /dev/null
+++ b/libc/shared/math/fabsf80.h
@@ -0,0 +1,23 @@
+//===-- Shared fabsf80 function ---------------------------------*- 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_SHARED_MATH_FABSF80_H
+#define LLVM_LIBC_SHARED_MATH_FABSF80_H
+
+#include "shared/libc_common.h"
+#include "src/__support/math/fabsf80.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace shared {
+
+using math::fabsf80;
+
+} // namespace shared
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SHARED_MATH_FABSF80_H
diff --git a/libc/src/__support/math/copysignf80.h b/libc/src/__support/math/copysignf80.h
new file mode 100644
index 00000000000000..c2a498a97b2274
--- /dev/null
+++ b/libc/src/__support/math/copysignf80.h
@@ -0,0 +1,28 @@
+//===-- Implementation header for copysignf80 -------------------*- 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_MATH_COPYSIGNF80_H
+#define LLVM_LIBC_SRC___SUPPORT_MATH_COPYSIGNF80_H
+
+#include "src/__support/FPUtil/ManipulationFunctions.h"
+#include "src/__support/FPUtil/float80.h"
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace math {
+
+using LIBC_NAMESPACE::fputil::Float80;
+
+LIBC_INLINE constexpr Float80 copysignf80(Float80 x, Float80 y) {
+ return fputil::copysign(x, y);
+}
+
+} // namespace math
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC___SUPPORT_MATH_COPYSIGNF80_H
diff --git a/libc/src/__support/math/fabsf80.h b/libc/src/__support/math/fabsf80.h
new file mode 100644
index 00000000000000..038cb48ccb64a3
--- /dev/null
+++ b/libc/src/__support/math/fabsf80.h
@@ -0,0 +1,26 @@
+//===-- Implementation header for fabsf80 -----------------------*- 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_MATH_FABSF80_H
+#define LLVM_LIBC_SRC___SUPPORT_MATH_FABSF80_H
+
+#include "src/__support/FPUtil/BasicOperations.h"
+#include "src/__support/FPUtil/float80.h"
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace math {
+
+using LIBC_NAMESPACE::fputil::Float80;
+
+LIBC_INLINE constexpr Float80 fabsf80(Float80 x) { return fputil::abs(x); }
+
+} // namespace math
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC___SUPPORT_MATH_FABSF80_H
diff --git a/libc/src/math/copysignf80.h b/libc/src/math/copysignf80.h
new file mode 100644
index 00000000000000..41d970ba1a2d90
--- /dev/null
+++ b/libc/src/math/copysignf80.h
@@ -0,0 +1,22 @@
+//===-- Implementation header for copysignf80 -------------------*- 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_MATH_COPYSIGNF80_H
+#define LLVM_LIBC_SRC_MATH_COPYSIGNF80_H
+
+#include "src/__support/FPUtil/float80.h"
+#include "src/__support/macros/config.h"
+#include "src/__support/macros/properties/types.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+float80 copysignf80(float80 x, float80 y);
+
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC_MATH_COPYSIGNF80_H
diff --git a/libc/src/math/fabsf80.h b/libc/src/math/fabsf80.h
new file mode 100644
index 00000000000000..15d5e86cec86b9
--- /dev/null
+++ b/libc/src/math/fabsf80.h
@@ -0,0 +1,22 @@
+//===-- Implementation header for fabsf80 -----------------------*- 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_MATH_FABSF80_H
+#define LLVM_LIBC_SRC_MATH_FABSF80_H
+
+#include "src/__support/FPUtil/float80.h"
+#include "src/__support/macros/config.h"
+#include "src/__support/macros/properties/types.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+float80 fabsf80(float80 x);
+
+} // namespace LIBC_NAMESPACE_DECL
+
+#endif // LLVM_LIBC_SRC_MATH_FABSF80_H
diff --git a/libc/src/math/generic/copysignf80.cpp b/libc/src/math/generic/copysignf80.cpp
new file mode 100644
index 00000000000000..07220c8c86c6d9
--- /dev/null
+++ b/libc/src/math/generic/copysignf80.cpp
@@ -0,0 +1,24 @@
+//===-- Implementation of copysignf80 function ----------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/math/copysignf80.h"
+#include "src/__support/CPP/bit.h"
+#include "src/__support/common.h"
+#include "src/__support/macros/config.h"
+#include "src/__support/math/copysignf80.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+using LIBC_NAMESPACE::fputil::Float80;
+
+LLVM_LIBC_FUNCTION(float80, copysignf80, (float80 x, float80 y)) {
+ return cpp::bit_cast<float80>(
+ math::copysignf80(cpp::bit_cast<Float80>(x), cpp::bit_cast<Float80>(y)));
+}
+
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fabsf80.cpp b/libc/src/math/generic/fabsf80.cpp
new file mode 100644
index 00000000000000..b15427d264da84
--- /dev/null
+++ b/libc/src/math/generic/fabsf80.cpp
@@ -0,0 +1,23 @@
+//===-- Implementation of fabsf80 function --------------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/math/fabsf80.h"
+#include "src/__support/CPP/bit.h"
+#include "src/__support/common.h"
+#include "src/__support/macros/config.h"
+#include "src/__support/math/fabsf80.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+using LIBC_NAMESPACE::fputil::Float80;
+
+LLVM_LIBC_FUNCTION(float80, fabsf80, (float80 x)) {
+ return cpp::bit_cast<float80>(math::fabsf80(cpp::bit_cast<Float80>(x)));
+}
+
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/math/smoke/copysignf80_test.cpp b/libc/test/src/math/smoke/copysignf80_test.cpp
new file mode 100644
index 00000000000000..cdf3fbcc0b8390
--- /dev/null
+++ b/libc/test/src/math/smoke/copysignf80_test.cpp
@@ -0,0 +1,15 @@
+//===-- Unittests for copysignf80 -----------------------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/__support/FPUtil/float80.h"
+#include "src/math/copysignf80.h"
+#include "test/src/math/smoke/CopySignTest.h"
+
+using LIBC_NAMESPACE::fputil::Float80;
+
+LIST_COPYSIGN_TESTS(Float80, LIBC_NAMESPACE::copysignf80)
diff --git a/libc/test/src/math/smoke/fabsf80_test.cpp b/libc/test/src/math/smoke/fabsf80_test.cpp
new file mode 100644
index 00000000000000..44ef52cf967dbd
--- /dev/null
+++ b/libc/test/src/math/smoke/fabsf80_test.cpp
@@ -0,0 +1,15 @@
+//===-- Unittests for fabsf80 ---------------------------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/__support/FPUtil/float80.h"
+#include "src/math/fabsf80.h"
+#include "test/src/math/smoke/FAbsTest.h"
+
+using LIBC_NAMESPACE::fputil::Float80;
+
+LIST_FABS_TESTS(Float80, LIBC_NAMESPACE::fabsf80)
>From 8a62517f52be0110355e9f399b93e32c0d1243ee Mon Sep 17 00:00:00 2001
From: Sukumarsawant <sawantsukumar at gmail.com>
Date: Sat, 24 Oct 2026 12:17:09 +0530
Subject: [PATCH 2/3] add entrypoints
---
libc/config/baremetal/aarch64/entrypoints.txt | 2000 ++++-----
libc/config/baremetal/arm/entrypoints.txt | 2070 ++++-----
libc/config/baremetal/riscv/entrypoints.txt | 2054 ++++-----
libc/config/darwin/aarch64/entrypoints.txt | 1586 +++----
libc/config/darwin/x86_64/entrypoints.txt | 700 ++--
libc/config/freebsd/x86_64/entrypoints.txt | 1330 +++---
libc/config/gpu/amdgpu/entrypoints.txt | 1526 +++----
libc/config/gpu/nvptx/entrypoints.txt | 1558 +++----
libc/config/linux/aarch64/entrypoints.txt | 3220 +++++++-------
libc/config/linux/arm/entrypoints.txt | 1542 +++----
libc/config/linux/riscv/entrypoints.txt | 3546 ++++++++--------
libc/config/linux/x86_64/entrypoints.txt | 3696 +++++++++--------
libc/config/windows/entrypoints.txt | 882 ++--
13 files changed, 12868 insertions(+), 12842 deletions(-)
diff --git a/libc/config/baremetal/aarch64/entrypoints.txt b/libc/config/baremetal/aarch64/entrypoints.txt
index 7ec212d8709692..96c267df14dbee 100644
--- a/libc/config/baremetal/aarch64/entrypoints.txt
+++ b/libc/config/baremetal/aarch64/entrypoints.txt
@@ -1,999 +1,1001 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdio.h entrypoints
- libc.src.stdio.asprintf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fflush
- libc.src.stdio.fclose
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fprintf
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fscanf
- libc.src.stdio.fwrite
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.getc
- libc.src.stdio.getchar
- libc.src.stdio.printf
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.scanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.sscanf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.vasprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.vfscanf
- libc.src.stdio.vprintf
- libc.src.stdio.vscanf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vsscanf
- libc.src.stdio.ungetc
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.a64l
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.calloc
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.free
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.malloc
- libc.src.stdlib.malloc_usable_size
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realloc
- libc.src.stdlib.srand
- # libc.src.stdlib.strfromd
- # libc.src.stdlib.strfromf
- # libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.clock
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.timespec_get
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # wctype.h entrypoints
- libc.src.wctype.iswpunct
-
- # internal entrypoints
- libc.startup.baremetal.init
- libc.startup.baremetal.fini
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- # libc.src.math.atan2l
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.atan2f16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- )
-endif()
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdio.h entrypoints
+ libc.src.stdio.asprintf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fflush
+ libc.src.stdio.fclose
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fprintf
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fscanf
+ libc.src.stdio.fwrite
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.getc
+ libc.src.stdio.getchar
+ libc.src.stdio.printf
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.scanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.vasprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vscanf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.ungetc
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.calloc
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.free
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.malloc
+ libc.src.stdlib.malloc_usable_size
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realloc
+ libc.src.stdlib.srand
+ # libc.src.stdlib.strfromd
+ # libc.src.stdlib.strfromf
+ # libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.clock
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.timespec_get
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswpunct
+
+ # internal entrypoints
+ libc.startup.baremetal.init
+ libc.startup.baremetal.fini
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ # libc.src.math.atan2l
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.atan2f16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ )
+endif()
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/baremetal/arm/entrypoints.txt b/libc/config/baremetal/arm/entrypoints.txt
index 779d9fc23b28e8..f14d4a69ef5ec3 100644
--- a/libc/config/baremetal/arm/entrypoints.txt
+++ b/libc/config/baremetal/arm/entrypoints.txt
@@ -1,1034 +1,1036 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdio.h entrypoints
- libc.src.stdio.asprintf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fflush
- libc.src.stdio.fclose
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fprintf
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fscanf
- libc.src.stdio.fwrite
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.getc
- libc.src.stdio.getchar
- libc.src.stdio.printf
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.scanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.sscanf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.vasprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.vfscanf
- libc.src.stdio.vprintf
- libc.src.stdio.vscanf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vsscanf
- libc.src.stdio.ungetc
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.a64l
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.calloc
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.free
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.malloc
- libc.src.stdlib.malloc_usable_size
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realloc
- libc.src.stdlib.srand
- # libc.src.stdlib.strfromd
- # libc.src.stdlib.strfromf
- # libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.clock
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.timespec_get
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
- # internal entrypoints
- libc.startup.baremetal.init
- libc.startup.baremetal.fini
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan2l
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.atan2f16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- libc.src.stdfix.idivr
- libc.src.stdfix.idivlr
- libc.src.stdfix.idivk
- libc.src.stdfix.idivlk
- libc.src.stdfix.idivur
- libc.src.stdfix.idivulr
- libc.src.stdfix.idivuk
- libc.src.stdfix.idivulk
- libc.src.stdfix.divir
- libc.src.stdfix.divilr
- libc.src.stdfix.divik
- libc.src.stdfix.divilk
- libc.src.stdfix.diviur
- libc.src.stdfix.diviulr
- libc.src.stdfix.diviuk
- libc.src.stdfix.diviulk
- libc.src.stdfix.rdivi
- libc.src.stdfix.lrdivi
- libc.src.stdfix.kdivi
- libc.src.stdfix.lkdivi
- libc.src.stdfix.urdivi
- libc.src.stdfix.ulrdivi
- libc.src.stdfix.ukdivi
- libc.src.stdfix.ulkdivi
- )
-endif()
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdio.h entrypoints
+ libc.src.stdio.asprintf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fflush
+ libc.src.stdio.fclose
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fprintf
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fscanf
+ libc.src.stdio.fwrite
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.getc
+ libc.src.stdio.getchar
+ libc.src.stdio.printf
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.scanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.vasprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vscanf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.ungetc
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.calloc
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.free
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.malloc
+ libc.src.stdlib.malloc_usable_size
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realloc
+ libc.src.stdlib.srand
+ # libc.src.stdlib.strfromd
+ # libc.src.stdlib.strfromf
+ # libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.clock
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.timespec_get
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+ # internal entrypoints
+ libc.startup.baremetal.init
+ libc.startup.baremetal.fini
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan2l
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.atan2f16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ libc.src.stdfix.idivr
+ libc.src.stdfix.idivlr
+ libc.src.stdfix.idivk
+ libc.src.stdfix.idivlk
+ libc.src.stdfix.idivur
+ libc.src.stdfix.idivulr
+ libc.src.stdfix.idivuk
+ libc.src.stdfix.idivulk
+ libc.src.stdfix.divir
+ libc.src.stdfix.divilr
+ libc.src.stdfix.divik
+ libc.src.stdfix.divilk
+ libc.src.stdfix.diviur
+ libc.src.stdfix.diviulr
+ libc.src.stdfix.diviuk
+ libc.src.stdfix.diviulk
+ libc.src.stdfix.rdivi
+ libc.src.stdfix.lrdivi
+ libc.src.stdfix.kdivi
+ libc.src.stdfix.lkdivi
+ libc.src.stdfix.urdivi
+ libc.src.stdfix.ulrdivi
+ libc.src.stdfix.ukdivi
+ libc.src.stdfix.ulkdivi
+ )
+endif()
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/baremetal/riscv/entrypoints.txt b/libc/config/baremetal/riscv/entrypoints.txt
index b847a2bb1f47f0..e2de5c2757afdb 100644
--- a/libc/config/baremetal/riscv/entrypoints.txt
+++ b/libc/config/baremetal/riscv/entrypoints.txt
@@ -1,1026 +1,1028 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # setjmp.h entrypoints
- # libc.src.setjmp.longjmp
- # libc.src.setjmp.setjmp
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdio.h entrypoints
- libc.src.stdio.asprintf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fprintf
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fscanf
- libc.src.stdio.fwrite
- libc.src.stdio.getchar
- libc.src.stdio.printf
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.scanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.sscanf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.vasprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.vfscanf
- libc.src.stdio.vprintf
- libc.src.stdio.vscanf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vsscanf
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.a64l
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.calloc
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.free
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.malloc
- libc.src.stdlib.malloc_usable_size
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realloc
- libc.src.stdlib.srand
- # libc.src.stdlib.strfromd
- # libc.src.stdlib.strfromf
- # libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.clock
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.timespec_get
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
-
- # internal entrypoints
- libc.startup.baremetal.init
- libc.startup.baremetal.fini
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- # libc.src.math.atan2l
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- # libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.atan2f16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- # libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- libc.src.stdfix.idivr
- libc.src.stdfix.idivlr
- libc.src.stdfix.idivk
- libc.src.stdfix.idivlk
- libc.src.stdfix.idivur
- libc.src.stdfix.idivulr
- libc.src.stdfix.idivuk
- libc.src.stdfix.idivulk
- libc.src.stdfix.divir
- libc.src.stdfix.divilr
- libc.src.stdfix.divik
- libc.src.stdfix.divilk
- libc.src.stdfix.diviur
- libc.src.stdfix.diviulr
- libc.src.stdfix.diviuk
- libc.src.stdfix.diviulk
- libc.src.stdfix.rdivi
- libc.src.stdfix.lrdivi
- libc.src.stdfix.kdivi
- libc.src.stdfix.lkdivi
- libc.src.stdfix.urdivi
- libc.src.stdfix.ulrdivi
- libc.src.stdfix.ukdivi
- libc.src.stdfix.ulkdivi
- )
-endif()
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # setjmp.h entrypoints
+ # libc.src.setjmp.longjmp
+ # libc.src.setjmp.setjmp
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdio.h entrypoints
+ libc.src.stdio.asprintf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fprintf
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fscanf
+ libc.src.stdio.fwrite
+ libc.src.stdio.getchar
+ libc.src.stdio.printf
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.scanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.vasprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vscanf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vsscanf
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.calloc
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.free
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.malloc
+ libc.src.stdlib.malloc_usable_size
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realloc
+ libc.src.stdlib.srand
+ # libc.src.stdlib.strfromd
+ # libc.src.stdlib.strfromf
+ # libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.clock
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.timespec_get
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+
+ # internal entrypoints
+ libc.startup.baremetal.init
+ libc.startup.baremetal.fini
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ # libc.src.math.atan2l
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ # libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.atan2f16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ # libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ libc.src.stdfix.idivr
+ libc.src.stdfix.idivlr
+ libc.src.stdfix.idivk
+ libc.src.stdfix.idivlk
+ libc.src.stdfix.idivur
+ libc.src.stdfix.idivulr
+ libc.src.stdfix.idivuk
+ libc.src.stdfix.idivulk
+ libc.src.stdfix.divir
+ libc.src.stdfix.divilr
+ libc.src.stdfix.divik
+ libc.src.stdfix.divilk
+ libc.src.stdfix.diviur
+ libc.src.stdfix.diviulr
+ libc.src.stdfix.diviuk
+ libc.src.stdfix.diviulk
+ libc.src.stdfix.rdivi
+ libc.src.stdfix.lrdivi
+ libc.src.stdfix.kdivi
+ libc.src.stdfix.lkdivi
+ libc.src.stdfix.urdivi
+ libc.src.stdfix.ulrdivi
+ libc.src.stdfix.ukdivi
+ libc.src.stdfix.ulkdivi
+ )
+endif()
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/darwin/aarch64/entrypoints.txt b/libc/config/darwin/aarch64/entrypoints.txt
index 5600b82ad3410b..60a9be95a6b93a 100644
--- a/libc/config/darwin/aarch64/entrypoints.txt
+++ b/libc/config/darwin/aarch64/entrypoints.txt
@@ -1,792 +1,794 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # string.h entrypoints that depend on malloc
- libc.src.string.strdup
- libc.src.string.strndup
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atoi
- libc.src.stdlib.atof
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.malloc
- libc.src.stdlib.calloc
- libc.src.stdlib.realloc
- libc.src.stdlib.free
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
-)
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # signal.h entrypoints
- libc.src.signal.sigaddset
- libc.src.signal.sigdelset
- libc.src.signal.sigemptyset
- libc.src.signal.sigfillset
- libc.src.signal.sigprocmask
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
- libc.src.stdlib._Exit
- )
-endif()
-
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.atan2f16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # string.h entrypoints that depend on malloc
+ libc.src.string.strdup
+ libc.src.string.strndup
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atof
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.malloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.realloc
+ libc.src.stdlib.free
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+)
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # signal.h entrypoints
+ libc.src.signal.sigaddset
+ libc.src.signal.sigdelset
+ libc.src.signal.sigemptyset
+ libc.src.signal.sigfillset
+ libc.src.signal.sigprocmask
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+ libc.src.stdlib._Exit
+ )
+endif()
+
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.atan2f16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/darwin/x86_64/entrypoints.txt b/libc/config/darwin/x86_64/entrypoints.txt
index e3fc845d2ed3af..2dcec05978469c 100644
--- a/libc/config/darwin/x86_64/entrypoints.txt
+++ b/libc/config/darwin/x86_64/entrypoints.txt
@@ -1,349 +1,351 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # search.h entrypoints
- libc.src.search.lfind
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # string.h entrypoints that depend on malloc
- libc.src.string.strdup
- libc.src.string.strndup
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bzero
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atoi
- libc.src.stdlib.atof
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.malloc
- libc.src.stdlib.calloc
- libc.src.stdlib.realloc
- libc.src.stdlib.free
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # fenv disabled on x86_64 MacOS for now.
- # # fenv.h entrypoints
- # libc.src.fenv.feclearexcept
- # libc.src.fenv.fedisableexcept
- # libc.src.fenv.feenableexcept
- # libc.src.fenv.fegetenv
- # libc.src.fenv.fegetexcept
- # libc.src.fenv.fegetexceptflag
- # libc.src.fenv.fegetround
- # libc.src.fenv.feholdexcept
- # libc.src.fenv.fesetenv
- # libc.src.fenv.fesetexcept
- # libc.src.fenv.fesetexceptflag
- # libc.src.fenv.fesetround
- # libc.src.fenv.feraiseexcept
- # libc.src.fenv.fetestexcept
- # libc.src.fenv.fetestexceptflag
- # libc.src.fenv.feupdateenv
-
- ## Currently disabled for failing tests.
- # math.h entrypoints
- #libc.src.math.atan2f128
- #libc.src.math.copysign
- #libc.src.math.copysignf
- #libc.src.math.copysignf128
- #libc.src.math.copysignl
- #libc.src.math.ceil
- #libc.src.math.ceilf
- #libc.src.math.ceilf128
- #libc.src.math.ceill
- #libc.src.math.coshf
- #libc.src.math.cosf
- #libc.src.math.daddl
- #libc.src.math.ddivl
- #libc.src.math.dfmal
- #libc.src.math.dsqrtl
- #libc.src.math.dsubl
- #libc.src.math.expf
- #libc.src.math.exp2f
- #libc.src.math.expm1f
- #libc.src.math.fabs
- #libc.src.math.fabsf
- #libc.src.math.fabsf128
- #libc.src.math.fabsl
- #libc.src.math.fdim
- #libc.src.math.fdimf
- #libc.src.math.fdimf128
- #libc.src.math.fdiml
- #libc.src.math.fdiv
- #libc.src.math.fdivl
- #libc.src.math.ffma
- #libc.src.math.ffmal
- #libc.src.math.floor
- #libc.src.math.floorf
- #libc.src.math.floorf128
- #libc.src.math.floorl
- #libc.src.math.fma
- #libc.src.math.fmabf16
- #libc.src.math.fmaf
- #libc.src.math.fmax
- #libc.src.math.fmaxf
- #libc.src.math.fmaxf128
- #libc.src.math.fmaximum_mag_numf128
- #libc.src.math.fmaximum_magf128
- #libc.src.math.fmaximum_numf128
- #libc.src.math.fmaximumf128
- #libc.src.math.fmaxl
- #libc.src.math.fmin
- #libc.src.math.fminf
- #libc.src.math.fminf128
- #libc.src.math.fminimum_mag_numf128
- #libc.src.math.fminimum_magf128
- #libc.src.math.fminimum_numf128
- #libc.src.math.fminimumf128
- #libc.src.math.fminl
- #libc.src.math.fmod
- #libc.src.math.fmodf
- #libc.src.math.frexp
- #libc.src.math.frexpf
- #libc.src.math.frexpl
- #libc.src.math.fsub
- #libc.src.math.fsubl
- #libc.src.math.hypot
- #libc.src.math.hypotf
- #libc.src.math.ilogb
- #libc.src.math.ilogbf
- #libc.src.math.ilogbl
- #libc.src.math.iscanonicalf128
- #libc.src.math.isnanf128
- #libc.src.math.issignalingf128
- #libc.src.math.llrint
- #libc.src.math.llrintf
- #libc.src.math.llrintf128
- #libc.src.math.llrintl
- #libc.src.math.llround
- #libc.src.math.llroundf
- #libc.src.math.llroundf128
- #libc.src.math.llroundl
- #libc.src.math.lrint
- #libc.src.math.lrintf
- #libc.src.math.lrintf128
- #libc.src.math.lrintl
- #libc.src.math.lround
- #libc.src.math.lroundf
- #libc.src.math.lroundf128
- #libc.src.math.lroundl
- #libc.src.math.ldexp
- #libc.src.math.ldexpf
- #libc.src.math.ldexpl
- #libc.src.math.log10f
- #libc.src.math.log1pf
- #libc.src.math.log2f
- #libc.src.math.logf
- #libc.src.math.logb
- #libc.src.math.logbf
- #libc.src.math.logbl
- #libc.src.math.modf
- #libc.src.math.modff
- #libc.src.math.modfl
- #libc.src.math.nan
- #libc.src.math.nanf
- #libc.src.math.nanl
- #libc.src.math.nearbyint
- #libc.src.math.nearbyintf
- #libc.src.math.nearbyintf128
- #libc.src.math.nearbyintl
- #libc.src.math.nextafter
- #libc.src.math.nextafterf
- #libc.src.math.nextafterl
- #libc.src.math.nexttoward
- #libc.src.math.nexttowardf
- #libc.src.math.nexttowardl
- #libc.src.math.remainderf
- #libc.src.math.remainder
- #libc.src.math.remainderl
- #libc.src.math.remquof
- #libc.src.math.remquo
- #libc.src.math.remquol
- #libc.src.math.rint
- #libc.src.math.rintf
- #libc.src.math.rintf128
- #libc.src.math.rintl
- #libc.src.math.round
- #libc.src.math.roundevenf128
- #libc.src.math.roundf
- #libc.src.math.roundf128
- #libc.src.math.roundl
- #libc.src.math.sincosf
- #libc.src.math.sinhf
- #libc.src.math.sinf
- #libc.src.math.sqrt
- #libc.src.math.sqrtf
- #libc.src.math.sqrtf128
- #libc.src.math.sqrtl
- #libc.src.math.tanf
- #libc.src.math.tanhf
- #libc.src.math.totalordermag
- #libc.src.math.totalordermagf
- #libc.src.math.totalordermagl
- #libc.src.math.trunc
- #libc.src.math.truncf
- #libc.src.math.truncf128
- #libc.src.math.truncl
-)
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.cbrtbf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # search.h entrypoints
+ libc.src.search.lfind
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # string.h entrypoints that depend on malloc
+ libc.src.string.strdup
+ libc.src.string.strndup
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bzero
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atof
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.malloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.realloc
+ libc.src.stdlib.free
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # fenv disabled on x86_64 MacOS for now.
+ # # fenv.h entrypoints
+ # libc.src.fenv.feclearexcept
+ # libc.src.fenv.fedisableexcept
+ # libc.src.fenv.feenableexcept
+ # libc.src.fenv.fegetenv
+ # libc.src.fenv.fegetexcept
+ # libc.src.fenv.fegetexceptflag
+ # libc.src.fenv.fegetround
+ # libc.src.fenv.feholdexcept
+ # libc.src.fenv.fesetenv
+ # libc.src.fenv.fesetexcept
+ # libc.src.fenv.fesetexceptflag
+ # libc.src.fenv.fesetround
+ # libc.src.fenv.feraiseexcept
+ # libc.src.fenv.fetestexcept
+ # libc.src.fenv.fetestexceptflag
+ # libc.src.fenv.feupdateenv
+
+ ## Currently disabled for failing tests.
+ # math.h entrypoints
+ #libc.src.math.atan2f128
+ #libc.src.math.copysign
+ #libc.src.math.copysignf
+ #libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ #libc.src.math.copysignl
+ #libc.src.math.ceil
+ #libc.src.math.ceilf
+ #libc.src.math.ceilf128
+ #libc.src.math.ceill
+ #libc.src.math.coshf
+ #libc.src.math.cosf
+ #libc.src.math.daddl
+ #libc.src.math.ddivl
+ #libc.src.math.dfmal
+ #libc.src.math.dsqrtl
+ #libc.src.math.dsubl
+ #libc.src.math.expf
+ #libc.src.math.exp2f
+ #libc.src.math.expm1f
+ #libc.src.math.fabs
+ #libc.src.math.fabsf
+ #libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ #libc.src.math.fabsl
+ #libc.src.math.fdim
+ #libc.src.math.fdimf
+ #libc.src.math.fdimf128
+ #libc.src.math.fdiml
+ #libc.src.math.fdiv
+ #libc.src.math.fdivl
+ #libc.src.math.ffma
+ #libc.src.math.ffmal
+ #libc.src.math.floor
+ #libc.src.math.floorf
+ #libc.src.math.floorf128
+ #libc.src.math.floorl
+ #libc.src.math.fma
+ #libc.src.math.fmabf16
+ #libc.src.math.fmaf
+ #libc.src.math.fmax
+ #libc.src.math.fmaxf
+ #libc.src.math.fmaxf128
+ #libc.src.math.fmaximum_mag_numf128
+ #libc.src.math.fmaximum_magf128
+ #libc.src.math.fmaximum_numf128
+ #libc.src.math.fmaximumf128
+ #libc.src.math.fmaxl
+ #libc.src.math.fmin
+ #libc.src.math.fminf
+ #libc.src.math.fminf128
+ #libc.src.math.fminimum_mag_numf128
+ #libc.src.math.fminimum_magf128
+ #libc.src.math.fminimum_numf128
+ #libc.src.math.fminimumf128
+ #libc.src.math.fminl
+ #libc.src.math.fmod
+ #libc.src.math.fmodf
+ #libc.src.math.frexp
+ #libc.src.math.frexpf
+ #libc.src.math.frexpl
+ #libc.src.math.fsub
+ #libc.src.math.fsubl
+ #libc.src.math.hypot
+ #libc.src.math.hypotf
+ #libc.src.math.ilogb
+ #libc.src.math.ilogbf
+ #libc.src.math.ilogbl
+ #libc.src.math.iscanonicalf128
+ #libc.src.math.isnanf128
+ #libc.src.math.issignalingf128
+ #libc.src.math.llrint
+ #libc.src.math.llrintf
+ #libc.src.math.llrintf128
+ #libc.src.math.llrintl
+ #libc.src.math.llround
+ #libc.src.math.llroundf
+ #libc.src.math.llroundf128
+ #libc.src.math.llroundl
+ #libc.src.math.lrint
+ #libc.src.math.lrintf
+ #libc.src.math.lrintf128
+ #libc.src.math.lrintl
+ #libc.src.math.lround
+ #libc.src.math.lroundf
+ #libc.src.math.lroundf128
+ #libc.src.math.lroundl
+ #libc.src.math.ldexp
+ #libc.src.math.ldexpf
+ #libc.src.math.ldexpl
+ #libc.src.math.log10f
+ #libc.src.math.log1pf
+ #libc.src.math.log2f
+ #libc.src.math.logf
+ #libc.src.math.logb
+ #libc.src.math.logbf
+ #libc.src.math.logbl
+ #libc.src.math.modf
+ #libc.src.math.modff
+ #libc.src.math.modfl
+ #libc.src.math.nan
+ #libc.src.math.nanf
+ #libc.src.math.nanl
+ #libc.src.math.nearbyint
+ #libc.src.math.nearbyintf
+ #libc.src.math.nearbyintf128
+ #libc.src.math.nearbyintl
+ #libc.src.math.nextafter
+ #libc.src.math.nextafterf
+ #libc.src.math.nextafterl
+ #libc.src.math.nexttoward
+ #libc.src.math.nexttowardf
+ #libc.src.math.nexttowardl
+ #libc.src.math.remainderf
+ #libc.src.math.remainder
+ #libc.src.math.remainderl
+ #libc.src.math.remquof
+ #libc.src.math.remquo
+ #libc.src.math.remquol
+ #libc.src.math.rint
+ #libc.src.math.rintf
+ #libc.src.math.rintf128
+ #libc.src.math.rintl
+ #libc.src.math.round
+ #libc.src.math.roundevenf128
+ #libc.src.math.roundf
+ #libc.src.math.roundf128
+ #libc.src.math.roundl
+ #libc.src.math.sincosf
+ #libc.src.math.sinhf
+ #libc.src.math.sinf
+ #libc.src.math.sqrt
+ #libc.src.math.sqrtf
+ #libc.src.math.sqrtf128
+ #libc.src.math.sqrtl
+ #libc.src.math.tanf
+ #libc.src.math.tanhf
+ #libc.src.math.totalordermag
+ #libc.src.math.totalordermagf
+ #libc.src.math.totalordermagl
+ #libc.src.math.trunc
+ #libc.src.math.truncf
+ #libc.src.math.truncf128
+ #libc.src.math.truncl
+)
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.cbrtbf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/freebsd/x86_64/entrypoints.txt b/libc/config/freebsd/x86_64/entrypoints.txt
index 8f6c178301c2f2..57b628e647577f 100644
--- a/libc/config/freebsd/x86_64/entrypoints.txt
+++ b/libc/config/freebsd/x86_64/entrypoints.txt
@@ -1,664 +1,666 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # string.h entrypoints that depend on malloc
- libc.src.string.strdup
- libc.src.string.strndup
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atoi
- libc.src.stdlib.atof
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.qsort
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.malloc
- libc.src.stdlib.calloc
- libc.src.stdlib.realloc
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.free
-
- # errno.h entrypoints
- libc.src.errno.errno
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignl
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.expf
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmaf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminl
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaxl
- libc.src.math.fmaximum
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fminimum
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fmul
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonicalf128
- libc.src.math.isnanf128
- libc.src.math.issignalingf128
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.log
- libc.src.math.logf
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainderf
- libc.src.math.remainder
- libc.src.math.remainderl
- libc.src.math.remquof
- libc.src.math.remquo
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundevenf128
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.sin
- libc.src.math.sincosf
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
-)
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- libc.src.math.acos
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrtbf16
- libc.src.math.cospif
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.exp10m1f
- libc.src.math.exp2m1f
- libc.src.math.fmabf16
- libc.src.math.fmull
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingl
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sincos
- libc.src.math.sinpif
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.acospif16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.asinpif16
- libc.src.math.atanf16
- libc.src.math.atan2f16
- libc.src.math.atanhf16
- libc.src.math.atanpif16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.erff16
- libc.src.math.erfcf16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.rsqrtf
- libc.src.math.rsqrtf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- libc.src.math.atan2l
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.atanbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-set(TARGET_LIBMVEC_ENTRYPOINTS)
-
-if(LIBC_COMPILER_HAS_EXT_VECTOR_TYPE)
- list(APPEND TARGET_LIBMVEC_ENTRYPOINTS
- libc.src.mathvec.expf
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
- ${TARGET_LIBMVEC_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # string.h entrypoints that depend on malloc
+ libc.src.string.strdup
+ libc.src.string.strndup
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atof
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.qsort
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.malloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.realloc
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.free
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.expf
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmaf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminl
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaxl
+ libc.src.math.fmaximum
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fminimum
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fmul
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonicalf128
+ libc.src.math.isnanf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.log
+ libc.src.math.logf
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainderf
+ libc.src.math.remainder
+ libc.src.math.remainderl
+ libc.src.math.remquof
+ libc.src.math.remquo
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundevenf128
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.sin
+ libc.src.math.sincosf
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+)
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ libc.src.math.acos
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrtbf16
+ libc.src.math.cospif
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.exp10m1f
+ libc.src.math.exp2m1f
+ libc.src.math.fmabf16
+ libc.src.math.fmull
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingl
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sincos
+ libc.src.math.sinpif
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.acospif16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.asinpif16
+ libc.src.math.atanf16
+ libc.src.math.atan2f16
+ libc.src.math.atanhf16
+ libc.src.math.atanpif16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.erff16
+ libc.src.math.erfcf16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.rsqrtf
+ libc.src.math.rsqrtf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ libc.src.math.atan2l
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.atanbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+set(TARGET_LIBMVEC_ENTRYPOINTS)
+
+if(LIBC_COMPILER_HAS_EXT_VECTOR_TYPE)
+ list(APPEND TARGET_LIBMVEC_ENTRYPOINTS
+ libc.src.mathvec.expf
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+ ${TARGET_LIBMVEC_ENTRYPOINTS}
+)
diff --git a/libc/config/gpu/amdgpu/entrypoints.txt b/libc/config/gpu/amdgpu/entrypoints.txt
index 2eaef608e9a7ac..857c9f3281ec2c 100644
--- a/libc/config/gpu/amdgpu/entrypoints.txt
+++ b/libc/config/gpu/amdgpu/entrypoints.txt
@@ -1,762 +1,764 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha
- libc.src.ctype.isalpha_l
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower
- libc.src.ctype.islower_l
- libc.src.ctype.isprint
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit
- libc.src.ctype.isxdigit_l
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper
- libc.src.ctype.toupper_l
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcoll_l
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.stdlib.strtod
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull
- libc.src.stdlib.strtoull_l
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.quick_exit
- libc.src.stdlib.getenv
- libc.src.stdlib.system
-
- # TODO: Implement these correctly
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.realloc
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.fclose
- libc.src.stdio.printf
- libc.src.stdio.vprintf
- libc.src.stdio.fprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.asprintf
- libc.src.stdio.vasprintf
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.sscanf
- libc.src.stdio.vsscanf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fopen
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fseek
- libc.src.stdio.ftell
- libc.src.stdio.fwrite
- libc.src.stdio.getc
- libc.src.stdio.getchar
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # time.h entrypoints
- libc.src.time.clock
- libc.src.time.clock_gettime
- libc.src.time.timespec_get
- libc.src.time.nanosleep
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.mktime
-
- # wchar.h entrypoints
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan2l
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonicalf128
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignalingf128
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgamma
- libc.src.math.lgamma_r
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.round
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.tgamma
- libc.src.math.tgammaf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.acospif16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.atanf16
- libc.src.math.atan2f16
- libc.src.math.atanhf16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.erff16
- libc.src.math.erfcf16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- # libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper
+ libc.src.ctype.toupper_l
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcoll_l
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull
+ libc.src.stdlib.strtoull_l
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.quick_exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.system
+
+ # TODO: Implement these correctly
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.realloc
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.fclose
+ libc.src.stdio.printf
+ libc.src.stdio.vprintf
+ libc.src.stdio.fprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.vasprintf
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.sscanf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fopen
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fseek
+ libc.src.stdio.ftell
+ libc.src.stdio.fwrite
+ libc.src.stdio.getc
+ libc.src.stdio.getchar
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # time.h entrypoints
+ libc.src.time.clock
+ libc.src.time.clock_gettime
+ libc.src.time.timespec_get
+ libc.src.time.nanosleep
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.mktime
+
+ # wchar.h entrypoints
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan2l
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonicalf128
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignalingf128
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgamma
+ libc.src.math.lgamma_r
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.round
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.tgamma
+ libc.src.math.tgammaf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.acospif16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.atanf16
+ libc.src.math.atan2f16
+ libc.src.math.atanhf16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.erff16
+ libc.src.math.erfcf16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ # libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/gpu/nvptx/entrypoints.txt b/libc/config/gpu/nvptx/entrypoints.txt
index 79d0c733ec3c01..861e83f6c9089e 100644
--- a/libc/config/gpu/nvptx/entrypoints.txt
+++ b/libc/config/gpu/nvptx/entrypoints.txt
@@ -1,778 +1,780 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha
- libc.src.ctype.isalpha_l
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower
- libc.src.ctype.islower_l
- libc.src.ctype.isprint
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit
- libc.src.ctype.isxdigit_l
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper
- libc.src.ctype.toupper_l
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcoll_l
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.stdlib.strtod
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull
- libc.src.stdlib.strtoull_l
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.quick_exit
- libc.src.stdlib.getenv
- libc.src.stdlib.system
-
- # TODO: Implement these correctly
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.realloc
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.fclose
- libc.src.stdio.printf
- libc.src.stdio.vprintf
- libc.src.stdio.fprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.asprintf
- libc.src.stdio.vasprintf
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.sscanf
- libc.src.stdio.vsscanf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fopen
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fseek
- libc.src.stdio.ftell
- libc.src.stdio.fwrite
- libc.src.stdio.getc
- libc.src.stdio.getchar
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # time.h entrypoints
- libc.src.time.clock
- libc.src.time.clock_gettime
- libc.src.time.timespec_get
- libc.src.time.nanosleep
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.mktime
-
- # wchar.h entrypoints
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan2l
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- # FIXME: Broken.
- # libc.src.math.fromfp
- # libc.src.math.fromfpf
- # libc.src.math.fromfpl
- # libc.src.math.fromfpx
- # libc.src.math.fromfpxf
- # libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonicalf128
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignalingf128
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgamma
- libc.src.math.lgamma_r
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.round
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.tgamma
- libc.src.math.tgammaf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- # FIXME: Broken.
- # libc.src.math.ufromfp
- # libc.src.math.ufromfpf
- # libc.src.math.ufromfpl
- # libc.src.math.ufromfpx
- # libc.src.math.ufromfpxf
- # libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.acospif16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.atanf16
- libc.src.math.atan2f16
- libc.src.math.atanhf16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.erff16
- libc.src.math.erfcf16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper
+ libc.src.ctype.toupper_l
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcoll_l
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull
+ libc.src.stdlib.strtoull_l
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.quick_exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.system
+
+ # TODO: Implement these correctly
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.realloc
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.fclose
+ libc.src.stdio.printf
+ libc.src.stdio.vprintf
+ libc.src.stdio.fprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.vasprintf
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.sscanf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fopen
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fseek
+ libc.src.stdio.ftell
+ libc.src.stdio.fwrite
+ libc.src.stdio.getc
+ libc.src.stdio.getchar
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # time.h entrypoints
+ libc.src.time.clock
+ libc.src.time.clock_gettime
+ libc.src.time.timespec_get
+ libc.src.time.nanosleep
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.mktime
+
+ # wchar.h entrypoints
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan2l
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ # FIXME: Broken.
+ # libc.src.math.fromfp
+ # libc.src.math.fromfpf
+ # libc.src.math.fromfpl
+ # libc.src.math.fromfpx
+ # libc.src.math.fromfpxf
+ # libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonicalf128
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignalingf128
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgamma
+ libc.src.math.lgamma_r
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.round
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.tgamma
+ libc.src.math.tgammaf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ # FIXME: Broken.
+ # libc.src.math.ufromfp
+ # libc.src.math.ufromfpf
+ # libc.src.math.ufromfpl
+ # libc.src.math.ufromfpx
+ # libc.src.math.ufromfpxf
+ # libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.acospif16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.atanf16
+ libc.src.math.atan2f16
+ libc.src.math.atanhf16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.erff16
+ libc.src.math.erfcf16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt
index ae4d060ad2e65c..11a6bc689a6a27 100644
--- a/libc/config/linux/aarch64/entrypoints.txt
+++ b/libc/config/linux/aarch64/entrypoints.txt
@@ -1,1609 +1,1611 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # dlfcn.h entrypoints
- libc.src.dlfcn.dlclose
- libc.src.dlfcn.dlerror
- libc.src.dlfcn.dlopen
- libc.src.dlfcn.dlsym
-
- # err.h entrypoints
- libc.src.err.err
- libc.src.err.verr
- libc.src.err.errx
- libc.src.err.verrx
- libc.src.err.warn
- libc.src.err.vwarn
- libc.src.err.warnx
- libc.src.err.vwarnx
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # fcntl.h entrypoints
- libc.src.fcntl.creat
- libc.src.fcntl.fallocate
- libc.src.fcntl.fcntl
- libc.src.fcntl.open
- libc.src.fcntl.openat
- libc.src.fcntl.posix_fadvise
- libc.src.fcntl.posix_fadvise64
- libc.src.fcntl.posix_fallocate
-
- # grp.h entrypoints
- libc.src.grp.endgrent
- libc.src.grp.getgrent
- libc.src.grp.getgrgid
- libc.src.grp.getgrgid_r
- libc.src.grp.getgrouplist
- libc.src.grp.getgrnam
- libc.src.grp.getgrnam_r
- libc.src.grp.setgrent
-
- # poll.h entrypoints
- libc.src.poll.poll
- libc.src.poll.ppoll
-
- # pwd.h entrypoints
- libc.src.pwd.endpwent
- libc.src.pwd.getpwent
- libc.src.pwd.getpwent_r
- libc.src.pwd.getpwnam
- libc.src.pwd.getpwnam_r
- libc.src.pwd.getpwuid
- libc.src.pwd.getpwuid_r
- libc.src.pwd.setpwent
-
- # sched.h entrypoints
- libc.src.sched.sched_get_priority_max
- libc.src.sched.sched_get_priority_min
- libc.src.sched.sched_getaffinity
- libc.src.sched.sched_getcpu
- libc.src.sched.sched_getparam
- libc.src.sched.sched_getscheduler
- libc.src.sched.sched_rr_get_interval
- libc.src.sched.sched_setaffinity
- libc.src.sched.sched_setparam
- libc.src.sched.sched_setscheduler
- libc.src.sched.sched_yield
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strsignal
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # libgen.h entrypoints
- libc.src.libgen.basename
- libc.src.libgen.dirname
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.getloadavg
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.mkdtemp
- libc.src.stdlib.mkostemp
- libc.src.stdlib.mkstemp
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realpath
- libc.src.stdlib.srand
- libc.src.stdlib.strfromd
- libc.src.stdlib.strfromf
- libc.src.stdlib.strfromf128
- # TODO: long double support is buggy with clang-11. Re-enable when buildbots are upgraded.
- # libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.posix_memalign
- libc.src.stdlib.realloc
-
- # stdio.h entrypoints
- libc.src.stdio.fprintf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.printf
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.renameat
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.asprintf
- libc.src.stdio.sscanf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.tmpfile
- libc.src.stdio.tmpnam
- libc.src.stdio.vsscanf
- libc.src.stdio.vfprintf
- libc.src.stdio.vprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vasprintf
-
- # sys/epoll.h entrypoints
- libc.src.sys.epoll.epoll_create
- libc.src.sys.epoll.epoll_create1
- libc.src.sys.epoll.epoll_ctl
- libc.src.sys.epoll.epoll_pwait
- libc.src.sys.epoll.epoll_wait
- # TODO: Need to check if pwait2 is available before providing.
- # https://github.com/llvm/llvm-project/issues/80060
- # libc.src.sys.epoll.epoll_pwait2
-
- # sys/eventfd.h entrypoints
- libc.src.sys.eventfd.eventfd
-
- # sys/file.h entrypoints
- libc.src.sys.file.flock
-
- # sys/ioctl.h entrypoints
- libc.src.sys.ioctl.ioctl
-
- # sys/mman.h entrypoints
- libc.src.sys.mman.madvise
- libc.src.sys.mman.memfd_create
- libc.src.sys.mman.mincore
- libc.src.sys.mman.mlock
- libc.src.sys.mman.mlock2
- libc.src.sys.mman.mlockall
- libc.src.sys.mman.mmap
- libc.src.sys.mman.mremap
- libc.src.sys.mman.mprotect
- libc.src.sys.mman.msync
- libc.src.sys.mman.munlock
- libc.src.sys.mman.munlockall
- libc.src.sys.mman.munmap
- libc.src.sys.mman.remap_file_pages
- libc.src.sys.mman.posix_madvise
- libc.src.sys.mman.shm_open
- libc.src.sys.mman.shm_unlink
-
- # sys/random.h entrypoints
- libc.src.sys.random.getrandom
- libc.src.sys.random.getentropy
-
- # sys/resource.h entrypoints
- libc.src.sys.resource.getpriority
- libc.src.sys.resource.getrlimit
- libc.src.sys.resource.getrusage
- libc.src.sys.resource.setpriority
- libc.src.sys.resource.setrlimit
-
- # sys/sendfile.h entrypoints
- libc.src.sys.sendfile.sendfile
-
- # sys/socket.h entrypoints
- libc.src.sys.socket.accept
- libc.src.sys.socket.accept4
- libc.src.sys.socket.bind
- libc.src.sys.socket.connect
- libc.src.sys.socket.getpeername
- libc.src.sys.socket.getsockname
- libc.src.sys.socket.getsockopt
- libc.src.sys.socket.listen
- libc.src.sys.socket.recv
- libc.src.sys.socket.recvfrom
- libc.src.sys.socket.send
- libc.src.sys.socket.sendto
- libc.src.sys.socket.setsockopt
- libc.src.sys.socket.shutdown
- libc.src.sys.socket.sockatmark
- libc.src.sys.socket.socket
- libc.src.sys.socket.socketpair
- # TODO: These functions are not compatible with 64-bit musl. They need to
- # be excluded if overlaying musl.
- libc.src.sys.socket.recvmmsg
- libc.src.sys.socket.recvmsg
- libc.src.sys.socket.sendmmsg
- libc.src.sys.socket.sendmsg
-
- # sys/stat.h entrypoints
- libc.src.sys.stat.chmod
- libc.src.sys.stat.fchmod
- libc.src.sys.stat.fchmodat
- libc.src.sys.stat.fstat
- libc.src.sys.stat.fstatat
- libc.src.sys.stat.futimens
- libc.src.sys.stat.lstat
- libc.src.sys.stat.mkdir
- libc.src.sys.stat.mkdirat
- libc.src.sys.stat.mkfifo
- libc.src.sys.stat.mkfifoat
- libc.src.sys.stat.mknod
- libc.src.sys.stat.mknodat
- libc.src.sys.stat.stat
- libc.src.sys.stat.umask
- libc.src.sys.stat.utimensat
-
- # sys/statfs.h entrypoints
- libc.src.sys.statfs.fstatfs
- libc.src.sys.statfs.statfs
-
- # sys/statvfs.h entrypoints
- libc.src.sys.statvfs.fstatvfs
- libc.src.sys.statvfs.statvfs
-
- # sys/sysinfo.h entrypoints
- libc.src.sys.sysinfo.sysinfo
-
- # sys/utsname.h entrypoints
- libc.src.sys.utsname.uname
-
- # sys/wait.h entrypoints
- libc.src.sys.wait.wait
- libc.src.sys.wait.wait4
- libc.src.sys.wait.waitid
- libc.src.sys.wait.waitpid
-
- # sys/xattr.h entrypoints
- libc.src.sys.xattr.fgetxattr
- libc.src.sys.xattr.flistxattr
- libc.src.sys.xattr.fsetxattr
- libc.src.sys.xattr.getxattr
- libc.src.sys.xattr.lgetxattr
- libc.src.sys.xattr.listxattr
- libc.src.sys.xattr.llistxattr
- libc.src.sys.xattr.lsetxattr
- libc.src.sys.xattr.setxattr
-
- # sys/prctl.h entrypoints
- libc.src.sys.prctl.prctl
-
- # sys/personality.h entrypoints
- libc.src.sys.personality.personality
-
- # sys/auxv.h entrypoints
- libc.src.sys.auxv.getauxval
-
- # sys/sysmacros.h entrypoints
- libc.src.sys.sysmacros.makedev
- libc.src.sys.sysmacros.major
- libc.src.sys.sysmacros.minor
-
- # sys/inotify.h entrypoints
- libc.src.sys.inotify.inotify_add_watch
- libc.src.sys.inotify.inotify_init
- libc.src.sys.inotify.inotify_init1
- libc.src.sys.inotify.inotify_rm_watch
-
- # termios.h entrypoints
- libc.src.termios.cfgetispeed
- libc.src.termios.cfgetospeed
- libc.src.termios.cfsetispeed
- libc.src.termios.cfsetospeed
- libc.src.termios.tcdrain
- libc.src.termios.tcflow
- libc.src.termios.tcflush
- libc.src.termios.tcgetattr
- libc.src.termios.tcgetsid
- libc.src.termios.tcgetwinsize
- libc.src.termios.tcsendbreak
- libc.src.termios.tcsetattr
- libc.src.termios.tcsetwinsize
-
- # unistd.h entrypoints
- libc.src.unistd.alarm
- libc.src.unistd.access
- libc.src.unistd.chdir
- libc.src.unistd.chown
- libc.src.unistd.chroot
- libc.src.unistd.close
- libc.src.unistd.dup
- libc.src.unistd.dup2
- libc.src.unistd.dup3
- libc.src.unistd.execle
- libc.src.unistd.execve
- libc.src.unistd.faccessat
- libc.src.unistd.fchdir
- libc.src.unistd.fchown
- libc.src.unistd.fchownat
- libc.src.unistd.fdatasync
- libc.src.unistd.fexecve
- libc.src.unistd.fpathconf
- libc.src.unistd.fsync
- libc.src.unistd.ftruncate
- libc.src.unistd.getcwd
- libc.src.unistd.getegid
- libc.src.unistd.getentropy
- libc.src.unistd.geteuid
- libc.src.unistd.gethostname
- libc.src.unistd.getpagesize
- libc.src.unistd.getpgid
- libc.src.unistd.getpgrp
- libc.src.unistd.getpid
- libc.src.unistd.getppid
- libc.src.unistd.getsid
- libc.src.unistd.gettid
- libc.src.unistd.getgid
- libc.src.unistd.getuid
- libc.src.unistd.isatty
- libc.src.unistd.lchown
- libc.src.unistd.link
- libc.src.unistd.linkat
- libc.src.unistd.lockf
- libc.src.unistd.lseek
- libc.src.unistd.nice
- libc.src.unistd.pathconf
- libc.src.unistd.pause
- libc.src.unistd.pipe
- libc.src.unistd.pipe2
- libc.src.unistd.pread
- libc.src.unistd.pwrite
- libc.src.unistd.read
- libc.src.unistd.readlink
- libc.src.unistd.readlinkat
- libc.src.unistd.rmdir
- libc.src.unistd.setpgid
- libc.src.unistd.setsid
- libc.src.unistd.sleep
- libc.src.unistd.symlink
- libc.src.unistd.symlinkat
- libc.src.unistd.sync
- libc.src.unistd.syncfs
- libc.src.unistd.tcgetpgrp
- libc.src.unistd.tcsetpgrp
- libc.src.unistd.truncate
- libc.src.unistd.unlink
- libc.src.unistd.unlinkat
- libc.src.unistd.usleep
- libc.src.unistd.write
-
- # wchar.h entrypoints
- libc.src.wchar.wcscasecmp
- libc.src.wchar.wcsncasecmp
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
- libc.src.wctype.towlower
- libc.src.wctype.towupper
-
- # sys/uio.h entrypoints
- libc.src.sys.uio.writev
- libc.src.sys.uio.readv
-
- # sys/time.h entrypoints
- libc.src.sys.time.setitimer
- libc.src.sys.time.getitimer
- libc.src.sys.time.gettimeofday
-)
-
-if(LLVM_LIBC_INCLUDE_SCUDO)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # malloc.h external entrypoints
- libc.src.stdlib.mallopt
- )
-endif()
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acoshf16
- libc.src.math.asinpif16
- libc.src.math.atan2f16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cospif16
- libc.src.math.erff16
- libc.src.math.erfcf16
- libc.src.math.expf16
- libc.src.math.f16add
- libc.src.math.f16addf
- # libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- # libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- # libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- # libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- # libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- # libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- # libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10p1f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- # libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- # Temporarily disable nexttowardf16 on aarch64 because the conversion
- # between _Float16 and long double will crash clang-11. This is fixed in
- # clang-12 and after: https://godbolt.org/z/8ceT9454c
- # libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.rsqrtf
- libc.src.math.rsqrtf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- # if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- # list(APPEND TARGET_LIBM_ENTRYPOINTS
- # # math.h C23 mixed _Float16 and _Float128 entrypoints
- # libc.src.math.f16addf128
- # libc.src.math.f16divf128
- # libc.src.math.f16fmaf128
- # libc.src.math.f16mulf128
- # libc.src.math.f16sqrtf128
- # libc.src.math.f16subf128
- # )
- # endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # dirent.h entrypoints
- libc.src.dirent.alphasort
- libc.src.dirent.closedir
- libc.src.dirent.dirfd
- libc.src.dirent.opendir
- libc.src.dirent.readdir
- libc.src.dirent.scandir
- libc.src.dirent.fdopendir
-
- # errno.h entrypoints
- libc.src.errno.program_invocation_name
- libc.src.errno.program_invocation_short_name
-
- # arpa/inet.h entrypoints
- libc.src.arpa.inet.htonl
- libc.src.arpa.inet.htons
- libc.src.arpa.inet.inet_addr
- libc.src.arpa.inet.inet_aton
- libc.src.arpa.inet.inet_ntoa
- libc.src.arpa.inet.inet_ntop
- libc.src.arpa.inet.inet_pton
- libc.src.arpa.inet.ntohl
- libc.src.arpa.inet.ntohs
-
- # net/if.h entrypoints
- libc.src.net.if_indextoname
- libc.src.net.if_nametoindex
-
- # netinet/ether.h entrypoints
- libc.src.netinet.ether.ether_ntoa
- libc.src.netinet.ether.ether_ntoa_r
-
- # netinet/in.h entrypoints
- libc.src.netinet.in6addr_any
- libc.src.netinet.in6addr_loopback
-
- # pthread.h entrypoints
- libc.src.pthread.__pthread_cleanup_pop
- libc.src.pthread.__pthread_cleanup_push
- libc.src.pthread.pthread_atfork
- libc.src.pthread.pthread_attr_destroy
- libc.src.pthread.pthread_attr_getdetachstate
- libc.src.pthread.pthread_attr_getguardsize
- libc.src.pthread.pthread_attr_getinheritsched
- libc.src.pthread.pthread_attr_getschedparam
- libc.src.pthread.pthread_attr_getschedpolicy
- libc.src.pthread.pthread_attr_getscope
- libc.src.pthread.pthread_attr_getstack
- libc.src.pthread.pthread_attr_getstacksize
- libc.src.pthread.pthread_attr_init
- libc.src.pthread.pthread_attr_setdetachstate
- libc.src.pthread.pthread_attr_setguardsize
- libc.src.pthread.pthread_attr_setinheritsched
- libc.src.pthread.pthread_attr_setschedparam
- libc.src.pthread.pthread_attr_setschedpolicy
- libc.src.pthread.pthread_attr_setscope
- libc.src.pthread.pthread_attr_setstack
- libc.src.pthread.pthread_attr_setstacksize
- libc.src.pthread.pthread_condattr_destroy
- libc.src.pthread.pthread_condattr_getclock
- libc.src.pthread.pthread_condattr_getpshared
- libc.src.pthread.pthread_condattr_init
- libc.src.pthread.pthread_condattr_setclock
- libc.src.pthread.pthread_condattr_setpshared
- libc.src.pthread.pthread_cond_broadcast
- libc.src.pthread.pthread_cond_clockwait
- libc.src.pthread.pthread_cond_destroy
- libc.src.pthread.pthread_cond_init
- libc.src.pthread.pthread_cond_signal
- libc.src.pthread.pthread_cond_timedwait
- libc.src.pthread.pthread_cond_wait
- libc.src.pthread.pthread_create
- libc.src.pthread.pthread_detach
- libc.src.pthread.pthread_equal
- libc.src.pthread.pthread_exit
- libc.src.pthread.pthread_getattr_np
- libc.src.pthread.pthread_getname_np
- libc.src.pthread.pthread_getschedparam
- libc.src.pthread.pthread_getspecific
- libc.src.pthread.pthread_getstack_np
- libc.src.pthread.pthread_getthreadid_np
- libc.src.pthread.pthread_getunique_np
- libc.src.pthread.pthread_join
- libc.src.pthread.pthread_key_create
- libc.src.pthread.pthread_key_delete
- libc.src.pthread.pthread_mutex_destroy
- libc.src.pthread.pthread_mutex_init
- libc.src.pthread.pthread_mutex_lock
- libc.src.pthread.pthread_mutex_trylock
- libc.src.pthread.pthread_mutex_unlock
- libc.src.pthread.pthread_mutexattr_destroy
- libc.src.pthread.pthread_mutexattr_getpshared
- libc.src.pthread.pthread_mutexattr_getrobust
- libc.src.pthread.pthread_mutexattr_gettype
- libc.src.pthread.pthread_mutexattr_init
- libc.src.pthread.pthread_mutexattr_setpshared
- libc.src.pthread.pthread_mutexattr_setrobust
- libc.src.pthread.pthread_mutexattr_settype
- libc.src.pthread.pthread_once
- libc.src.pthread.pthread_rwlock_clockrdlock
- libc.src.pthread.pthread_rwlock_clockwrlock
- libc.src.pthread.pthread_rwlock_destroy
- libc.src.pthread.pthread_rwlock_init
- libc.src.pthread.pthread_rwlock_rdlock
- libc.src.pthread.pthread_rwlock_timedrdlock
- libc.src.pthread.pthread_rwlock_timedwrlock
- libc.src.pthread.pthread_rwlock_tryrdlock
- libc.src.pthread.pthread_rwlock_trywrlock
- libc.src.pthread.pthread_rwlock_unlock
- libc.src.pthread.pthread_rwlock_wrlock
- libc.src.pthread.pthread_rwlockattr_destroy
- libc.src.pthread.pthread_rwlockattr_getkind_np
- libc.src.pthread.pthread_rwlockattr_getpshared
- libc.src.pthread.pthread_rwlockattr_init
- libc.src.pthread.pthread_rwlockattr_setkind_np
- libc.src.pthread.pthread_rwlockattr_setpshared
- libc.src.pthread.pthread_spin_destroy
- libc.src.pthread.pthread_spin_init
- libc.src.pthread.pthread_spin_lock
- libc.src.pthread.pthread_spin_trylock
- libc.src.pthread.pthread_spin_unlock
- libc.src.pthread.pthread_self
- libc.src.pthread.pthread_setname_np
- libc.src.pthread.pthread_setschedparam
- libc.src.pthread.pthread_setspecific
-
- # sched.h entrypoints
- libc.src.sched.clone
- libc.src.sched.__sched_andcpuset
- libc.src.sched.__sched_clrcpuset
- libc.src.sched.__sched_cpualloc
- libc.src.sched.__sched_cpuequal
- libc.src.sched.__sched_cpufree
- libc.src.sched.__sched_getcpucount
- libc.src.sched.__sched_getcpuisset
- libc.src.sched.__sched_orcpuset
- libc.src.sched.__sched_setcpuset
- libc.src.sched.__sched_setcpuzero
- libc.src.sched.__sched_xorcpuset
-
- # semaphore.h entrypoints
- libc.src.semaphore.sem_clockwait
- libc.src.semaphore.sem_close
- libc.src.semaphore.sem_destroy
- libc.src.semaphore.sem_getvalue
- libc.src.semaphore.sem_init
- libc.src.semaphore.sem_open
- libc.src.semaphore.sem_post
- libc.src.semaphore.sem_timedwait
- libc.src.semaphore.sem_trywait
- libc.src.semaphore.sem_unlink
- libc.src.semaphore.sem_wait
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.clearerr_unlocked
- libc.src.stdio.fclose
- libc.src.stdio.fdopen
- libc.src.stdio.feof
- libc.src.stdio.feof_unlocked
- libc.src.stdio.ferror
- libc.src.stdio.ferror_unlocked
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgetc_unlocked
- libc.src.stdio.fgetpos
- libc.src.stdio.fgets
- libc.src.stdio.fileno
- libc.src.stdio.flockfile
- libc.src.stdio.fmemopen
- libc.src.stdio.fopen
- libc.src.stdio.freopen
- libc.src.stdio.fopencookie
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fread_unlocked
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.fsetpos
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.funlockfile
- libc.src.stdio.fwrite
- libc.src.stdio.fwrite_unlocked
- libc.src.stdio.getc
- libc.src.stdio.getc_unlocked
- libc.src.stdio.getchar
- libc.src.stdio.getchar_unlocked
- libc.src.stdio.pclose
- libc.src.stdio.perror
- libc.src.stdio.popen
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.rewind
- libc.src.stdio.setbuf
- libc.src.stdio.setvbuf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # stdlib.h entrypoints
- libc.src.stdlib.__cxa_thread_atexit_impl
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.atexit
- libc.src.stdlib.clearenv
- libc.src.stdlib.exit
- libc.src.stdlib.getenv
- libc.src.stdlib.putenv
- libc.src.stdlib.secure_getenv
- libc.src.stdlib.setenv
- libc.src.stdlib.system
- libc.src.stdlib.unsetenv
- libc.src.stdlib.quick_exit
-
- # signal.h entrypoints
- libc.src.signal.kill
- libc.src.signal.pthread_kill
- libc.src.signal.pthread_sigmask
- libc.src.signal.raise
- libc.src.signal.sigaction
- libc.src.signal.sigaddset
- libc.src.signal.sigaltstack
- libc.src.signal.sigdelset
- libc.src.signal.sigemptyset
- libc.src.signal.sigfillset
- libc.src.signal.sigismember
- libc.src.signal.signal
- libc.src.signal.sigprocmask
-
- # spawn.h entrypoints
- libc.src.spawn.posix_spawn
- libc.src.spawn.posix_spawn_file_actions_addclose
- libc.src.spawn.posix_spawn_file_actions_adddup2
- libc.src.spawn.posix_spawn_file_actions_addopen
- libc.src.spawn.posix_spawn_file_actions_destroy
- libc.src.spawn.posix_spawn_file_actions_init
-
- # search.h entrypoints
- libc.src.search.hcreate
- libc.src.search.hcreate_r
- libc.src.search.hdestroy
- libc.src.search.hdestroy_r
- libc.src.search.hsearch
- libc.src.search.hsearch_r
- libc.src.search.insque
- libc.src.search.lfind
- libc.src.search.lsearch
- libc.src.search.remque
- libc.src.search.tdelete
- libc.src.search.tdestroy
- libc.src.search.tfind
- libc.src.search.tsearch
- libc.src.search.twalk
- libc.src.search.twalk_r
-
- # threads.h entrypoints
- libc.src.threads.call_once
- libc.src.threads.cnd_broadcast
- libc.src.threads.cnd_destroy
- libc.src.threads.cnd_init
- libc.src.threads.cnd_signal
- libc.src.threads.cnd_timedwait
- libc.src.threads.cnd_wait
- libc.src.threads.mtx_destroy
- libc.src.threads.mtx_init
- libc.src.threads.mtx_lock
- libc.src.threads.mtx_trylock
- libc.src.threads.mtx_unlock
- libc.src.threads.thrd_create
- libc.src.threads.thrd_current
- libc.src.threads.thrd_detach
- libc.src.threads.thrd_equal
- libc.src.threads.thrd_exit
- libc.src.threads.thrd_join
- libc.src.threads.tss_create
- libc.src.threads.tss_delete
- libc.src.threads.tss_get
- libc.src.threads.tss_set
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.clock
- libc.src.time.clock_getcpuclockid
- libc.src.time.clock_getres
- libc.src.time.clock_gettime
- libc.src.time.clock_settime
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.mktime
- libc.src.time.nanosleep
- libc.src.time.time
- libc.src.time.timespec_get
- libc.src.time.timer_create
- libc.src.time.timer_delete
- libc.src.time.timer_getoverrun
- libc.src.time.timer_gettime
- libc.src.time.timer_settime
-
- # unistd.h entrypoints
- libc.src.unistd.__llvm_libc_syscall
- libc.src.unistd._exit
- libc.src.unistd.confstr
- libc.src.unistd.environ
- libc.src.unistd.execl
- libc.src.unistd.execlp
- libc.src.unistd.execv
- libc.src.unistd.execvp
- libc.src.unistd.execvpe
- libc.src.unistd.fork
- libc.src.unistd.getopt
- libc.src.unistd.optarg
- libc.src.unistd.opterr
- libc.src.unistd.optind
- libc.src.unistd.optopt
- libc.src.unistd.swab
- libc.src.unistd.sysconf
-
- # sys/select.h entrypoints
- libc.src.sys.select.pselect
- libc.src.sys.select.select
-
- # link.h entrypoints
- libc.src.link._r_debug
- libc.src.link.dl_iterate_phdr
-
- # wchar.h entrypoints
- libc.src.wchar.fgetwc
- libc.src.wchar.fgetws
- libc.src.wchar.fputwc
- libc.src.wchar.fputws
- libc.src.wchar.fwide
- libc.src.wchar.getwc
- libc.src.wchar.getwchar
- libc.src.wchar.putwc
- libc.src.wchar.putwchar
- libc.src.wchar.ungetwc
- )
-endif()
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # fnmatch.h entrypoints
- libc.src.fnmatch.fnmatch
-
- # glob.h entrypoints
- libc.src.glob.glob
- libc.src.glob.globfree
-
- # grp.h entrypoints
- libc.src.grp.initgroups
- libc.src.grp.setgroups
-
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # net/if.h entrypoints
- libc.src.net.if_freenameindex
- libc.src.net.if_nameindex
-
- # netdb.h entrypoints
- libc.src.netdb.freeaddrinfo
- libc.src.netdb.gai_strerror
- libc.src.netdb.getaddrinfo
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
-
- # sys/ptrace.h entrypoints
- libc.src.sys.ptrace.ptrace
-
- # time.h entrypoints
- libc.src.time.strptime
- libc.src.time.tz_variables
- libc.src.time.tzset
-
- # unistd.h entrypoints
- libc.src.unistd.setegid
- libc.src.unistd.seteuid
- libc.src.unistd.setgid
- libc.src.unistd.setregid
- libc.src.unistd.setresgid
- libc.src.unistd.setresuid
- libc.src.unistd.setreuid
- libc.src.unistd.setuid
-
- # wchar.h entrypoints
- libc.src.wchar.swprintf
- )
- endif()
-endif()
-
-set(TARGET_LIBMVEC_ENTRYPOINTS)
-
-if(LIBC_COMPILER_HAS_EXT_VECTOR_TYPE)
- list(APPEND TARGET_LIBMVEC_ENTRYPOINTS
- libc.src.mathvec.acosf
- libc.src.mathvec.acoshf
- libc.src.mathvec.acospif
- libc.src.mathvec.asinf
- libc.src.mathvec.asinhf
- libc.src.mathvec.asinpif
- libc.src.mathvec.atanf
- libc.src.mathvec.atanhf
- libc.src.mathvec.cbrtf
- libc.src.mathvec.cosf
- libc.src.mathvec.coshf
- libc.src.mathvec.cospif
- libc.src.mathvec.erff
- libc.src.mathvec.exp2f
- libc.src.mathvec.exp2m1f
- libc.src.mathvec.exp10f
- libc.src.mathvec.exp10m1f
- libc.src.mathvec.expf
- libc.src.mathvec.expm1f
- libc.src.mathvec.log10f
- libc.src.mathvec.log1pf
- libc.src.mathvec.log2f
- libc.src.mathvec.logf
- libc.src.mathvec.rsqrtf
- libc.src.mathvec.sinf
- libc.src.mathvec.sinhf
- libc.src.mathvec.sinpif
- libc.src.mathvec.sqrtf
- libc.src.mathvec.tanf
- libc.src.mathvec.tanhf
- libc.src.mathvec.tanpif
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
- ${TARGET_LIBMVEC_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # dlfcn.h entrypoints
+ libc.src.dlfcn.dlclose
+ libc.src.dlfcn.dlerror
+ libc.src.dlfcn.dlopen
+ libc.src.dlfcn.dlsym
+
+ # err.h entrypoints
+ libc.src.err.err
+ libc.src.err.verr
+ libc.src.err.errx
+ libc.src.err.verrx
+ libc.src.err.warn
+ libc.src.err.vwarn
+ libc.src.err.warnx
+ libc.src.err.vwarnx
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # fcntl.h entrypoints
+ libc.src.fcntl.creat
+ libc.src.fcntl.fallocate
+ libc.src.fcntl.fcntl
+ libc.src.fcntl.open
+ libc.src.fcntl.openat
+ libc.src.fcntl.posix_fadvise
+ libc.src.fcntl.posix_fadvise64
+ libc.src.fcntl.posix_fallocate
+
+ # grp.h entrypoints
+ libc.src.grp.endgrent
+ libc.src.grp.getgrent
+ libc.src.grp.getgrgid
+ libc.src.grp.getgrgid_r
+ libc.src.grp.getgrouplist
+ libc.src.grp.getgrnam
+ libc.src.grp.getgrnam_r
+ libc.src.grp.setgrent
+
+ # poll.h entrypoints
+ libc.src.poll.poll
+ libc.src.poll.ppoll
+
+ # pwd.h entrypoints
+ libc.src.pwd.endpwent
+ libc.src.pwd.getpwent
+ libc.src.pwd.getpwent_r
+ libc.src.pwd.getpwnam
+ libc.src.pwd.getpwnam_r
+ libc.src.pwd.getpwuid
+ libc.src.pwd.getpwuid_r
+ libc.src.pwd.setpwent
+
+ # sched.h entrypoints
+ libc.src.sched.sched_get_priority_max
+ libc.src.sched.sched_get_priority_min
+ libc.src.sched.sched_getaffinity
+ libc.src.sched.sched_getcpu
+ libc.src.sched.sched_getparam
+ libc.src.sched.sched_getscheduler
+ libc.src.sched.sched_rr_get_interval
+ libc.src.sched.sched_setaffinity
+ libc.src.sched.sched_setparam
+ libc.src.sched.sched_setscheduler
+ libc.src.sched.sched_yield
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strsignal
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # libgen.h entrypoints
+ libc.src.libgen.basename
+ libc.src.libgen.dirname
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.getloadavg
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.mkdtemp
+ libc.src.stdlib.mkostemp
+ libc.src.stdlib.mkstemp
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realpath
+ libc.src.stdlib.srand
+ libc.src.stdlib.strfromd
+ libc.src.stdlib.strfromf
+ libc.src.stdlib.strfromf128
+ # TODO: long double support is buggy with clang-11. Re-enable when buildbots are upgraded.
+ # libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.posix_memalign
+ libc.src.stdlib.realloc
+
+ # stdio.h entrypoints
+ libc.src.stdio.fprintf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.printf
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.renameat
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.tmpfile
+ libc.src.stdio.tmpnam
+ libc.src.stdio.vsscanf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vasprintf
+
+ # sys/epoll.h entrypoints
+ libc.src.sys.epoll.epoll_create
+ libc.src.sys.epoll.epoll_create1
+ libc.src.sys.epoll.epoll_ctl
+ libc.src.sys.epoll.epoll_pwait
+ libc.src.sys.epoll.epoll_wait
+ # TODO: Need to check if pwait2 is available before providing.
+ # https://github.com/llvm/llvm-project/issues/80060
+ # libc.src.sys.epoll.epoll_pwait2
+
+ # sys/eventfd.h entrypoints
+ libc.src.sys.eventfd.eventfd
+
+ # sys/file.h entrypoints
+ libc.src.sys.file.flock
+
+ # sys/ioctl.h entrypoints
+ libc.src.sys.ioctl.ioctl
+
+ # sys/mman.h entrypoints
+ libc.src.sys.mman.madvise
+ libc.src.sys.mman.memfd_create
+ libc.src.sys.mman.mincore
+ libc.src.sys.mman.mlock
+ libc.src.sys.mman.mlock2
+ libc.src.sys.mman.mlockall
+ libc.src.sys.mman.mmap
+ libc.src.sys.mman.mremap
+ libc.src.sys.mman.mprotect
+ libc.src.sys.mman.msync
+ libc.src.sys.mman.munlock
+ libc.src.sys.mman.munlockall
+ libc.src.sys.mman.munmap
+ libc.src.sys.mman.remap_file_pages
+ libc.src.sys.mman.posix_madvise
+ libc.src.sys.mman.shm_open
+ libc.src.sys.mman.shm_unlink
+
+ # sys/random.h entrypoints
+ libc.src.sys.random.getrandom
+ libc.src.sys.random.getentropy
+
+ # sys/resource.h entrypoints
+ libc.src.sys.resource.getpriority
+ libc.src.sys.resource.getrlimit
+ libc.src.sys.resource.getrusage
+ libc.src.sys.resource.setpriority
+ libc.src.sys.resource.setrlimit
+
+ # sys/sendfile.h entrypoints
+ libc.src.sys.sendfile.sendfile
+
+ # sys/socket.h entrypoints
+ libc.src.sys.socket.accept
+ libc.src.sys.socket.accept4
+ libc.src.sys.socket.bind
+ libc.src.sys.socket.connect
+ libc.src.sys.socket.getpeername
+ libc.src.sys.socket.getsockname
+ libc.src.sys.socket.getsockopt
+ libc.src.sys.socket.listen
+ libc.src.sys.socket.recv
+ libc.src.sys.socket.recvfrom
+ libc.src.sys.socket.send
+ libc.src.sys.socket.sendto
+ libc.src.sys.socket.setsockopt
+ libc.src.sys.socket.shutdown
+ libc.src.sys.socket.sockatmark
+ libc.src.sys.socket.socket
+ libc.src.sys.socket.socketpair
+ # TODO: These functions are not compatible with 64-bit musl. They need to
+ # be excluded if overlaying musl.
+ libc.src.sys.socket.recvmmsg
+ libc.src.sys.socket.recvmsg
+ libc.src.sys.socket.sendmmsg
+ libc.src.sys.socket.sendmsg
+
+ # sys/stat.h entrypoints
+ libc.src.sys.stat.chmod
+ libc.src.sys.stat.fchmod
+ libc.src.sys.stat.fchmodat
+ libc.src.sys.stat.fstat
+ libc.src.sys.stat.fstatat
+ libc.src.sys.stat.futimens
+ libc.src.sys.stat.lstat
+ libc.src.sys.stat.mkdir
+ libc.src.sys.stat.mkdirat
+ libc.src.sys.stat.mkfifo
+ libc.src.sys.stat.mkfifoat
+ libc.src.sys.stat.mknod
+ libc.src.sys.stat.mknodat
+ libc.src.sys.stat.stat
+ libc.src.sys.stat.umask
+ libc.src.sys.stat.utimensat
+
+ # sys/statfs.h entrypoints
+ libc.src.sys.statfs.fstatfs
+ libc.src.sys.statfs.statfs
+
+ # sys/statvfs.h entrypoints
+ libc.src.sys.statvfs.fstatvfs
+ libc.src.sys.statvfs.statvfs
+
+ # sys/sysinfo.h entrypoints
+ libc.src.sys.sysinfo.sysinfo
+
+ # sys/utsname.h entrypoints
+ libc.src.sys.utsname.uname
+
+ # sys/wait.h entrypoints
+ libc.src.sys.wait.wait
+ libc.src.sys.wait.wait4
+ libc.src.sys.wait.waitid
+ libc.src.sys.wait.waitpid
+
+ # sys/xattr.h entrypoints
+ libc.src.sys.xattr.fgetxattr
+ libc.src.sys.xattr.flistxattr
+ libc.src.sys.xattr.fsetxattr
+ libc.src.sys.xattr.getxattr
+ libc.src.sys.xattr.lgetxattr
+ libc.src.sys.xattr.listxattr
+ libc.src.sys.xattr.llistxattr
+ libc.src.sys.xattr.lsetxattr
+ libc.src.sys.xattr.setxattr
+
+ # sys/prctl.h entrypoints
+ libc.src.sys.prctl.prctl
+
+ # sys/personality.h entrypoints
+ libc.src.sys.personality.personality
+
+ # sys/auxv.h entrypoints
+ libc.src.sys.auxv.getauxval
+
+ # sys/sysmacros.h entrypoints
+ libc.src.sys.sysmacros.makedev
+ libc.src.sys.sysmacros.major
+ libc.src.sys.sysmacros.minor
+
+ # sys/inotify.h entrypoints
+ libc.src.sys.inotify.inotify_add_watch
+ libc.src.sys.inotify.inotify_init
+ libc.src.sys.inotify.inotify_init1
+ libc.src.sys.inotify.inotify_rm_watch
+
+ # termios.h entrypoints
+ libc.src.termios.cfgetispeed
+ libc.src.termios.cfgetospeed
+ libc.src.termios.cfsetispeed
+ libc.src.termios.cfsetospeed
+ libc.src.termios.tcdrain
+ libc.src.termios.tcflow
+ libc.src.termios.tcflush
+ libc.src.termios.tcgetattr
+ libc.src.termios.tcgetsid
+ libc.src.termios.tcgetwinsize
+ libc.src.termios.tcsendbreak
+ libc.src.termios.tcsetattr
+ libc.src.termios.tcsetwinsize
+
+ # unistd.h entrypoints
+ libc.src.unistd.alarm
+ libc.src.unistd.access
+ libc.src.unistd.chdir
+ libc.src.unistd.chown
+ libc.src.unistd.chroot
+ libc.src.unistd.close
+ libc.src.unistd.dup
+ libc.src.unistd.dup2
+ libc.src.unistd.dup3
+ libc.src.unistd.execle
+ libc.src.unistd.execve
+ libc.src.unistd.faccessat
+ libc.src.unistd.fchdir
+ libc.src.unistd.fchown
+ libc.src.unistd.fchownat
+ libc.src.unistd.fdatasync
+ libc.src.unistd.fexecve
+ libc.src.unistd.fpathconf
+ libc.src.unistd.fsync
+ libc.src.unistd.ftruncate
+ libc.src.unistd.getcwd
+ libc.src.unistd.getegid
+ libc.src.unistd.getentropy
+ libc.src.unistd.geteuid
+ libc.src.unistd.gethostname
+ libc.src.unistd.getpagesize
+ libc.src.unistd.getpgid
+ libc.src.unistd.getpgrp
+ libc.src.unistd.getpid
+ libc.src.unistd.getppid
+ libc.src.unistd.getsid
+ libc.src.unistd.gettid
+ libc.src.unistd.getgid
+ libc.src.unistd.getuid
+ libc.src.unistd.isatty
+ libc.src.unistd.lchown
+ libc.src.unistd.link
+ libc.src.unistd.linkat
+ libc.src.unistd.lockf
+ libc.src.unistd.lseek
+ libc.src.unistd.nice
+ libc.src.unistd.pathconf
+ libc.src.unistd.pause
+ libc.src.unistd.pipe
+ libc.src.unistd.pipe2
+ libc.src.unistd.pread
+ libc.src.unistd.pwrite
+ libc.src.unistd.read
+ libc.src.unistd.readlink
+ libc.src.unistd.readlinkat
+ libc.src.unistd.rmdir
+ libc.src.unistd.setpgid
+ libc.src.unistd.setsid
+ libc.src.unistd.sleep
+ libc.src.unistd.symlink
+ libc.src.unistd.symlinkat
+ libc.src.unistd.sync
+ libc.src.unistd.syncfs
+ libc.src.unistd.tcgetpgrp
+ libc.src.unistd.tcsetpgrp
+ libc.src.unistd.truncate
+ libc.src.unistd.unlink
+ libc.src.unistd.unlinkat
+ libc.src.unistd.usleep
+ libc.src.unistd.write
+
+ # wchar.h entrypoints
+ libc.src.wchar.wcscasecmp
+ libc.src.wchar.wcsncasecmp
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+ libc.src.wctype.towlower
+ libc.src.wctype.towupper
+
+ # sys/uio.h entrypoints
+ libc.src.sys.uio.writev
+ libc.src.sys.uio.readv
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.setitimer
+ libc.src.sys.time.getitimer
+ libc.src.sys.time.gettimeofday
+)
+
+if(LLVM_LIBC_INCLUDE_SCUDO)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # malloc.h external entrypoints
+ libc.src.stdlib.mallopt
+ )
+endif()
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acoshf16
+ libc.src.math.asinpif16
+ libc.src.math.atan2f16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cospif16
+ libc.src.math.erff16
+ libc.src.math.erfcf16
+ libc.src.math.expf16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ # libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ # libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ # libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ # libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ # libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ # libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ # libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10p1f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ # libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ # Temporarily disable nexttowardf16 on aarch64 because the conversion
+ # between _Float16 and long double will crash clang-11. This is fixed in
+ # clang-12 and after: https://godbolt.org/z/8ceT9454c
+ # libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.rsqrtf
+ libc.src.math.rsqrtf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ # if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ # list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # # math.h C23 mixed _Float16 and _Float128 entrypoints
+ # libc.src.math.f16addf128
+ # libc.src.math.f16divf128
+ # libc.src.math.f16fmaf128
+ # libc.src.math.f16mulf128
+ # libc.src.math.f16sqrtf128
+ # libc.src.math.f16subf128
+ # )
+ # endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # dirent.h entrypoints
+ libc.src.dirent.alphasort
+ libc.src.dirent.closedir
+ libc.src.dirent.dirfd
+ libc.src.dirent.opendir
+ libc.src.dirent.readdir
+ libc.src.dirent.scandir
+ libc.src.dirent.fdopendir
+
+ # errno.h entrypoints
+ libc.src.errno.program_invocation_name
+ libc.src.errno.program_invocation_short_name
+
+ # arpa/inet.h entrypoints
+ libc.src.arpa.inet.htonl
+ libc.src.arpa.inet.htons
+ libc.src.arpa.inet.inet_addr
+ libc.src.arpa.inet.inet_aton
+ libc.src.arpa.inet.inet_ntoa
+ libc.src.arpa.inet.inet_ntop
+ libc.src.arpa.inet.inet_pton
+ libc.src.arpa.inet.ntohl
+ libc.src.arpa.inet.ntohs
+
+ # net/if.h entrypoints
+ libc.src.net.if_indextoname
+ libc.src.net.if_nametoindex
+
+ # netinet/ether.h entrypoints
+ libc.src.netinet.ether.ether_ntoa
+ libc.src.netinet.ether.ether_ntoa_r
+
+ # netinet/in.h entrypoints
+ libc.src.netinet.in6addr_any
+ libc.src.netinet.in6addr_loopback
+
+ # pthread.h entrypoints
+ libc.src.pthread.__pthread_cleanup_pop
+ libc.src.pthread.__pthread_cleanup_push
+ libc.src.pthread.pthread_atfork
+ libc.src.pthread.pthread_attr_destroy
+ libc.src.pthread.pthread_attr_getdetachstate
+ libc.src.pthread.pthread_attr_getguardsize
+ libc.src.pthread.pthread_attr_getinheritsched
+ libc.src.pthread.pthread_attr_getschedparam
+ libc.src.pthread.pthread_attr_getschedpolicy
+ libc.src.pthread.pthread_attr_getscope
+ libc.src.pthread.pthread_attr_getstack
+ libc.src.pthread.pthread_attr_getstacksize
+ libc.src.pthread.pthread_attr_init
+ libc.src.pthread.pthread_attr_setdetachstate
+ libc.src.pthread.pthread_attr_setguardsize
+ libc.src.pthread.pthread_attr_setinheritsched
+ libc.src.pthread.pthread_attr_setschedparam
+ libc.src.pthread.pthread_attr_setschedpolicy
+ libc.src.pthread.pthread_attr_setscope
+ libc.src.pthread.pthread_attr_setstack
+ libc.src.pthread.pthread_attr_setstacksize
+ libc.src.pthread.pthread_condattr_destroy
+ libc.src.pthread.pthread_condattr_getclock
+ libc.src.pthread.pthread_condattr_getpshared
+ libc.src.pthread.pthread_condattr_init
+ libc.src.pthread.pthread_condattr_setclock
+ libc.src.pthread.pthread_condattr_setpshared
+ libc.src.pthread.pthread_cond_broadcast
+ libc.src.pthread.pthread_cond_clockwait
+ libc.src.pthread.pthread_cond_destroy
+ libc.src.pthread.pthread_cond_init
+ libc.src.pthread.pthread_cond_signal
+ libc.src.pthread.pthread_cond_timedwait
+ libc.src.pthread.pthread_cond_wait
+ libc.src.pthread.pthread_create
+ libc.src.pthread.pthread_detach
+ libc.src.pthread.pthread_equal
+ libc.src.pthread.pthread_exit
+ libc.src.pthread.pthread_getattr_np
+ libc.src.pthread.pthread_getname_np
+ libc.src.pthread.pthread_getschedparam
+ libc.src.pthread.pthread_getspecific
+ libc.src.pthread.pthread_getstack_np
+ libc.src.pthread.pthread_getthreadid_np
+ libc.src.pthread.pthread_getunique_np
+ libc.src.pthread.pthread_join
+ libc.src.pthread.pthread_key_create
+ libc.src.pthread.pthread_key_delete
+ libc.src.pthread.pthread_mutex_destroy
+ libc.src.pthread.pthread_mutex_init
+ libc.src.pthread.pthread_mutex_lock
+ libc.src.pthread.pthread_mutex_trylock
+ libc.src.pthread.pthread_mutex_unlock
+ libc.src.pthread.pthread_mutexattr_destroy
+ libc.src.pthread.pthread_mutexattr_getpshared
+ libc.src.pthread.pthread_mutexattr_getrobust
+ libc.src.pthread.pthread_mutexattr_gettype
+ libc.src.pthread.pthread_mutexattr_init
+ libc.src.pthread.pthread_mutexattr_setpshared
+ libc.src.pthread.pthread_mutexattr_setrobust
+ libc.src.pthread.pthread_mutexattr_settype
+ libc.src.pthread.pthread_once
+ libc.src.pthread.pthread_rwlock_clockrdlock
+ libc.src.pthread.pthread_rwlock_clockwrlock
+ libc.src.pthread.pthread_rwlock_destroy
+ libc.src.pthread.pthread_rwlock_init
+ libc.src.pthread.pthread_rwlock_rdlock
+ libc.src.pthread.pthread_rwlock_timedrdlock
+ libc.src.pthread.pthread_rwlock_timedwrlock
+ libc.src.pthread.pthread_rwlock_tryrdlock
+ libc.src.pthread.pthread_rwlock_trywrlock
+ libc.src.pthread.pthread_rwlock_unlock
+ libc.src.pthread.pthread_rwlock_wrlock
+ libc.src.pthread.pthread_rwlockattr_destroy
+ libc.src.pthread.pthread_rwlockattr_getkind_np
+ libc.src.pthread.pthread_rwlockattr_getpshared
+ libc.src.pthread.pthread_rwlockattr_init
+ libc.src.pthread.pthread_rwlockattr_setkind_np
+ libc.src.pthread.pthread_rwlockattr_setpshared
+ libc.src.pthread.pthread_spin_destroy
+ libc.src.pthread.pthread_spin_init
+ libc.src.pthread.pthread_spin_lock
+ libc.src.pthread.pthread_spin_trylock
+ libc.src.pthread.pthread_spin_unlock
+ libc.src.pthread.pthread_self
+ libc.src.pthread.pthread_setname_np
+ libc.src.pthread.pthread_setschedparam
+ libc.src.pthread.pthread_setspecific
+
+ # sched.h entrypoints
+ libc.src.sched.clone
+ libc.src.sched.__sched_andcpuset
+ libc.src.sched.__sched_clrcpuset
+ libc.src.sched.__sched_cpualloc
+ libc.src.sched.__sched_cpuequal
+ libc.src.sched.__sched_cpufree
+ libc.src.sched.__sched_getcpucount
+ libc.src.sched.__sched_getcpuisset
+ libc.src.sched.__sched_orcpuset
+ libc.src.sched.__sched_setcpuset
+ libc.src.sched.__sched_setcpuzero
+ libc.src.sched.__sched_xorcpuset
+
+ # semaphore.h entrypoints
+ libc.src.semaphore.sem_clockwait
+ libc.src.semaphore.sem_close
+ libc.src.semaphore.sem_destroy
+ libc.src.semaphore.sem_getvalue
+ libc.src.semaphore.sem_init
+ libc.src.semaphore.sem_open
+ libc.src.semaphore.sem_post
+ libc.src.semaphore.sem_timedwait
+ libc.src.semaphore.sem_trywait
+ libc.src.semaphore.sem_unlink
+ libc.src.semaphore.sem_wait
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.clearerr_unlocked
+ libc.src.stdio.fclose
+ libc.src.stdio.fdopen
+ libc.src.stdio.feof
+ libc.src.stdio.feof_unlocked
+ libc.src.stdio.ferror
+ libc.src.stdio.ferror_unlocked
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgetc_unlocked
+ libc.src.stdio.fgetpos
+ libc.src.stdio.fgets
+ libc.src.stdio.fileno
+ libc.src.stdio.flockfile
+ libc.src.stdio.fmemopen
+ libc.src.stdio.fopen
+ libc.src.stdio.freopen
+ libc.src.stdio.fopencookie
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fread_unlocked
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.fsetpos
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.funlockfile
+ libc.src.stdio.fwrite
+ libc.src.stdio.fwrite_unlocked
+ libc.src.stdio.getc
+ libc.src.stdio.getc_unlocked
+ libc.src.stdio.getchar
+ libc.src.stdio.getchar_unlocked
+ libc.src.stdio.pclose
+ libc.src.stdio.perror
+ libc.src.stdio.popen
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.rewind
+ libc.src.stdio.setbuf
+ libc.src.stdio.setvbuf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.__cxa_thread_atexit_impl
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.atexit
+ libc.src.stdlib.clearenv
+ libc.src.stdlib.exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.putenv
+ libc.src.stdlib.secure_getenv
+ libc.src.stdlib.setenv
+ libc.src.stdlib.system
+ libc.src.stdlib.unsetenv
+ libc.src.stdlib.quick_exit
+
+ # signal.h entrypoints
+ libc.src.signal.kill
+ libc.src.signal.pthread_kill
+ libc.src.signal.pthread_sigmask
+ libc.src.signal.raise
+ libc.src.signal.sigaction
+ libc.src.signal.sigaddset
+ libc.src.signal.sigaltstack
+ libc.src.signal.sigdelset
+ libc.src.signal.sigemptyset
+ libc.src.signal.sigfillset
+ libc.src.signal.sigismember
+ libc.src.signal.signal
+ libc.src.signal.sigprocmask
+
+ # spawn.h entrypoints
+ libc.src.spawn.posix_spawn
+ libc.src.spawn.posix_spawn_file_actions_addclose
+ libc.src.spawn.posix_spawn_file_actions_adddup2
+ libc.src.spawn.posix_spawn_file_actions_addopen
+ libc.src.spawn.posix_spawn_file_actions_destroy
+ libc.src.spawn.posix_spawn_file_actions_init
+
+ # search.h entrypoints
+ libc.src.search.hcreate
+ libc.src.search.hcreate_r
+ libc.src.search.hdestroy
+ libc.src.search.hdestroy_r
+ libc.src.search.hsearch
+ libc.src.search.hsearch_r
+ libc.src.search.insque
+ libc.src.search.lfind
+ libc.src.search.lsearch
+ libc.src.search.remque
+ libc.src.search.tdelete
+ libc.src.search.tdestroy
+ libc.src.search.tfind
+ libc.src.search.tsearch
+ libc.src.search.twalk
+ libc.src.search.twalk_r
+
+ # threads.h entrypoints
+ libc.src.threads.call_once
+ libc.src.threads.cnd_broadcast
+ libc.src.threads.cnd_destroy
+ libc.src.threads.cnd_init
+ libc.src.threads.cnd_signal
+ libc.src.threads.cnd_timedwait
+ libc.src.threads.cnd_wait
+ libc.src.threads.mtx_destroy
+ libc.src.threads.mtx_init
+ libc.src.threads.mtx_lock
+ libc.src.threads.mtx_trylock
+ libc.src.threads.mtx_unlock
+ libc.src.threads.thrd_create
+ libc.src.threads.thrd_current
+ libc.src.threads.thrd_detach
+ libc.src.threads.thrd_equal
+ libc.src.threads.thrd_exit
+ libc.src.threads.thrd_join
+ libc.src.threads.tss_create
+ libc.src.threads.tss_delete
+ libc.src.threads.tss_get
+ libc.src.threads.tss_set
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.clock
+ libc.src.time.clock_getcpuclockid
+ libc.src.time.clock_getres
+ libc.src.time.clock_gettime
+ libc.src.time.clock_settime
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.mktime
+ libc.src.time.nanosleep
+ libc.src.time.time
+ libc.src.time.timespec_get
+ libc.src.time.timer_create
+ libc.src.time.timer_delete
+ libc.src.time.timer_getoverrun
+ libc.src.time.timer_gettime
+ libc.src.time.timer_settime
+
+ # unistd.h entrypoints
+ libc.src.unistd.__llvm_libc_syscall
+ libc.src.unistd._exit
+ libc.src.unistd.confstr
+ libc.src.unistd.environ
+ libc.src.unistd.execl
+ libc.src.unistd.execlp
+ libc.src.unistd.execv
+ libc.src.unistd.execvp
+ libc.src.unistd.execvpe
+ libc.src.unistd.fork
+ libc.src.unistd.getopt
+ libc.src.unistd.optarg
+ libc.src.unistd.opterr
+ libc.src.unistd.optind
+ libc.src.unistd.optopt
+ libc.src.unistd.swab
+ libc.src.unistd.sysconf
+
+ # sys/select.h entrypoints
+ libc.src.sys.select.pselect
+ libc.src.sys.select.select
+
+ # link.h entrypoints
+ libc.src.link._r_debug
+ libc.src.link.dl_iterate_phdr
+
+ # wchar.h entrypoints
+ libc.src.wchar.fgetwc
+ libc.src.wchar.fgetws
+ libc.src.wchar.fputwc
+ libc.src.wchar.fputws
+ libc.src.wchar.fwide
+ libc.src.wchar.getwc
+ libc.src.wchar.getwchar
+ libc.src.wchar.putwc
+ libc.src.wchar.putwchar
+ libc.src.wchar.ungetwc
+ )
+endif()
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # fnmatch.h entrypoints
+ libc.src.fnmatch.fnmatch
+
+ # glob.h entrypoints
+ libc.src.glob.glob
+ libc.src.glob.globfree
+
+ # grp.h entrypoints
+ libc.src.grp.initgroups
+ libc.src.grp.setgroups
+
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # net/if.h entrypoints
+ libc.src.net.if_freenameindex
+ libc.src.net.if_nameindex
+
+ # netdb.h entrypoints
+ libc.src.netdb.freeaddrinfo
+ libc.src.netdb.gai_strerror
+ libc.src.netdb.getaddrinfo
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+
+ # sys/ptrace.h entrypoints
+ libc.src.sys.ptrace.ptrace
+
+ # time.h entrypoints
+ libc.src.time.strptime
+ libc.src.time.tz_variables
+ libc.src.time.tzset
+
+ # unistd.h entrypoints
+ libc.src.unistd.setegid
+ libc.src.unistd.seteuid
+ libc.src.unistd.setgid
+ libc.src.unistd.setregid
+ libc.src.unistd.setresgid
+ libc.src.unistd.setresuid
+ libc.src.unistd.setreuid
+ libc.src.unistd.setuid
+
+ # wchar.h entrypoints
+ libc.src.wchar.swprintf
+ )
+ endif()
+endif()
+
+set(TARGET_LIBMVEC_ENTRYPOINTS)
+
+if(LIBC_COMPILER_HAS_EXT_VECTOR_TYPE)
+ list(APPEND TARGET_LIBMVEC_ENTRYPOINTS
+ libc.src.mathvec.acosf
+ libc.src.mathvec.acoshf
+ libc.src.mathvec.acospif
+ libc.src.mathvec.asinf
+ libc.src.mathvec.asinhf
+ libc.src.mathvec.asinpif
+ libc.src.mathvec.atanf
+ libc.src.mathvec.atanhf
+ libc.src.mathvec.cbrtf
+ libc.src.mathvec.cosf
+ libc.src.mathvec.coshf
+ libc.src.mathvec.cospif
+ libc.src.mathvec.erff
+ libc.src.mathvec.exp2f
+ libc.src.mathvec.exp2m1f
+ libc.src.mathvec.exp10f
+ libc.src.mathvec.exp10m1f
+ libc.src.mathvec.expf
+ libc.src.mathvec.expm1f
+ libc.src.mathvec.log10f
+ libc.src.mathvec.log1pf
+ libc.src.mathvec.log2f
+ libc.src.mathvec.logf
+ libc.src.mathvec.rsqrtf
+ libc.src.mathvec.sinf
+ libc.src.mathvec.sinhf
+ libc.src.mathvec.sinpif
+ libc.src.mathvec.sqrtf
+ libc.src.mathvec.tanf
+ libc.src.mathvec.tanhf
+ libc.src.mathvec.tanpif
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+ ${TARGET_LIBMVEC_ENTRYPOINTS}
+)
diff --git a/libc/config/linux/arm/entrypoints.txt b/libc/config/linux/arm/entrypoints.txt
index e35ca9c7211ab3..06838dcc8e86a9 100644
--- a/libc/config/linux/arm/entrypoints.txt
+++ b/libc/config/linux/arm/entrypoints.txt
@@ -1,770 +1,772 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # err.h entrypoints
- libc.src.err.err
- libc.src.err.verr
- libc.src.err.errx
- libc.src.err.verrx
- libc.src.err.warn
- libc.src.err.vwarn
- libc.src.err.warnx
- libc.src.err.vwarnx
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # grp.h entrypoints
- libc.src.grp.endgrent
- libc.src.grp.getgrent
- libc.src.grp.getgrgid
- libc.src.grp.getgrgid_r
- libc.src.grp.getgrouplist
- libc.src.grp.getgrnam
- libc.src.grp.getgrnam_r
- libc.src.grp.setgrent
-
- # poll.h entrypoints
- libc.src.poll.poll
-
- # pwd.h entrypoints
- libc.src.pwd.endpwent
- libc.src.pwd.getpwent
- libc.src.pwd.getpwent_r
- libc.src.pwd.getpwnam
- libc.src.pwd.getpwnam_r
- libc.src.pwd.getpwuid
- libc.src.pwd.getpwuid_r
- libc.src.pwd.setpwent
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # libgen.h entrypoints
- libc.src.libgen.basename
- libc.src.libgen.dirname
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.getloadavg
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
-
- # stdio.h entrypoints
- libc.src.stdio.tmpfile
-
- # sys/eventfd.h entrypoints
- libc.src.sys.eventfd.eventfd
-
- # sys/inotify.h entrypoints
- libc.src.sys.inotify.inotify_add_watch
- libc.src.sys.inotify.inotify_init
- libc.src.sys.inotify.inotify_init1
- libc.src.sys.inotify.inotify_rm_watch
-
- # sys/ioctl.h entrypoints
- libc.src.sys.ioctl.ioctl
-
- # sys/mman.h entrypoints
- libc.src.sys.mman.memfd_create
- libc.src.sys.mman.mmap
- libc.src.sys.mman.munmap
-
- # sys/prctl.h entrypoints
- libc.src.sys.prctl.prctl
-
- # sys/sysinfo.h entrypoints
- # Disabled due to QEMU test failures.
- # libc.src.sys.sysinfo.sysinfo
-
- # sys/personality.h entrypoints
- libc.src.sys.personality.personality
-
- # sys/epoll.h entrypoints
- # Disabled due to epoll_wait syscalls not being available on this platform.
- # libc.src.sys.epoll.epoll_wait
- # libc.src.sys.epoll.epoll_pwait
- # libc.src.sys.epoll.epoll_pwait2
-
- # sys/time.h entrypoints
- libc.src.sys.time.setitimer
- libc.src.sys.time.getitimer
-
- # unistd.h entrypoints
- libc.src.unistd.alarm
- libc.src.unistd.access
- libc.src.unistd.chdir
- libc.src.unistd.chown
- libc.src.unistd.chroot
- libc.src.unistd.close
- libc.src.unistd.dup
- libc.src.unistd.dup2
- libc.src.unistd.dup3
- libc.src.unistd.execve
- libc.src.unistd.faccessat
- libc.src.unistd.fchdir
- libc.src.unistd.fchown
- libc.src.unistd.fchownat
- libc.src.unistd.fdatasync
- libc.src.unistd.fexecve
- libc.src.unistd.fsync
- libc.src.unistd.ftruncate
- libc.src.unistd.getcwd
- libc.src.unistd.getegid
- libc.src.unistd.getentropy
- libc.src.unistd.geteuid
- libc.src.unistd.gethostname
- libc.src.unistd.getpagesize
- libc.src.unistd.getpgid
- libc.src.unistd.getpgrp
- libc.src.unistd.getpid
- libc.src.unistd.getppid
- libc.src.unistd.getsid
- libc.src.unistd.gettid
- libc.src.unistd.getgid
- libc.src.unistd.getuid
- libc.src.unistd.isatty
- libc.src.unistd.lchown
- libc.src.unistd.link
- libc.src.unistd.linkat
- libc.src.unistd.lockf
- libc.src.unistd.lseek
- libc.src.unistd.nice
- libc.src.unistd.pause
- libc.src.unistd.pipe
- libc.src.unistd.pipe2
- libc.src.unistd.read
- libc.src.unistd.readlink
- libc.src.unistd.readlinkat
- libc.src.unistd.rmdir
- libc.src.unistd.setpgid
- libc.src.unistd.setsid
- libc.src.unistd.symlink
- libc.src.unistd.symlinkat
- libc.src.unistd.sync
- libc.src.unistd.syncfs
- libc.src.unistd.tcgetpgrp
- libc.src.unistd.tcsetpgrp
- libc.src.unistd.truncate
- libc.src.unistd.unlink
- libc.src.unistd.unlinkat
- libc.src.unistd.write
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
-)
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # search.h entrypoints
- libc.src.search.lfind
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
-
- # dirent.h entrypoints
- libc.src.dirent.alphasort
- libc.src.dirent.closedir
- libc.src.dirent.dirfd
- libc.src.dirent.opendir
- libc.src.dirent.readdir
- libc.src.dirent.fdopendir
-
- # unistd.h entrypoints
- libc.src.unistd.confstr
- libc.src.unistd.sysconf
- )
-endif()
-
-if(LLVM_LIBC_INCLUDE_SCUDO)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # malloc.h external entrypoints
- libc.src.stdlib.mallopt
- )
-endif()
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.dfmal
- libc.src.math.dsqrtl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmul
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonicalf128
- libc.src.math.isnanf128
- libc.src.math.issignalingf128
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundevenf128
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # grp.h entrypoints
- libc.src.grp.initgroups
- libc.src.grp.setgroups
-
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
-
- # sys/ptrace.h entrypoints
- libc.src.sys.ptrace.ptrace
-
- # unistd.h entrypoints
- libc.src.unistd.setegid
- libc.src.unistd.seteuid
- libc.src.unistd.setgid
- libc.src.unistd.setregid
- libc.src.unistd.setresgid
- libc.src.unistd.setresuid
- libc.src.unistd.setreuid
- libc.src.unistd.setuid
- )
- endif()
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # err.h entrypoints
+ libc.src.err.err
+ libc.src.err.verr
+ libc.src.err.errx
+ libc.src.err.verrx
+ libc.src.err.warn
+ libc.src.err.vwarn
+ libc.src.err.warnx
+ libc.src.err.vwarnx
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # grp.h entrypoints
+ libc.src.grp.endgrent
+ libc.src.grp.getgrent
+ libc.src.grp.getgrgid
+ libc.src.grp.getgrgid_r
+ libc.src.grp.getgrouplist
+ libc.src.grp.getgrnam
+ libc.src.grp.getgrnam_r
+ libc.src.grp.setgrent
+
+ # poll.h entrypoints
+ libc.src.poll.poll
+
+ # pwd.h entrypoints
+ libc.src.pwd.endpwent
+ libc.src.pwd.getpwent
+ libc.src.pwd.getpwent_r
+ libc.src.pwd.getpwnam
+ libc.src.pwd.getpwnam_r
+ libc.src.pwd.getpwuid
+ libc.src.pwd.getpwuid_r
+ libc.src.pwd.setpwent
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # libgen.h entrypoints
+ libc.src.libgen.basename
+ libc.src.libgen.dirname
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.getloadavg
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+
+ # stdio.h entrypoints
+ libc.src.stdio.tmpfile
+
+ # sys/eventfd.h entrypoints
+ libc.src.sys.eventfd.eventfd
+
+ # sys/inotify.h entrypoints
+ libc.src.sys.inotify.inotify_add_watch
+ libc.src.sys.inotify.inotify_init
+ libc.src.sys.inotify.inotify_init1
+ libc.src.sys.inotify.inotify_rm_watch
+
+ # sys/ioctl.h entrypoints
+ libc.src.sys.ioctl.ioctl
+
+ # sys/mman.h entrypoints
+ libc.src.sys.mman.memfd_create
+ libc.src.sys.mman.mmap
+ libc.src.sys.mman.munmap
+
+ # sys/prctl.h entrypoints
+ libc.src.sys.prctl.prctl
+
+ # sys/sysinfo.h entrypoints
+ # Disabled due to QEMU test failures.
+ # libc.src.sys.sysinfo.sysinfo
+
+ # sys/personality.h entrypoints
+ libc.src.sys.personality.personality
+
+ # sys/epoll.h entrypoints
+ # Disabled due to epoll_wait syscalls not being available on this platform.
+ # libc.src.sys.epoll.epoll_wait
+ # libc.src.sys.epoll.epoll_pwait
+ # libc.src.sys.epoll.epoll_pwait2
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.setitimer
+ libc.src.sys.time.getitimer
+
+ # unistd.h entrypoints
+ libc.src.unistd.alarm
+ libc.src.unistd.access
+ libc.src.unistd.chdir
+ libc.src.unistd.chown
+ libc.src.unistd.chroot
+ libc.src.unistd.close
+ libc.src.unistd.dup
+ libc.src.unistd.dup2
+ libc.src.unistd.dup3
+ libc.src.unistd.execve
+ libc.src.unistd.faccessat
+ libc.src.unistd.fchdir
+ libc.src.unistd.fchown
+ libc.src.unistd.fchownat
+ libc.src.unistd.fdatasync
+ libc.src.unistd.fexecve
+ libc.src.unistd.fsync
+ libc.src.unistd.ftruncate
+ libc.src.unistd.getcwd
+ libc.src.unistd.getegid
+ libc.src.unistd.getentropy
+ libc.src.unistd.geteuid
+ libc.src.unistd.gethostname
+ libc.src.unistd.getpagesize
+ libc.src.unistd.getpgid
+ libc.src.unistd.getpgrp
+ libc.src.unistd.getpid
+ libc.src.unistd.getppid
+ libc.src.unistd.getsid
+ libc.src.unistd.gettid
+ libc.src.unistd.getgid
+ libc.src.unistd.getuid
+ libc.src.unistd.isatty
+ libc.src.unistd.lchown
+ libc.src.unistd.link
+ libc.src.unistd.linkat
+ libc.src.unistd.lockf
+ libc.src.unistd.lseek
+ libc.src.unistd.nice
+ libc.src.unistd.pause
+ libc.src.unistd.pipe
+ libc.src.unistd.pipe2
+ libc.src.unistd.read
+ libc.src.unistd.readlink
+ libc.src.unistd.readlinkat
+ libc.src.unistd.rmdir
+ libc.src.unistd.setpgid
+ libc.src.unistd.setsid
+ libc.src.unistd.symlink
+ libc.src.unistd.symlinkat
+ libc.src.unistd.sync
+ libc.src.unistd.syncfs
+ libc.src.unistd.tcgetpgrp
+ libc.src.unistd.tcsetpgrp
+ libc.src.unistd.truncate
+ libc.src.unistd.unlink
+ libc.src.unistd.unlinkat
+ libc.src.unistd.write
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+)
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # search.h entrypoints
+ libc.src.search.lfind
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+
+ # dirent.h entrypoints
+ libc.src.dirent.alphasort
+ libc.src.dirent.closedir
+ libc.src.dirent.dirfd
+ libc.src.dirent.opendir
+ libc.src.dirent.readdir
+ libc.src.dirent.fdopendir
+
+ # unistd.h entrypoints
+ libc.src.unistd.confstr
+ libc.src.unistd.sysconf
+ )
+endif()
+
+if(LLVM_LIBC_INCLUDE_SCUDO)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # malloc.h external entrypoints
+ libc.src.stdlib.mallopt
+ )
+endif()
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.dfmal
+ libc.src.math.dsqrtl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmul
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonicalf128
+ libc.src.math.isnanf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundevenf128
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # grp.h entrypoints
+ libc.src.grp.initgroups
+ libc.src.grp.setgroups
+
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+
+ # sys/ptrace.h entrypoints
+ libc.src.sys.ptrace.ptrace
+
+ # unistd.h entrypoints
+ libc.src.unistd.setegid
+ libc.src.unistd.seteuid
+ libc.src.unistd.setgid
+ libc.src.unistd.setregid
+ libc.src.unistd.setresgid
+ libc.src.unistd.setresuid
+ libc.src.unistd.setreuid
+ libc.src.unistd.setuid
+ )
+ endif()
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/linux/riscv/entrypoints.txt b/libc/config/linux/riscv/entrypoints.txt
index f8906e3adbfd30..8c47ffb05564bc 100644
--- a/libc/config/linux/riscv/entrypoints.txt
+++ b/libc/config/linux/riscv/entrypoints.txt
@@ -1,1772 +1,1774 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # arpa/inet.h entrypoints
- libc.src.arpa.inet.htonl
- libc.src.arpa.inet.htons
- libc.src.arpa.inet.inet_addr
- libc.src.arpa.inet.inet_aton
- libc.src.arpa.inet.inet_ntoa
- libc.src.arpa.inet.inet_ntop
- libc.src.arpa.inet.inet_pton
- libc.src.arpa.inet.ntohl
- libc.src.arpa.inet.ntohs
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # dlfcn.h entrypoints
- libc.src.dlfcn.dladdr
- libc.src.dlfcn.dlclose
- libc.src.dlfcn.dlerror
- libc.src.dlfcn.dlopen
- libc.src.dlfcn.dlsym
-
- # err.h entrypoints
- libc.src.err.err
- libc.src.err.verr
- libc.src.err.errx
- libc.src.err.verrx
- libc.src.err.warn
- libc.src.err.vwarn
- libc.src.err.warnx
- libc.src.err.vwarnx
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # fcntl.h entrypoints
- libc.src.fcntl.creat
- libc.src.fcntl.fallocate
- libc.src.fcntl.fcntl
- libc.src.fcntl.open
- libc.src.fcntl.openat
- libc.src.fcntl.posix_fadvise
- libc.src.fcntl.posix_fadvise64
- libc.src.fcntl.posix_fallocate
-
- # grp.h entrypoints
- libc.src.grp.endgrent
- libc.src.grp.getgrent
- libc.src.grp.getgrgid
- libc.src.grp.getgrgid_r
- libc.src.grp.getgrouplist
- libc.src.grp.getgrnam
- libc.src.grp.getgrnam_r
- libc.src.grp.setgrent
-
- # net/if.h entrypoints
- libc.src.net.if_indextoname
- libc.src.net.if_nametoindex
-
- # netinet/ether.h entrypoints
- libc.src.netinet.ether.ether_ntoa
- libc.src.netinet.ether.ether_ntoa_r
-
- # netinet/in.h entrypoints
- libc.src.netinet.in6addr_any
- libc.src.netinet.in6addr_loopback
-
- # poll.h entrypoints
- libc.src.poll.poll
- libc.src.poll.ppoll
-
- # pwd.h entrypoints
- libc.src.pwd.endpwent
- libc.src.pwd.getpwent
- libc.src.pwd.getpwent_r
- libc.src.pwd.getpwnam
- libc.src.pwd.getpwnam_r
- libc.src.pwd.getpwuid
- libc.src.pwd.getpwuid_r
- libc.src.pwd.setpwent
-
- # sched.h entrypoints
- libc.src.sched.getcpu
- libc.src.sched.sched_get_priority_max
- libc.src.sched.sched_get_priority_min
- libc.src.sched.sched_getaffinity
- libc.src.sched.sched_getcpu
- libc.src.sched.sched_getparam
- libc.src.sched.sched_getscheduler
- libc.src.sched.sched_rr_get_interval
- libc.src.sched.sched_setaffinity
- libc.src.sched.sched_setparam
- libc.src.sched.sched_setscheduler
- libc.src.sched.sched_yield
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strsignal
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
- libc.src.inttypes.wcstoimax
- libc.src.inttypes.wcstoumax
-
- # libgen.h entrypoints
- libc.src.libgen.basename
- libc.src.libgen.dirname
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib.a64l
- libc.src.stdlib.abs
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.getloadavg
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.mkdtemp
- libc.src.stdlib.mkostemp
- libc.src.stdlib.mkstemp
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realpath
- libc.src.stdlib.srand
- libc.src.stdlib.strfromd
- libc.src.stdlib.strfromf
- libc.src.stdlib.strfromf128
- libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.posix_memalign
- libc.src.stdlib.realloc
-
- # stdio.h entrypoints
- libc.src.stdio.fprintf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.printf
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.renameat
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.asprintf
- libc.src.stdio.sscanf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.tmpfile
- libc.src.stdio.tmpnam
- libc.src.stdio.vsscanf
- libc.src.stdio.vfprintf
- libc.src.stdio.vprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vasprintf
-
- # sys/epoll.h entrypoints
- libc.src.sys.epoll.epoll_create
- libc.src.sys.epoll.epoll_create1
- libc.src.sys.epoll.epoll_ctl
- libc.src.sys.epoll.epoll_pwait
- libc.src.sys.epoll.epoll_wait
- # TODO: Need to check if pwait2 is available before providing.
- # https://github.com/llvm/llvm-project/issues/80060
- # libc.src.sys.epoll.epoll_pwait2
-
- # sys/eventfd.h entrypoints
- libc.src.sys.eventfd.eventfd
-
- # sys/file.h entrypoints
- libc.src.sys.file.flock
-
- # sys/ioctl.h entrypoints
- libc.src.sys.ioctl.ioctl
-
- # sys/ipc.h entrypoints
- libc.src.sys.ipc.ftok
-
- # sys/mman.h entrypoints
- libc.src.sys.mman.madvise
- libc.src.sys.mman.memfd_create
- libc.src.sys.mman.mincore
- libc.src.sys.mman.mlock
- libc.src.sys.mman.mlock2
- libc.src.sys.mman.mlockall
- libc.src.sys.mman.mmap
- libc.src.sys.mman.mremap
- libc.src.sys.mman.mprotect
- libc.src.sys.mman.msync
- libc.src.sys.mman.munlock
- libc.src.sys.mman.munlockall
- libc.src.sys.mman.munmap
- libc.src.sys.mman.pkey_alloc
- libc.src.sys.mman.pkey_free
- libc.src.sys.mman.pkey_get
- libc.src.sys.mman.pkey_mprotect
- libc.src.sys.mman.pkey_set
- libc.src.sys.mman.remap_file_pages
- libc.src.sys.mman.posix_madvise
- libc.src.sys.mman.shm_open
- libc.src.sys.mman.shm_unlink
-
- # sys/random.h entrypoints
- libc.src.sys.random.getrandom
- libc.src.sys.random.getentropy
-
- # sys/resource.h entrypoints
- libc.src.sys.resource.getpriority
- libc.src.sys.resource.getrlimit
- libc.src.sys.resource.getrusage
- libc.src.sys.resource.setpriority
- libc.src.sys.resource.setrlimit
-
- # sys/sendfile.h entrypoints
- libc.src.sys.sendfile.sendfile
-
- # sys/socket.h entrypoints
- libc.src.sys.socket.accept
- libc.src.sys.socket.accept4
- libc.src.sys.socket.bind
- libc.src.sys.socket.connect
- libc.src.sys.socket.getpeername
- libc.src.sys.socket.getsockname
- libc.src.sys.socket.getsockopt
- libc.src.sys.socket.listen
- libc.src.sys.socket.recv
- libc.src.sys.socket.recvfrom
- libc.src.sys.socket.send
- libc.src.sys.socket.sendto
- libc.src.sys.socket.setsockopt
- libc.src.sys.socket.shutdown
- libc.src.sys.socket.sockatmark
- libc.src.sys.socket.socket
- libc.src.sys.socket.socketpair
- # TODO: These functions are not compatible with 64-bit musl. They need to
- # be excluded if overlaying musl.
- libc.src.sys.socket.recvmmsg
- libc.src.sys.socket.recvmsg
- libc.src.sys.socket.sendmmsg
- libc.src.sys.socket.sendmsg
-
- # sys/stat.h entrypoints
- libc.src.sys.stat.chmod
- libc.src.sys.stat.fchmod
- libc.src.sys.stat.fchmodat
- libc.src.sys.stat.fstat
- libc.src.sys.stat.fstatat
- libc.src.sys.stat.futimens
- libc.src.sys.stat.lstat
- libc.src.sys.stat.mkdir
- libc.src.sys.stat.mkdirat
- libc.src.sys.stat.mkfifo
- libc.src.sys.stat.mkfifoat
- libc.src.sys.stat.mknod
- libc.src.sys.stat.mknodat
- libc.src.sys.stat.stat
- libc.src.sys.stat.umask
- libc.src.sys.stat.utimensat
-
- # sys/statfs.h entrypoints
- libc.src.sys.statfs.fstatfs
- libc.src.sys.statfs.statfs
-
- # sys/statvfs.h entrypoints
- libc.src.sys.statvfs.fstatvfs
- libc.src.sys.statvfs.statvfs
-
- # sys/time.h entrypoints
- libc.src.sys.time.utimes
-
- # sys/sysinfo.h entrypoints
- # Disabled due to QEMU test failures.
- # libc.src.sys.sysinfo.sysinfo
-
- # sys/utsname.h entrypoints
- libc.src.sys.utsname.uname
-
- # sys/wait.h entrypoints
- libc.src.sys.wait.wait
- libc.src.sys.wait.wait4
- libc.src.sys.wait.waitid
- libc.src.sys.wait.waitpid
-
- # sys/prctl.h entrypoints
- libc.src.sys.prctl.prctl
-
- # sys/personality.h entrypoints
- libc.src.sys.personality.personality
-
- # sys/auxv.h entrypoints
- libc.src.sys.auxv.getauxval
-
- # sys/inotify.h entrypoints
- libc.src.sys.inotify.inotify_add_watch
- libc.src.sys.inotify.inotify_init
- libc.src.sys.inotify.inotify_init1
- libc.src.sys.inotify.inotify_rm_watch
-
- # termios.h entrypoints
- libc.src.termios.cfgetispeed
- libc.src.termios.cfgetospeed
- libc.src.termios.cfsetispeed
- libc.src.termios.cfsetospeed
- libc.src.termios.tcdrain
- libc.src.termios.tcflow
- libc.src.termios.tcflush
- libc.src.termios.tcgetattr
- libc.src.termios.tcgetsid
- libc.src.termios.tcgetwinsize
- libc.src.termios.tcsendbreak
- libc.src.termios.tcsetattr
- libc.src.termios.tcsetwinsize
-
- # unistd.h entrypoints
- libc.src.unistd.alarm
- libc.src.unistd.access
- libc.src.unistd.chdir
- libc.src.unistd.chown
- libc.src.unistd.chroot
- libc.src.unistd.close
- libc.src.unistd.dup
- libc.src.unistd.dup2
- libc.src.unistd.dup3
- libc.src.unistd.execle
- libc.src.unistd.execve
- libc.src.unistd.faccessat
- libc.src.unistd.fchdir
- libc.src.unistd.fchown
- libc.src.unistd.fchownat
- libc.src.unistd.fdatasync
- libc.src.unistd.fexecve
- libc.src.unistd.fpathconf
- libc.src.unistd.fsync
- libc.src.unistd.ftruncate
- libc.src.unistd.getcwd
- libc.src.unistd.getegid
- libc.src.unistd.getentropy
- libc.src.unistd.geteuid
- libc.src.unistd.gethostname
- libc.src.unistd.getpagesize
- libc.src.unistd.getpgid
- libc.src.unistd.getpgrp
- libc.src.unistd.getpid
- libc.src.unistd.getppid
- libc.src.unistd.getsid
- libc.src.unistd.gettid
- libc.src.unistd.getgid
- libc.src.unistd.getuid
- libc.src.unistd.isatty
- libc.src.unistd.lchown
- libc.src.unistd.link
- libc.src.unistd.linkat
- libc.src.unistd.lockf
- libc.src.unistd.lseek
- libc.src.unistd.nice
- libc.src.unistd.pathconf
- libc.src.unistd.pause
- libc.src.unistd.pipe
- libc.src.unistd.pipe2
- libc.src.unistd.pread
- libc.src.unistd.pwrite
- libc.src.unistd.read
- libc.src.unistd.readlink
- libc.src.unistd.readlinkat
- libc.src.unistd.rmdir
- libc.src.unistd.setpgid
- libc.src.unistd.setsid
- libc.src.unistd.sleep
- libc.src.unistd.symlink
- libc.src.unistd.symlinkat
- libc.src.unistd.sync
- libc.src.unistd.syncfs
- libc.src.unistd.tcgetpgrp
- libc.src.unistd.tcsetpgrp
- libc.src.unistd.truncate
- libc.src.unistd.unlink
- libc.src.unistd.unlinkat
- libc.src.unistd.usleep
- libc.src.unistd.write
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wcsnlen
- libc.src.wchar.wctob
- libc.src.wchar.wmemmove
- libc.src.wchar.wmemset
- libc.src.wchar.wcschr
- libc.src.wchar.wcsncmp
- libc.src.wchar.wcsxfrm
- libc.src.wchar.wcscmp
- libc.src.wchar.wcscoll
- libc.src.wchar.wcspbrk
- libc.src.wchar.wcsrchr
- libc.src.wchar.wcsspn
- libc.src.wchar.wcscspn
- libc.src.wchar.wcsdup
- libc.src.wchar.wmemcmp
- libc.src.wchar.wmempcpy
- libc.src.wchar.wmemcpy
- libc.src.wchar.wcsncpy
- libc.src.wchar.wcscat
- libc.src.wchar.wcsstr
- libc.src.wchar.wcsncat
- libc.src.wchar.wcslcat
- libc.src.wchar.wcscpy
- libc.src.wchar.wcslcpy
- libc.src.wchar.wmemchr
- libc.src.wchar.wcpcpy
- libc.src.wchar.wcpncpy
- libc.src.wchar.wcstod
- libc.src.wchar.wcstof
- libc.src.wchar.wcstok
- libc.src.wchar.wcstol
- libc.src.wchar.wcstold
- libc.src.wchar.wcstoll
- libc.src.wchar.wcstoul
- libc.src.wchar.wcstoull
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
- libc.src.wctype.towlower
- libc.src.wctype.towupper
-
- # sys/uio.h entrypoints
- libc.src.sys.uio.writev
- libc.src.sys.uio.readv
-
- # sys/time.h entrypoints
- libc.src.sys.time.setitimer
- libc.src.sys.time.getitimer
- libc.src.sys.time.gettimeofday
-)
-
-if(LLVM_LIBC_INCLUDE_SCUDO)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # malloc.h external entrypoints
- libc.src.stdlib.mallopt
- )
-endif()
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.acospif16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.asinpif16
- libc.src.math.atanf16
- libc.src.math.atan2f16
- libc.src.math.atanhf16
- libc.src.math.atanpif16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.erff16
- libc.src.math.erfcf16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.rsqrtf
- libc.src.math.rsqrtf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.atan2l
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- libc.src.stdfix.idivr
- libc.src.stdfix.idivlr
- libc.src.stdfix.idivk
- libc.src.stdfix.idivlk
- libc.src.stdfix.idivur
- libc.src.stdfix.idivulr
- libc.src.stdfix.idivuk
- libc.src.stdfix.idivulk
- libc.src.stdfix.rdivi
- libc.src.stdfix.lrdivi
- libc.src.stdfix.kdivi
- libc.src.stdfix.lkdivi
- libc.src.stdfix.urdivi
- libc.src.stdfix.ulrdivi
- libc.src.stdfix.ukdivi
- libc.src.stdfix.ulkdivi
- libc.src.stdfix.divir
- libc.src.stdfix.divilr
- libc.src.stdfix.divik
- libc.src.stdfix.divilk
- libc.src.stdfix.diviur
- libc.src.stdfix.diviulr
- libc.src.stdfix.diviuk
- libc.src.stdfix.diviulk
- )
-endif()
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.program_invocation_name
- libc.src.errno.program_invocation_short_name
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # dirent.h entrypoints
- libc.src.dirent.alphasort
- libc.src.dirent.closedir
- libc.src.dirent.dirfd
- libc.src.dirent.opendir
- libc.src.dirent.readdir
- libc.src.dirent.scandir
- libc.src.dirent.fdopendir
-
- # pthread.h entrypoints
- libc.src.pthread.__pthread_cleanup_pop
- libc.src.pthread.__pthread_cleanup_push
- libc.src.pthread.pthread_atfork
- libc.src.pthread.pthread_attr_destroy
- libc.src.pthread.pthread_attr_getdetachstate
- libc.src.pthread.pthread_attr_getguardsize
- libc.src.pthread.pthread_attr_getinheritsched
- libc.src.pthread.pthread_attr_getschedparam
- libc.src.pthread.pthread_attr_getschedpolicy
- libc.src.pthread.pthread_attr_getscope
- libc.src.pthread.pthread_attr_getstack
- libc.src.pthread.pthread_attr_getstacksize
- libc.src.pthread.pthread_attr_init
- libc.src.pthread.pthread_attr_setdetachstate
- libc.src.pthread.pthread_attr_setguardsize
- libc.src.pthread.pthread_attr_setinheritsched
- libc.src.pthread.pthread_attr_setschedparam
- libc.src.pthread.pthread_attr_setschedpolicy
- libc.src.pthread.pthread_attr_setscope
- libc.src.pthread.pthread_attr_setstack
- libc.src.pthread.pthread_attr_setstacksize
- libc.src.pthread.pthread_condattr_destroy
- libc.src.pthread.pthread_condattr_getclock
- libc.src.pthread.pthread_condattr_getpshared
- libc.src.pthread.pthread_condattr_init
- libc.src.pthread.pthread_condattr_setclock
- libc.src.pthread.pthread_condattr_setpshared
- libc.src.pthread.pthread_cond_broadcast
- libc.src.pthread.pthread_cond_clockwait
- libc.src.pthread.pthread_cond_destroy
- libc.src.pthread.pthread_cond_init
- libc.src.pthread.pthread_cond_signal
- libc.src.pthread.pthread_cond_timedwait
- libc.src.pthread.pthread_cond_wait
- libc.src.pthread.pthread_create
- libc.src.pthread.pthread_detach
- libc.src.pthread.pthread_equal
- libc.src.pthread.pthread_exit
- libc.src.pthread.pthread_getattr_np
- libc.src.pthread.pthread_getname_np
- libc.src.pthread.pthread_getschedparam
- libc.src.pthread.pthread_getspecific
- libc.src.pthread.pthread_getstack_np
- libc.src.pthread.pthread_getthreadid_np
- libc.src.pthread.pthread_getunique_np
- libc.src.pthread.pthread_join
- libc.src.pthread.pthread_key_create
- libc.src.pthread.pthread_key_delete
- libc.src.pthread.pthread_barrier_init
- libc.src.pthread.pthread_barrier_wait
- libc.src.pthread.pthread_barrier_destroy
- libc.src.pthread.pthread_mutex_destroy
- libc.src.pthread.pthread_mutex_init
- libc.src.pthread.pthread_mutex_lock
- libc.src.pthread.pthread_mutex_trylock
- libc.src.pthread.pthread_mutex_unlock
- libc.src.pthread.pthread_mutexattr_destroy
- libc.src.pthread.pthread_mutexattr_getpshared
- libc.src.pthread.pthread_mutexattr_getrobust
- libc.src.pthread.pthread_mutexattr_gettype
- libc.src.pthread.pthread_mutexattr_init
- libc.src.pthread.pthread_mutexattr_setpshared
- libc.src.pthread.pthread_mutexattr_setrobust
- libc.src.pthread.pthread_mutexattr_settype
- libc.src.pthread.pthread_once
- libc.src.pthread.pthread_rwlock_clockrdlock
- libc.src.pthread.pthread_rwlock_clockwrlock
- libc.src.pthread.pthread_rwlock_destroy
- libc.src.pthread.pthread_rwlock_init
- libc.src.pthread.pthread_rwlock_rdlock
- libc.src.pthread.pthread_rwlock_timedrdlock
- libc.src.pthread.pthread_rwlock_timedwrlock
- libc.src.pthread.pthread_rwlock_tryrdlock
- libc.src.pthread.pthread_rwlock_trywrlock
- libc.src.pthread.pthread_rwlock_unlock
- libc.src.pthread.pthread_rwlock_wrlock
- libc.src.pthread.pthread_rwlockattr_destroy
- libc.src.pthread.pthread_rwlockattr_getkind_np
- libc.src.pthread.pthread_rwlockattr_getpshared
- libc.src.pthread.pthread_rwlockattr_init
- libc.src.pthread.pthread_rwlockattr_setkind_np
- libc.src.pthread.pthread_rwlockattr_setpshared
- libc.src.pthread.pthread_spin_destroy
- libc.src.pthread.pthread_spin_init
- libc.src.pthread.pthread_spin_lock
- libc.src.pthread.pthread_spin_trylock
- libc.src.pthread.pthread_spin_unlock
- libc.src.pthread.pthread_self
- libc.src.pthread.pthread_setname_np
- libc.src.pthread.pthread_setschedparam
- libc.src.pthread.pthread_setspecific
-
- # sched.h entrypoints
- libc.src.sched.clone
- libc.src.sched.__sched_andcpuset
- libc.src.sched.__sched_clrcpuset
- libc.src.sched.__sched_cpualloc
- libc.src.sched.__sched_cpuequal
- libc.src.sched.__sched_cpufree
- libc.src.sched.__sched_getcpucount
- libc.src.sched.__sched_getcpuisset
- libc.src.sched.__sched_orcpuset
- libc.src.sched.__sched_setcpuset
- libc.src.sched.__sched_setcpuzero
- libc.src.sched.__sched_xorcpuset
-
- # semaphore.h entrypoints
- libc.src.semaphore.sem_clockwait
- libc.src.semaphore.sem_close
- libc.src.semaphore.sem_destroy
- libc.src.semaphore.sem_getvalue
- libc.src.semaphore.sem_init
- libc.src.semaphore.sem_open
- libc.src.semaphore.sem_post
- libc.src.semaphore.sem_timedwait
- libc.src.semaphore.sem_trywait
- libc.src.semaphore.sem_unlink
- libc.src.semaphore.sem_wait
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.clearerr_unlocked
- libc.src.stdio.fclose
- libc.src.stdio.fdopen
- libc.src.stdio.feof
- libc.src.stdio.feof_unlocked
- libc.src.stdio.ferror
- libc.src.stdio.ferror_unlocked
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgetc_unlocked
- libc.src.stdio.fgetpos
- libc.src.stdio.fgets
- libc.src.stdio.fileno
- libc.src.stdio.flockfile
- libc.src.stdio.fmemopen
- libc.src.stdio.fopen
- libc.src.stdio.freopen
- libc.src.stdio.fopencookie
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fread_unlocked
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.fsetpos
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.funlockfile
- libc.src.stdio.fwrite
- libc.src.stdio.fwrite_unlocked
- libc.src.stdio.getc
- libc.src.stdio.getc_unlocked
- libc.src.stdio.getchar
- libc.src.stdio.getchar_unlocked
- libc.src.stdio.pclose
- libc.src.stdio.perror
- libc.src.stdio.popen
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.rewind
- libc.src.stdio.setbuf
- libc.src.stdio.setvbuf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # stdlib.h entrypoints
- libc.src.stdlib.__cxa_thread_atexit_impl
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.atexit
- libc.src.stdlib.clearenv
- libc.src.stdlib.exit
- libc.src.stdlib.getenv
- libc.src.stdlib.putenv
- libc.src.stdlib.secure_getenv
- libc.src.stdlib.setenv
- libc.src.stdlib.system
- libc.src.stdlib.unsetenv
- libc.src.stdlib.mbstowcs
- libc.src.stdlib.mbtowc
- libc.src.stdlib.mblen
- libc.src.stdlib.quick_exit
- libc.src.stdlib.wcstombs
- libc.src.stdlib.wctomb
-
- # signal.h entrypoints
- libc.src.signal.kill
- libc.src.signal.pthread_kill
- libc.src.signal.pthread_sigmask
- libc.src.signal.raise
- libc.src.signal.sigaction
- libc.src.signal.sigaddset
- libc.src.signal.sigaltstack
- libc.src.signal.sigdelset
- libc.src.signal.sigemptyset
- libc.src.signal.sigfillset
- libc.src.signal.sigismember
- libc.src.signal.signal
- libc.src.signal.sigprocmask
-
- # spawn.h entrypoints
- libc.src.spawn.posix_spawn
- libc.src.spawn.posix_spawn_file_actions_addclose
- libc.src.spawn.posix_spawn_file_actions_adddup2
- libc.src.spawn.posix_spawn_file_actions_addopen
- libc.src.spawn.posix_spawn_file_actions_destroy
- libc.src.spawn.posix_spawn_file_actions_init
-
- # search.h entrypoints
- libc.src.search.hcreate
- libc.src.search.hcreate_r
- libc.src.search.hdestroy
- libc.src.search.hdestroy_r
- libc.src.search.hsearch
- libc.src.search.hsearch_r
- libc.src.search.insque
- libc.src.search.lfind
- libc.src.search.lsearch
- libc.src.search.remque
- libc.src.search.tdelete
- libc.src.search.tdestroy
- libc.src.search.tfind
- libc.src.search.tsearch
- libc.src.search.twalk
- libc.src.search.twalk_r
-
- # threads.h entrypoints
- libc.src.threads.call_once
- libc.src.threads.cnd_broadcast
- libc.src.threads.cnd_destroy
- libc.src.threads.cnd_init
- libc.src.threads.cnd_signal
- libc.src.threads.cnd_timedwait
- libc.src.threads.cnd_wait
- libc.src.threads.mtx_destroy
- libc.src.threads.mtx_init
- libc.src.threads.mtx_lock
- libc.src.threads.mtx_trylock
- libc.src.threads.mtx_unlock
- libc.src.threads.thrd_create
- libc.src.threads.thrd_current
- libc.src.threads.thrd_detach
- libc.src.threads.thrd_equal
- libc.src.threads.thrd_exit
- libc.src.threads.thrd_join
- libc.src.threads.tss_create
- libc.src.threads.tss_delete
- libc.src.threads.tss_get
- libc.src.threads.tss_set
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.clock
- libc.src.time.clock_getcpuclockid
- libc.src.time.clock_getres
- libc.src.time.clock_gettime
- libc.src.time.clock_settime
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.nanosleep
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.time
- libc.src.time.timespec_get
- libc.src.time.timer_create
- libc.src.time.timer_delete
- libc.src.time.timer_getoverrun
- libc.src.time.timer_gettime
- libc.src.time.timer_settime
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # unistd.h entrypoints
- libc.src.unistd.__llvm_libc_syscall
- libc.src.unistd._exit
- libc.src.unistd.confstr
- libc.src.unistd.environ
- libc.src.unistd.execl
- libc.src.unistd.execlp
- libc.src.unistd.execv
- libc.src.unistd.execvp
- libc.src.unistd.execvpe
- libc.src.unistd.fork
- libc.src.unistd.getopt
- libc.src.unistd.optarg
- libc.src.unistd.opterr
- libc.src.unistd.optind
- libc.src.unistd.optopt
- libc.src.unistd.swab
- libc.src.unistd.sysconf
-
- # sys/select.h entrypoints
- libc.src.sys.select.pselect
- libc.src.sys.select.select
-
- # wchar.h entrypoints
- libc.src.wchar.mbrlen
- libc.src.wchar.mbsinit
- libc.src.wchar.mbrtowc
- libc.src.wchar.mbsrtowcs
- libc.src.wchar.mbsnrtowcs
- libc.src.wchar.wcrtomb
- libc.src.wchar.wcsrtombs
- libc.src.wchar.wcsnrtombs
- libc.src.wchar.fgetwc
- libc.src.wchar.fgetws
- libc.src.wchar.fputwc
- libc.src.wchar.fputws
- libc.src.wchar.fwide
- libc.src.wchar.getwc
- libc.src.wchar.getwchar
- libc.src.wchar.putwc
- libc.src.wchar.putwchar
- libc.src.wchar.ungetwc
-
- # nl_types.h entrypoints
- libc.src.nl_types.catopen
- libc.src.nl_types.catclose
- libc.src.nl_types.catgets
-
- # link.h entrypoints
- libc.src.link._r_debug
- libc.src.link.dl_iterate_phdr
- )
-endif()
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # fnmatch.h entrypoints
- libc.src.fnmatch.fnmatch
-
- # glob.h entrypoints
- libc.src.glob.glob
- libc.src.glob.globfree
-
- # grp.h entrypoints
- libc.src.grp.initgroups
- libc.src.grp.setgroups
-
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # net/if.h entrypoints
- libc.src.net.if_freenameindex
- libc.src.net.if_nameindex
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
-
- # sys/ptrace.h entrypoints
- libc.src.sys.ptrace.ptrace
-
- # unistd.h entrypoints
- libc.src.unistd.setegid
- libc.src.unistd.seteuid
- libc.src.unistd.setgid
- libc.src.unistd.setregid
- libc.src.unistd.setresgid
- libc.src.unistd.setresuid
- libc.src.unistd.setreuid
- libc.src.unistd.setuid
-
- # wchar.h entrypoints
- libc.src.wchar.swprintf
- )
- endif()
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # arpa/inet.h entrypoints
+ libc.src.arpa.inet.htonl
+ libc.src.arpa.inet.htons
+ libc.src.arpa.inet.inet_addr
+ libc.src.arpa.inet.inet_aton
+ libc.src.arpa.inet.inet_ntoa
+ libc.src.arpa.inet.inet_ntop
+ libc.src.arpa.inet.inet_pton
+ libc.src.arpa.inet.ntohl
+ libc.src.arpa.inet.ntohs
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # dlfcn.h entrypoints
+ libc.src.dlfcn.dladdr
+ libc.src.dlfcn.dlclose
+ libc.src.dlfcn.dlerror
+ libc.src.dlfcn.dlopen
+ libc.src.dlfcn.dlsym
+
+ # err.h entrypoints
+ libc.src.err.err
+ libc.src.err.verr
+ libc.src.err.errx
+ libc.src.err.verrx
+ libc.src.err.warn
+ libc.src.err.vwarn
+ libc.src.err.warnx
+ libc.src.err.vwarnx
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # fcntl.h entrypoints
+ libc.src.fcntl.creat
+ libc.src.fcntl.fallocate
+ libc.src.fcntl.fcntl
+ libc.src.fcntl.open
+ libc.src.fcntl.openat
+ libc.src.fcntl.posix_fadvise
+ libc.src.fcntl.posix_fadvise64
+ libc.src.fcntl.posix_fallocate
+
+ # grp.h entrypoints
+ libc.src.grp.endgrent
+ libc.src.grp.getgrent
+ libc.src.grp.getgrgid
+ libc.src.grp.getgrgid_r
+ libc.src.grp.getgrouplist
+ libc.src.grp.getgrnam
+ libc.src.grp.getgrnam_r
+ libc.src.grp.setgrent
+
+ # net/if.h entrypoints
+ libc.src.net.if_indextoname
+ libc.src.net.if_nametoindex
+
+ # netinet/ether.h entrypoints
+ libc.src.netinet.ether.ether_ntoa
+ libc.src.netinet.ether.ether_ntoa_r
+
+ # netinet/in.h entrypoints
+ libc.src.netinet.in6addr_any
+ libc.src.netinet.in6addr_loopback
+
+ # poll.h entrypoints
+ libc.src.poll.poll
+ libc.src.poll.ppoll
+
+ # pwd.h entrypoints
+ libc.src.pwd.endpwent
+ libc.src.pwd.getpwent
+ libc.src.pwd.getpwent_r
+ libc.src.pwd.getpwnam
+ libc.src.pwd.getpwnam_r
+ libc.src.pwd.getpwuid
+ libc.src.pwd.getpwuid_r
+ libc.src.pwd.setpwent
+
+ # sched.h entrypoints
+ libc.src.sched.getcpu
+ libc.src.sched.sched_get_priority_max
+ libc.src.sched.sched_get_priority_min
+ libc.src.sched.sched_getaffinity
+ libc.src.sched.sched_getcpu
+ libc.src.sched.sched_getparam
+ libc.src.sched.sched_getscheduler
+ libc.src.sched.sched_rr_get_interval
+ libc.src.sched.sched_setaffinity
+ libc.src.sched.sched_setparam
+ libc.src.sched.sched_setscheduler
+ libc.src.sched.sched_yield
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strsignal
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+ libc.src.inttypes.wcstoimax
+ libc.src.inttypes.wcstoumax
+
+ # libgen.h entrypoints
+ libc.src.libgen.basename
+ libc.src.libgen.dirname
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abs
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.getloadavg
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.mkdtemp
+ libc.src.stdlib.mkostemp
+ libc.src.stdlib.mkstemp
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realpath
+ libc.src.stdlib.srand
+ libc.src.stdlib.strfromd
+ libc.src.stdlib.strfromf
+ libc.src.stdlib.strfromf128
+ libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.posix_memalign
+ libc.src.stdlib.realloc
+
+ # stdio.h entrypoints
+ libc.src.stdio.fprintf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.printf
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.renameat
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.tmpfile
+ libc.src.stdio.tmpnam
+ libc.src.stdio.vsscanf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vasprintf
+
+ # sys/epoll.h entrypoints
+ libc.src.sys.epoll.epoll_create
+ libc.src.sys.epoll.epoll_create1
+ libc.src.sys.epoll.epoll_ctl
+ libc.src.sys.epoll.epoll_pwait
+ libc.src.sys.epoll.epoll_wait
+ # TODO: Need to check if pwait2 is available before providing.
+ # https://github.com/llvm/llvm-project/issues/80060
+ # libc.src.sys.epoll.epoll_pwait2
+
+ # sys/eventfd.h entrypoints
+ libc.src.sys.eventfd.eventfd
+
+ # sys/file.h entrypoints
+ libc.src.sys.file.flock
+
+ # sys/ioctl.h entrypoints
+ libc.src.sys.ioctl.ioctl
+
+ # sys/ipc.h entrypoints
+ libc.src.sys.ipc.ftok
+
+ # sys/mman.h entrypoints
+ libc.src.sys.mman.madvise
+ libc.src.sys.mman.memfd_create
+ libc.src.sys.mman.mincore
+ libc.src.sys.mman.mlock
+ libc.src.sys.mman.mlock2
+ libc.src.sys.mman.mlockall
+ libc.src.sys.mman.mmap
+ libc.src.sys.mman.mremap
+ libc.src.sys.mman.mprotect
+ libc.src.sys.mman.msync
+ libc.src.sys.mman.munlock
+ libc.src.sys.mman.munlockall
+ libc.src.sys.mman.munmap
+ libc.src.sys.mman.pkey_alloc
+ libc.src.sys.mman.pkey_free
+ libc.src.sys.mman.pkey_get
+ libc.src.sys.mman.pkey_mprotect
+ libc.src.sys.mman.pkey_set
+ libc.src.sys.mman.remap_file_pages
+ libc.src.sys.mman.posix_madvise
+ libc.src.sys.mman.shm_open
+ libc.src.sys.mman.shm_unlink
+
+ # sys/random.h entrypoints
+ libc.src.sys.random.getrandom
+ libc.src.sys.random.getentropy
+
+ # sys/resource.h entrypoints
+ libc.src.sys.resource.getpriority
+ libc.src.sys.resource.getrlimit
+ libc.src.sys.resource.getrusage
+ libc.src.sys.resource.setpriority
+ libc.src.sys.resource.setrlimit
+
+ # sys/sendfile.h entrypoints
+ libc.src.sys.sendfile.sendfile
+
+ # sys/socket.h entrypoints
+ libc.src.sys.socket.accept
+ libc.src.sys.socket.accept4
+ libc.src.sys.socket.bind
+ libc.src.sys.socket.connect
+ libc.src.sys.socket.getpeername
+ libc.src.sys.socket.getsockname
+ libc.src.sys.socket.getsockopt
+ libc.src.sys.socket.listen
+ libc.src.sys.socket.recv
+ libc.src.sys.socket.recvfrom
+ libc.src.sys.socket.send
+ libc.src.sys.socket.sendto
+ libc.src.sys.socket.setsockopt
+ libc.src.sys.socket.shutdown
+ libc.src.sys.socket.sockatmark
+ libc.src.sys.socket.socket
+ libc.src.sys.socket.socketpair
+ # TODO: These functions are not compatible with 64-bit musl. They need to
+ # be excluded if overlaying musl.
+ libc.src.sys.socket.recvmmsg
+ libc.src.sys.socket.recvmsg
+ libc.src.sys.socket.sendmmsg
+ libc.src.sys.socket.sendmsg
+
+ # sys/stat.h entrypoints
+ libc.src.sys.stat.chmod
+ libc.src.sys.stat.fchmod
+ libc.src.sys.stat.fchmodat
+ libc.src.sys.stat.fstat
+ libc.src.sys.stat.fstatat
+ libc.src.sys.stat.futimens
+ libc.src.sys.stat.lstat
+ libc.src.sys.stat.mkdir
+ libc.src.sys.stat.mkdirat
+ libc.src.sys.stat.mkfifo
+ libc.src.sys.stat.mkfifoat
+ libc.src.sys.stat.mknod
+ libc.src.sys.stat.mknodat
+ libc.src.sys.stat.stat
+ libc.src.sys.stat.umask
+ libc.src.sys.stat.utimensat
+
+ # sys/statfs.h entrypoints
+ libc.src.sys.statfs.fstatfs
+ libc.src.sys.statfs.statfs
+
+ # sys/statvfs.h entrypoints
+ libc.src.sys.statvfs.fstatvfs
+ libc.src.sys.statvfs.statvfs
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.utimes
+
+ # sys/sysinfo.h entrypoints
+ # Disabled due to QEMU test failures.
+ # libc.src.sys.sysinfo.sysinfo
+
+ # sys/utsname.h entrypoints
+ libc.src.sys.utsname.uname
+
+ # sys/wait.h entrypoints
+ libc.src.sys.wait.wait
+ libc.src.sys.wait.wait4
+ libc.src.sys.wait.waitid
+ libc.src.sys.wait.waitpid
+
+ # sys/prctl.h entrypoints
+ libc.src.sys.prctl.prctl
+
+ # sys/personality.h entrypoints
+ libc.src.sys.personality.personality
+
+ # sys/auxv.h entrypoints
+ libc.src.sys.auxv.getauxval
+
+ # sys/inotify.h entrypoints
+ libc.src.sys.inotify.inotify_add_watch
+ libc.src.sys.inotify.inotify_init
+ libc.src.sys.inotify.inotify_init1
+ libc.src.sys.inotify.inotify_rm_watch
+
+ # termios.h entrypoints
+ libc.src.termios.cfgetispeed
+ libc.src.termios.cfgetospeed
+ libc.src.termios.cfsetispeed
+ libc.src.termios.cfsetospeed
+ libc.src.termios.tcdrain
+ libc.src.termios.tcflow
+ libc.src.termios.tcflush
+ libc.src.termios.tcgetattr
+ libc.src.termios.tcgetsid
+ libc.src.termios.tcgetwinsize
+ libc.src.termios.tcsendbreak
+ libc.src.termios.tcsetattr
+ libc.src.termios.tcsetwinsize
+
+ # unistd.h entrypoints
+ libc.src.unistd.alarm
+ libc.src.unistd.access
+ libc.src.unistd.chdir
+ libc.src.unistd.chown
+ libc.src.unistd.chroot
+ libc.src.unistd.close
+ libc.src.unistd.dup
+ libc.src.unistd.dup2
+ libc.src.unistd.dup3
+ libc.src.unistd.execle
+ libc.src.unistd.execve
+ libc.src.unistd.faccessat
+ libc.src.unistd.fchdir
+ libc.src.unistd.fchown
+ libc.src.unistd.fchownat
+ libc.src.unistd.fdatasync
+ libc.src.unistd.fexecve
+ libc.src.unistd.fpathconf
+ libc.src.unistd.fsync
+ libc.src.unistd.ftruncate
+ libc.src.unistd.getcwd
+ libc.src.unistd.getegid
+ libc.src.unistd.getentropy
+ libc.src.unistd.geteuid
+ libc.src.unistd.gethostname
+ libc.src.unistd.getpagesize
+ libc.src.unistd.getpgid
+ libc.src.unistd.getpgrp
+ libc.src.unistd.getpid
+ libc.src.unistd.getppid
+ libc.src.unistd.getsid
+ libc.src.unistd.gettid
+ libc.src.unistd.getgid
+ libc.src.unistd.getuid
+ libc.src.unistd.isatty
+ libc.src.unistd.lchown
+ libc.src.unistd.link
+ libc.src.unistd.linkat
+ libc.src.unistd.lockf
+ libc.src.unistd.lseek
+ libc.src.unistd.nice
+ libc.src.unistd.pathconf
+ libc.src.unistd.pause
+ libc.src.unistd.pipe
+ libc.src.unistd.pipe2
+ libc.src.unistd.pread
+ libc.src.unistd.pwrite
+ libc.src.unistd.read
+ libc.src.unistd.readlink
+ libc.src.unistd.readlinkat
+ libc.src.unistd.rmdir
+ libc.src.unistd.setpgid
+ libc.src.unistd.setsid
+ libc.src.unistd.sleep
+ libc.src.unistd.symlink
+ libc.src.unistd.symlinkat
+ libc.src.unistd.sync
+ libc.src.unistd.syncfs
+ libc.src.unistd.tcgetpgrp
+ libc.src.unistd.tcsetpgrp
+ libc.src.unistd.truncate
+ libc.src.unistd.unlink
+ libc.src.unistd.unlinkat
+ libc.src.unistd.usleep
+ libc.src.unistd.write
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wcsnlen
+ libc.src.wchar.wctob
+ libc.src.wchar.wmemmove
+ libc.src.wchar.wmemset
+ libc.src.wchar.wcschr
+ libc.src.wchar.wcsncmp
+ libc.src.wchar.wcsxfrm
+ libc.src.wchar.wcscmp
+ libc.src.wchar.wcscoll
+ libc.src.wchar.wcspbrk
+ libc.src.wchar.wcsrchr
+ libc.src.wchar.wcsspn
+ libc.src.wchar.wcscspn
+ libc.src.wchar.wcsdup
+ libc.src.wchar.wmemcmp
+ libc.src.wchar.wmempcpy
+ libc.src.wchar.wmemcpy
+ libc.src.wchar.wcsncpy
+ libc.src.wchar.wcscat
+ libc.src.wchar.wcsstr
+ libc.src.wchar.wcsncat
+ libc.src.wchar.wcslcat
+ libc.src.wchar.wcscpy
+ libc.src.wchar.wcslcpy
+ libc.src.wchar.wmemchr
+ libc.src.wchar.wcpcpy
+ libc.src.wchar.wcpncpy
+ libc.src.wchar.wcstod
+ libc.src.wchar.wcstof
+ libc.src.wchar.wcstok
+ libc.src.wchar.wcstol
+ libc.src.wchar.wcstold
+ libc.src.wchar.wcstoll
+ libc.src.wchar.wcstoul
+ libc.src.wchar.wcstoull
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+ libc.src.wctype.towlower
+ libc.src.wctype.towupper
+
+ # sys/uio.h entrypoints
+ libc.src.sys.uio.writev
+ libc.src.sys.uio.readv
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.setitimer
+ libc.src.sys.time.getitimer
+ libc.src.sys.time.gettimeofday
+)
+
+if(LLVM_LIBC_INCLUDE_SCUDO)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # malloc.h external entrypoints
+ libc.src.stdlib.mallopt
+ )
+endif()
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.acospif16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.asinpif16
+ libc.src.math.atanf16
+ libc.src.math.atan2f16
+ libc.src.math.atanhf16
+ libc.src.math.atanpif16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.erff16
+ libc.src.math.erfcf16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.rsqrtf
+ libc.src.math.rsqrtf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.atan2l
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ libc.src.stdfix.idivr
+ libc.src.stdfix.idivlr
+ libc.src.stdfix.idivk
+ libc.src.stdfix.idivlk
+ libc.src.stdfix.idivur
+ libc.src.stdfix.idivulr
+ libc.src.stdfix.idivuk
+ libc.src.stdfix.idivulk
+ libc.src.stdfix.rdivi
+ libc.src.stdfix.lrdivi
+ libc.src.stdfix.kdivi
+ libc.src.stdfix.lkdivi
+ libc.src.stdfix.urdivi
+ libc.src.stdfix.ulrdivi
+ libc.src.stdfix.ukdivi
+ libc.src.stdfix.ulkdivi
+ libc.src.stdfix.divir
+ libc.src.stdfix.divilr
+ libc.src.stdfix.divik
+ libc.src.stdfix.divilk
+ libc.src.stdfix.diviur
+ libc.src.stdfix.diviulr
+ libc.src.stdfix.diviuk
+ libc.src.stdfix.diviulk
+ )
+endif()
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.program_invocation_name
+ libc.src.errno.program_invocation_short_name
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # dirent.h entrypoints
+ libc.src.dirent.alphasort
+ libc.src.dirent.closedir
+ libc.src.dirent.dirfd
+ libc.src.dirent.opendir
+ libc.src.dirent.readdir
+ libc.src.dirent.scandir
+ libc.src.dirent.fdopendir
+
+ # pthread.h entrypoints
+ libc.src.pthread.__pthread_cleanup_pop
+ libc.src.pthread.__pthread_cleanup_push
+ libc.src.pthread.pthread_atfork
+ libc.src.pthread.pthread_attr_destroy
+ libc.src.pthread.pthread_attr_getdetachstate
+ libc.src.pthread.pthread_attr_getguardsize
+ libc.src.pthread.pthread_attr_getinheritsched
+ libc.src.pthread.pthread_attr_getschedparam
+ libc.src.pthread.pthread_attr_getschedpolicy
+ libc.src.pthread.pthread_attr_getscope
+ libc.src.pthread.pthread_attr_getstack
+ libc.src.pthread.pthread_attr_getstacksize
+ libc.src.pthread.pthread_attr_init
+ libc.src.pthread.pthread_attr_setdetachstate
+ libc.src.pthread.pthread_attr_setguardsize
+ libc.src.pthread.pthread_attr_setinheritsched
+ libc.src.pthread.pthread_attr_setschedparam
+ libc.src.pthread.pthread_attr_setschedpolicy
+ libc.src.pthread.pthread_attr_setscope
+ libc.src.pthread.pthread_attr_setstack
+ libc.src.pthread.pthread_attr_setstacksize
+ libc.src.pthread.pthread_condattr_destroy
+ libc.src.pthread.pthread_condattr_getclock
+ libc.src.pthread.pthread_condattr_getpshared
+ libc.src.pthread.pthread_condattr_init
+ libc.src.pthread.pthread_condattr_setclock
+ libc.src.pthread.pthread_condattr_setpshared
+ libc.src.pthread.pthread_cond_broadcast
+ libc.src.pthread.pthread_cond_clockwait
+ libc.src.pthread.pthread_cond_destroy
+ libc.src.pthread.pthread_cond_init
+ libc.src.pthread.pthread_cond_signal
+ libc.src.pthread.pthread_cond_timedwait
+ libc.src.pthread.pthread_cond_wait
+ libc.src.pthread.pthread_create
+ libc.src.pthread.pthread_detach
+ libc.src.pthread.pthread_equal
+ libc.src.pthread.pthread_exit
+ libc.src.pthread.pthread_getattr_np
+ libc.src.pthread.pthread_getname_np
+ libc.src.pthread.pthread_getschedparam
+ libc.src.pthread.pthread_getspecific
+ libc.src.pthread.pthread_getstack_np
+ libc.src.pthread.pthread_getthreadid_np
+ libc.src.pthread.pthread_getunique_np
+ libc.src.pthread.pthread_join
+ libc.src.pthread.pthread_key_create
+ libc.src.pthread.pthread_key_delete
+ libc.src.pthread.pthread_barrier_init
+ libc.src.pthread.pthread_barrier_wait
+ libc.src.pthread.pthread_barrier_destroy
+ libc.src.pthread.pthread_mutex_destroy
+ libc.src.pthread.pthread_mutex_init
+ libc.src.pthread.pthread_mutex_lock
+ libc.src.pthread.pthread_mutex_trylock
+ libc.src.pthread.pthread_mutex_unlock
+ libc.src.pthread.pthread_mutexattr_destroy
+ libc.src.pthread.pthread_mutexattr_getpshared
+ libc.src.pthread.pthread_mutexattr_getrobust
+ libc.src.pthread.pthread_mutexattr_gettype
+ libc.src.pthread.pthread_mutexattr_init
+ libc.src.pthread.pthread_mutexattr_setpshared
+ libc.src.pthread.pthread_mutexattr_setrobust
+ libc.src.pthread.pthread_mutexattr_settype
+ libc.src.pthread.pthread_once
+ libc.src.pthread.pthread_rwlock_clockrdlock
+ libc.src.pthread.pthread_rwlock_clockwrlock
+ libc.src.pthread.pthread_rwlock_destroy
+ libc.src.pthread.pthread_rwlock_init
+ libc.src.pthread.pthread_rwlock_rdlock
+ libc.src.pthread.pthread_rwlock_timedrdlock
+ libc.src.pthread.pthread_rwlock_timedwrlock
+ libc.src.pthread.pthread_rwlock_tryrdlock
+ libc.src.pthread.pthread_rwlock_trywrlock
+ libc.src.pthread.pthread_rwlock_unlock
+ libc.src.pthread.pthread_rwlock_wrlock
+ libc.src.pthread.pthread_rwlockattr_destroy
+ libc.src.pthread.pthread_rwlockattr_getkind_np
+ libc.src.pthread.pthread_rwlockattr_getpshared
+ libc.src.pthread.pthread_rwlockattr_init
+ libc.src.pthread.pthread_rwlockattr_setkind_np
+ libc.src.pthread.pthread_rwlockattr_setpshared
+ libc.src.pthread.pthread_spin_destroy
+ libc.src.pthread.pthread_spin_init
+ libc.src.pthread.pthread_spin_lock
+ libc.src.pthread.pthread_spin_trylock
+ libc.src.pthread.pthread_spin_unlock
+ libc.src.pthread.pthread_self
+ libc.src.pthread.pthread_setname_np
+ libc.src.pthread.pthread_setschedparam
+ libc.src.pthread.pthread_setspecific
+
+ # sched.h entrypoints
+ libc.src.sched.clone
+ libc.src.sched.__sched_andcpuset
+ libc.src.sched.__sched_clrcpuset
+ libc.src.sched.__sched_cpualloc
+ libc.src.sched.__sched_cpuequal
+ libc.src.sched.__sched_cpufree
+ libc.src.sched.__sched_getcpucount
+ libc.src.sched.__sched_getcpuisset
+ libc.src.sched.__sched_orcpuset
+ libc.src.sched.__sched_setcpuset
+ libc.src.sched.__sched_setcpuzero
+ libc.src.sched.__sched_xorcpuset
+
+ # semaphore.h entrypoints
+ libc.src.semaphore.sem_clockwait
+ libc.src.semaphore.sem_close
+ libc.src.semaphore.sem_destroy
+ libc.src.semaphore.sem_getvalue
+ libc.src.semaphore.sem_init
+ libc.src.semaphore.sem_open
+ libc.src.semaphore.sem_post
+ libc.src.semaphore.sem_timedwait
+ libc.src.semaphore.sem_trywait
+ libc.src.semaphore.sem_unlink
+ libc.src.semaphore.sem_wait
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.clearerr_unlocked
+ libc.src.stdio.fclose
+ libc.src.stdio.fdopen
+ libc.src.stdio.feof
+ libc.src.stdio.feof_unlocked
+ libc.src.stdio.ferror
+ libc.src.stdio.ferror_unlocked
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgetc_unlocked
+ libc.src.stdio.fgetpos
+ libc.src.stdio.fgets
+ libc.src.stdio.fileno
+ libc.src.stdio.flockfile
+ libc.src.stdio.fmemopen
+ libc.src.stdio.fopen
+ libc.src.stdio.freopen
+ libc.src.stdio.fopencookie
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fread_unlocked
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.fsetpos
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.funlockfile
+ libc.src.stdio.fwrite
+ libc.src.stdio.fwrite_unlocked
+ libc.src.stdio.getc
+ libc.src.stdio.getc_unlocked
+ libc.src.stdio.getchar
+ libc.src.stdio.getchar_unlocked
+ libc.src.stdio.pclose
+ libc.src.stdio.perror
+ libc.src.stdio.popen
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.rewind
+ libc.src.stdio.setbuf
+ libc.src.stdio.setvbuf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.__cxa_thread_atexit_impl
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.atexit
+ libc.src.stdlib.clearenv
+ libc.src.stdlib.exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.putenv
+ libc.src.stdlib.secure_getenv
+ libc.src.stdlib.setenv
+ libc.src.stdlib.system
+ libc.src.stdlib.unsetenv
+ libc.src.stdlib.mbstowcs
+ libc.src.stdlib.mbtowc
+ libc.src.stdlib.mblen
+ libc.src.stdlib.quick_exit
+ libc.src.stdlib.wcstombs
+ libc.src.stdlib.wctomb
+
+ # signal.h entrypoints
+ libc.src.signal.kill
+ libc.src.signal.pthread_kill
+ libc.src.signal.pthread_sigmask
+ libc.src.signal.raise
+ libc.src.signal.sigaction
+ libc.src.signal.sigaddset
+ libc.src.signal.sigaltstack
+ libc.src.signal.sigdelset
+ libc.src.signal.sigemptyset
+ libc.src.signal.sigfillset
+ libc.src.signal.sigismember
+ libc.src.signal.signal
+ libc.src.signal.sigprocmask
+
+ # spawn.h entrypoints
+ libc.src.spawn.posix_spawn
+ libc.src.spawn.posix_spawn_file_actions_addclose
+ libc.src.spawn.posix_spawn_file_actions_adddup2
+ libc.src.spawn.posix_spawn_file_actions_addopen
+ libc.src.spawn.posix_spawn_file_actions_destroy
+ libc.src.spawn.posix_spawn_file_actions_init
+
+ # search.h entrypoints
+ libc.src.search.hcreate
+ libc.src.search.hcreate_r
+ libc.src.search.hdestroy
+ libc.src.search.hdestroy_r
+ libc.src.search.hsearch
+ libc.src.search.hsearch_r
+ libc.src.search.insque
+ libc.src.search.lfind
+ libc.src.search.lsearch
+ libc.src.search.remque
+ libc.src.search.tdelete
+ libc.src.search.tdestroy
+ libc.src.search.tfind
+ libc.src.search.tsearch
+ libc.src.search.twalk
+ libc.src.search.twalk_r
+
+ # threads.h entrypoints
+ libc.src.threads.call_once
+ libc.src.threads.cnd_broadcast
+ libc.src.threads.cnd_destroy
+ libc.src.threads.cnd_init
+ libc.src.threads.cnd_signal
+ libc.src.threads.cnd_timedwait
+ libc.src.threads.cnd_wait
+ libc.src.threads.mtx_destroy
+ libc.src.threads.mtx_init
+ libc.src.threads.mtx_lock
+ libc.src.threads.mtx_trylock
+ libc.src.threads.mtx_unlock
+ libc.src.threads.thrd_create
+ libc.src.threads.thrd_current
+ libc.src.threads.thrd_detach
+ libc.src.threads.thrd_equal
+ libc.src.threads.thrd_exit
+ libc.src.threads.thrd_join
+ libc.src.threads.tss_create
+ libc.src.threads.tss_delete
+ libc.src.threads.tss_get
+ libc.src.threads.tss_set
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.clock
+ libc.src.time.clock_getcpuclockid
+ libc.src.time.clock_getres
+ libc.src.time.clock_gettime
+ libc.src.time.clock_settime
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.nanosleep
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.time
+ libc.src.time.timespec_get
+ libc.src.time.timer_create
+ libc.src.time.timer_delete
+ libc.src.time.timer_getoverrun
+ libc.src.time.timer_gettime
+ libc.src.time.timer_settime
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # unistd.h entrypoints
+ libc.src.unistd.__llvm_libc_syscall
+ libc.src.unistd._exit
+ libc.src.unistd.confstr
+ libc.src.unistd.environ
+ libc.src.unistd.execl
+ libc.src.unistd.execlp
+ libc.src.unistd.execv
+ libc.src.unistd.execvp
+ libc.src.unistd.execvpe
+ libc.src.unistd.fork
+ libc.src.unistd.getopt
+ libc.src.unistd.optarg
+ libc.src.unistd.opterr
+ libc.src.unistd.optind
+ libc.src.unistd.optopt
+ libc.src.unistd.swab
+ libc.src.unistd.sysconf
+
+ # sys/select.h entrypoints
+ libc.src.sys.select.pselect
+ libc.src.sys.select.select
+
+ # wchar.h entrypoints
+ libc.src.wchar.mbrlen
+ libc.src.wchar.mbsinit
+ libc.src.wchar.mbrtowc
+ libc.src.wchar.mbsrtowcs
+ libc.src.wchar.mbsnrtowcs
+ libc.src.wchar.wcrtomb
+ libc.src.wchar.wcsrtombs
+ libc.src.wchar.wcsnrtombs
+ libc.src.wchar.fgetwc
+ libc.src.wchar.fgetws
+ libc.src.wchar.fputwc
+ libc.src.wchar.fputws
+ libc.src.wchar.fwide
+ libc.src.wchar.getwc
+ libc.src.wchar.getwchar
+ libc.src.wchar.putwc
+ libc.src.wchar.putwchar
+ libc.src.wchar.ungetwc
+
+ # nl_types.h entrypoints
+ libc.src.nl_types.catopen
+ libc.src.nl_types.catclose
+ libc.src.nl_types.catgets
+
+ # link.h entrypoints
+ libc.src.link._r_debug
+ libc.src.link.dl_iterate_phdr
+ )
+endif()
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # fnmatch.h entrypoints
+ libc.src.fnmatch.fnmatch
+
+ # glob.h entrypoints
+ libc.src.glob.glob
+ libc.src.glob.globfree
+
+ # grp.h entrypoints
+ libc.src.grp.initgroups
+ libc.src.grp.setgroups
+
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # net/if.h entrypoints
+ libc.src.net.if_freenameindex
+ libc.src.net.if_nameindex
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+
+ # sys/ptrace.h entrypoints
+ libc.src.sys.ptrace.ptrace
+
+ # unistd.h entrypoints
+ libc.src.unistd.setegid
+ libc.src.unistd.seteuid
+ libc.src.unistd.setgid
+ libc.src.unistd.setregid
+ libc.src.unistd.setresgid
+ libc.src.unistd.setresuid
+ libc.src.unistd.setreuid
+ libc.src.unistd.setuid
+
+ # wchar.h entrypoints
+ libc.src.wchar.swprintf
+ )
+ endif()
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index 5d67548617ea5b..f195135c766c13 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -1,1847 +1,1849 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # arpa/inet.h entrypoints
- libc.src.arpa.inet.htonl
- libc.src.arpa.inet.htons
- libc.src.arpa.inet.inet_addr
- libc.src.arpa.inet.inet_aton
- libc.src.arpa.inet.inet_ntoa
- libc.src.arpa.inet.inet_ntop
- libc.src.arpa.inet.inet_pton
- libc.src.arpa.inet.ntohl
- libc.src.arpa.inet.ntohs
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # dlfcn.h entrypoints
- libc.src.dlfcn.dladdr
- libc.src.dlfcn.dlclose
- libc.src.dlfcn.dlerror
- libc.src.dlfcn.dlopen
- libc.src.dlfcn.dlsym
-
- # err.h entrypoints
- libc.src.err.err
- libc.src.err.verr
- libc.src.err.errx
- libc.src.err.verrx
- libc.src.err.warn
- libc.src.err.vwarn
- libc.src.err.warnx
- libc.src.err.vwarnx
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # fcntl.h entrypoints
- libc.src.fcntl.creat
- libc.src.fcntl.fallocate
- libc.src.fcntl.fcntl
- libc.src.fcntl.open
- libc.src.fcntl.openat
- libc.src.fcntl.posix_fadvise
- libc.src.fcntl.posix_fadvise64
- libc.src.fcntl.posix_fallocate
-
- # grp.h entrypoints
- libc.src.grp.endgrent
- libc.src.grp.getgrent
- libc.src.grp.getgrgid
- libc.src.grp.getgrgid_r
- libc.src.grp.getgrouplist
- libc.src.grp.getgrnam
- libc.src.grp.getgrnam_r
- libc.src.grp.setgrent
-
- # net/if.h entrypoints
- libc.src.net.if_indextoname
- libc.src.net.if_nametoindex
-
- # netinet/ether.h entrypoints
- libc.src.netinet.ether.ether_ntoa
- libc.src.netinet.ether.ether_ntoa_r
-
- # netinet/in.h entrypoints
- libc.src.netinet.in6addr_any
- libc.src.netinet.in6addr_loopback
-
- # poll.h entrypoints
- libc.src.poll.poll
- libc.src.poll.ppoll
-
- # pwd.h entrypoints
- libc.src.pwd.endpwent
- libc.src.pwd.getpwent
- libc.src.pwd.getpwent_r
- libc.src.pwd.getpwnam
- libc.src.pwd.getpwnam_r
- libc.src.pwd.getpwuid
- libc.src.pwd.getpwuid_r
- libc.src.pwd.setpwent
-
- # sched.h entrypoints
- libc.src.sched.getcpu
- libc.src.sched.sched_get_priority_max
- libc.src.sched.sched_get_priority_min
- libc.src.sched.sched_getaffinity
- libc.src.sched.sched_getcpu
- libc.src.sched.sched_getparam
- libc.src.sched.sched_getscheduler
- libc.src.sched.sched_rr_get_interval
- libc.src.sched.sched_setaffinity
- libc.src.sched.sched_setparam
- libc.src.sched.sched_setscheduler
- libc.src.sched.sched_yield
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strsignal
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
- libc.src.inttypes.wcstoimax
- libc.src.inttypes.wcstoumax
-
- # libgen.h entrypoints
- libc.src.libgen.basename
- libc.src.libgen.dirname
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib.a64l
- libc.src.stdlib.abs
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.getloadavg
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.mkdtemp
- libc.src.stdlib.mkostemp
- libc.src.stdlib.mkstemp
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realpath
- libc.src.stdlib.srand
- libc.src.stdlib.strfromd
- libc.src.stdlib.strfromf
- libc.src.stdlib.strfromf128
- libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.posix_memalign
- libc.src.stdlib.realloc
-
- # stdio.h entrypoints
- libc.src.stdio.fprintf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.printf
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.renameat
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.asprintf
- libc.src.stdio.sscanf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.tmpfile
- libc.src.stdio.tmpnam
- libc.src.stdio.vsscanf
- libc.src.stdio.vfprintf
- libc.src.stdio.vprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vasprintf
-
- # sys/epoll.h entrypoints
- libc.src.sys.epoll.epoll_create
- libc.src.sys.epoll.epoll_create1
- libc.src.sys.epoll.epoll_ctl
- libc.src.sys.epoll.epoll_pwait
- libc.src.sys.epoll.epoll_wait
- # TODO: Need to check if pwait2 is available before providing.
- # https://github.com/llvm/llvm-project/issues/80060
- # libc.src.sys.epoll.epoll_pwait2
-
- # sys/eventfd.h entrypoints
- libc.src.sys.eventfd.eventfd
-
- # sys/file.h entrypoints
- libc.src.sys.file.flock
-
- # sys/ioctl.h entrypoints
- libc.src.sys.ioctl.ioctl
-
- # sys/ipc.h entrypoints
- libc.src.sys.ipc.ftok
-
- # sys/mman.h entrypoints
- libc.src.sys.mman.madvise
- libc.src.sys.mman.memfd_create
- libc.src.sys.mman.mincore
- libc.src.sys.mman.mlock
- libc.src.sys.mman.mlock2
- libc.src.sys.mman.mlockall
- libc.src.sys.mman.mmap
- libc.src.sys.mman.mremap
- libc.src.sys.mman.mprotect
- libc.src.sys.mman.msync
- libc.src.sys.mman.munlock
- libc.src.sys.mman.munlockall
- libc.src.sys.mman.munmap
- libc.src.sys.mman.pkey_alloc
- libc.src.sys.mman.pkey_free
- libc.src.sys.mman.pkey_get
- libc.src.sys.mman.pkey_mprotect
- libc.src.sys.mman.pkey_set
- libc.src.sys.mman.remap_file_pages
- libc.src.sys.mman.posix_madvise
- libc.src.sys.mman.shm_open
- libc.src.sys.mman.shm_unlink
-
- # sys/random.h entrypoints
- libc.src.sys.random.getrandom
- libc.src.sys.random.getentropy
-
- # sys/resource.h entrypoints
- libc.src.sys.resource.getpriority
- libc.src.sys.resource.getrlimit
- libc.src.sys.resource.getrusage
- libc.src.sys.resource.setpriority
- libc.src.sys.resource.setrlimit
-
- # sys/sem.h entrypoints
- libc.src.sys.sem.semget
- libc.src.sys.sem.semctl
- libc.src.sys.sem.semop
-
- # sys/sendfile.h entrypoints
- libc.src.sys.sendfile.sendfile
-
- # sys/socket.h entrypoints
- libc.src.sys.socket.accept
- libc.src.sys.socket.accept4
- libc.src.sys.socket.bind
- libc.src.sys.socket.connect
- libc.src.sys.socket.getpeername
- libc.src.sys.socket.getsockname
- libc.src.sys.socket.getsockopt
- libc.src.sys.socket.listen
- libc.src.sys.socket.recv
- libc.src.sys.socket.recvfrom
- libc.src.sys.socket.send
- libc.src.sys.socket.sendto
- libc.src.sys.socket.setsockopt
- libc.src.sys.socket.shutdown
- libc.src.sys.socket.sockatmark
- libc.src.sys.socket.socket
- libc.src.sys.socket.socketpair
- # TODO: These functions are not compatible with 64-bit musl. They need to
- # be excluded if overlaying musl.
- libc.src.sys.socket.recvmmsg
- libc.src.sys.socket.recvmsg
- libc.src.sys.socket.sendmmsg
- libc.src.sys.socket.sendmsg
-
- # sys/stat.h entrypoints
- libc.src.sys.stat.chmod
- libc.src.sys.stat.fchmod
- libc.src.sys.stat.fchmodat
- libc.src.sys.stat.fstat
- libc.src.sys.stat.fstatat
- libc.src.sys.stat.futimens
- libc.src.sys.stat.lstat
- libc.src.sys.stat.mkdir
- libc.src.sys.stat.mkdirat
- libc.src.sys.stat.mkfifo
- libc.src.sys.stat.mkfifoat
- libc.src.sys.stat.mknod
- libc.src.sys.stat.mknodat
- libc.src.sys.stat.stat
- libc.src.sys.stat.umask
- libc.src.sys.stat.utimensat
-
- # sys/statfs.h entrypoints
- libc.src.sys.statfs.fstatfs
- libc.src.sys.statfs.statfs
-
- # sys/statvfs.h entrypoints
- libc.src.sys.statvfs.fstatvfs
- libc.src.sys.statvfs.statvfs
-
- # sys/time.h entrypoints
- libc.src.sys.time.utimes
-
- # sys/sysinfo.h entrypoints
- libc.src.sys.sysinfo.sysinfo
-
- # sys/utsname.h entrypoints
- libc.src.sys.utsname.uname
-
- # sys/wait.h entrypoints
- libc.src.sys.wait.wait
- libc.src.sys.wait.wait4
- libc.src.sys.wait.waitid
- libc.src.sys.wait.waitpid
-
- # sys/xattr.h entrypoints
- libc.src.sys.xattr.fgetxattr
- libc.src.sys.xattr.flistxattr
- libc.src.sys.xattr.fsetxattr
- libc.src.sys.xattr.getxattr
- libc.src.sys.xattr.lgetxattr
- libc.src.sys.xattr.listxattr
- libc.src.sys.xattr.llistxattr
- libc.src.sys.xattr.lsetxattr
- libc.src.sys.xattr.setxattr
-
- # sys/prctl.h entrypoints
- libc.src.sys.prctl.prctl
-
- # sys/personality.h entrypoints
- libc.src.sys.personality.personality
-
- # sys/auxv.h entrypoints
- libc.src.sys.auxv.getauxval
-
- # sys/sysmacros.h entrypoints
- libc.src.sys.sysmacros.makedev
- libc.src.sys.sysmacros.major
- libc.src.sys.sysmacros.minor
-
- # sys/inotify.h entrypoints
- libc.src.sys.inotify.inotify_add_watch
- libc.src.sys.inotify.inotify_init
- libc.src.sys.inotify.inotify_init1
- libc.src.sys.inotify.inotify_rm_watch
-
- # termios.h entrypoints
- libc.src.termios.cfgetispeed
- libc.src.termios.cfgetospeed
- libc.src.termios.cfsetispeed
- libc.src.termios.cfsetospeed
- libc.src.termios.tcdrain
- libc.src.termios.tcflow
- libc.src.termios.tcflush
- libc.src.termios.tcgetattr
- libc.src.termios.tcgetsid
- libc.src.termios.tcgetwinsize
- libc.src.termios.tcsendbreak
- libc.src.termios.tcsetattr
- libc.src.termios.tcsetwinsize
-
- # unistd.h entrypoints
- libc.src.unistd.alarm
- libc.src.unistd.access
- libc.src.unistd.chdir
- libc.src.unistd.chown
- libc.src.unistd.chroot
- libc.src.unistd.close
- libc.src.unistd.dup
- libc.src.unistd.dup2
- libc.src.unistd.dup3
- libc.src.unistd.execle
- libc.src.unistd.execve
- libc.src.unistd.faccessat
- libc.src.unistd.fchdir
- libc.src.unistd.fchown
- libc.src.unistd.fchownat
- libc.src.unistd.fdatasync
- libc.src.unistd.fexecve
- libc.src.unistd.fpathconf
- libc.src.unistd.fsync
- libc.src.unistd.ftruncate
- libc.src.unistd.getcwd
- libc.src.unistd.getegid
- libc.src.unistd.getentropy
- libc.src.unistd.geteuid
- libc.src.unistd.gethostname
- libc.src.unistd.getpagesize
- libc.src.unistd.getpgid
- libc.src.unistd.getpgrp
- libc.src.unistd.getpid
- libc.src.unistd.getppid
- libc.src.unistd.getsid
- libc.src.unistd.gettid
- libc.src.unistd.getgid
- libc.src.unistd.getuid
- libc.src.unistd.isatty
- libc.src.unistd.lchown
- libc.src.unistd.link
- libc.src.unistd.linkat
- libc.src.unistd.lockf
- libc.src.unistd.lseek
- libc.src.unistd.nice
- libc.src.unistd.pathconf
- libc.src.unistd.pause
- libc.src.unistd.pipe
- libc.src.unistd.pipe2
- libc.src.unistd.pread
- libc.src.unistd.pwrite
- libc.src.unistd.read
- libc.src.unistd.readlink
- libc.src.unistd.readlinkat
- libc.src.unistd.rmdir
- libc.src.unistd.setpgid
- libc.src.unistd.setsid
- libc.src.unistd.sleep
- libc.src.unistd.symlink
- libc.src.unistd.symlinkat
- libc.src.unistd.sync
- libc.src.unistd.syncfs
- libc.src.unistd.tcgetpgrp
- libc.src.unistd.tcsetpgrp
- libc.src.unistd.truncate
- libc.src.unistd.unlink
- libc.src.unistd.unlinkat
- libc.src.unistd.usleep
- libc.src.unistd.write
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcscasecmp
- libc.src.wchar.wcsncasecmp
- libc.src.wchar.wcslen
- libc.src.wchar.wcsnlen
- libc.src.wchar.wctob
- libc.src.wchar.wmemmove
- libc.src.wchar.wmemset
- libc.src.wchar.wcschr
- libc.src.wchar.wcsncmp
- libc.src.wchar.wcsxfrm
- libc.src.wchar.wcscmp
- libc.src.wchar.wcscoll
- libc.src.wchar.wcspbrk
- libc.src.wchar.wcsrchr
- libc.src.wchar.wcsspn
- libc.src.wchar.wcscspn
- libc.src.wchar.wcsdup
- libc.src.wchar.wmemcmp
- libc.src.wchar.wmempcpy
- libc.src.wchar.wmemcpy
- libc.src.wchar.wcsncpy
- libc.src.wchar.wcscat
- libc.src.wchar.wcsstr
- libc.src.wchar.wcsncat
- libc.src.wchar.wcslcat
- libc.src.wchar.wcscpy
- libc.src.wchar.wcslcpy
- libc.src.wchar.wmemchr
- libc.src.wchar.wcpcpy
- libc.src.wchar.wcpncpy
- libc.src.wchar.wcstod
- libc.src.wchar.wcstof
- libc.src.wchar.wcstok
- libc.src.wchar.wcstol
- libc.src.wchar.wcstold
- libc.src.wchar.wcstoll
- libc.src.wchar.wcstoul
- libc.src.wchar.wcstoull
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
- libc.src.wctype.towlower
- libc.src.wctype.towupper
-
- # sys/uio.h entrypoints
- libc.src.sys.uio.writev
- libc.src.sys.uio.readv
-
- # sys/time.h entrypoints
- libc.src.sys.time.setitimer
- libc.src.sys.time.getitimer
- libc.src.sys.time.gettimeofday
-)
-
-if(LLVM_LIBC_INCLUDE_SCUDO)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # malloc.h external entrypoints
- libc.src.stdlib.mallopt
- )
-endif()
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.acospif16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.asinpif16
- libc.src.math.atanf16
- libc.src.math.atan2f16
- libc.src.math.atanhf16
- libc.src.math.atanpif16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.erff16
- libc.src.math.erfcf16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.rsqrtf
- libc.src.math.rsqrtf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.atan2l
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- libc.src.stdfix.idivr
- libc.src.stdfix.idivlr
- libc.src.stdfix.idivk
- libc.src.stdfix.idivlk
- libc.src.stdfix.idivur
- libc.src.stdfix.idivulr
- libc.src.stdfix.idivuk
- libc.src.stdfix.idivulk
- libc.src.stdfix.rdivi
- libc.src.stdfix.lrdivi
- libc.src.stdfix.kdivi
- libc.src.stdfix.lkdivi
- libc.src.stdfix.urdivi
- libc.src.stdfix.ulrdivi
- libc.src.stdfix.ukdivi
- libc.src.stdfix.ulkdivi
- libc.src.stdfix.divir
- libc.src.stdfix.divilr
- libc.src.stdfix.divik
- libc.src.stdfix.divilk
- libc.src.stdfix.diviur
- libc.src.stdfix.diviulr
- libc.src.stdfix.diviuk
- libc.src.stdfix.diviulk
- )
-endif()
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.program_invocation_name
- libc.src.errno.program_invocation_short_name
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # dirent.h entrypoints
- libc.src.dirent.alphasort
- libc.src.dirent.closedir
- libc.src.dirent.dirfd
- libc.src.dirent.opendir
- libc.src.dirent.readdir
- libc.src.dirent.scandir
- libc.src.dirent.fdopendir
-
- # pthread.h entrypoints
- libc.src.pthread.__pthread_cleanup_pop
- libc.src.pthread.__pthread_cleanup_push
- libc.src.pthread.pthread_atfork
- libc.src.pthread.pthread_attr_destroy
- libc.src.pthread.pthread_attr_getdetachstate
- libc.src.pthread.pthread_attr_getguardsize
- libc.src.pthread.pthread_attr_getinheritsched
- libc.src.pthread.pthread_attr_getschedparam
- libc.src.pthread.pthread_attr_getschedpolicy
- libc.src.pthread.pthread_attr_getscope
- libc.src.pthread.pthread_attr_getstack
- libc.src.pthread.pthread_attr_getstacksize
- libc.src.pthread.pthread_attr_init
- libc.src.pthread.pthread_attr_setdetachstate
- libc.src.pthread.pthread_attr_setguardsize
- libc.src.pthread.pthread_attr_setinheritsched
- libc.src.pthread.pthread_attr_setschedparam
- libc.src.pthread.pthread_attr_setschedpolicy
- libc.src.pthread.pthread_attr_setscope
- libc.src.pthread.pthread_attr_setstack
- libc.src.pthread.pthread_attr_setstacksize
- libc.src.pthread.pthread_condattr_destroy
- libc.src.pthread.pthread_condattr_getclock
- libc.src.pthread.pthread_condattr_getpshared
- libc.src.pthread.pthread_condattr_init
- libc.src.pthread.pthread_condattr_setclock
- libc.src.pthread.pthread_condattr_setpshared
- libc.src.pthread.pthread_cond_broadcast
- libc.src.pthread.pthread_cond_clockwait
- libc.src.pthread.pthread_cond_destroy
- libc.src.pthread.pthread_cond_init
- libc.src.pthread.pthread_cond_signal
- libc.src.pthread.pthread_cond_timedwait
- libc.src.pthread.pthread_cond_wait
- libc.src.pthread.pthread_create
- libc.src.pthread.pthread_detach
- libc.src.pthread.pthread_equal
- libc.src.pthread.pthread_exit
- libc.src.pthread.pthread_getattr_np
- libc.src.pthread.pthread_getname_np
- libc.src.pthread.pthread_getschedparam
- libc.src.pthread.pthread_getspecific
- libc.src.pthread.pthread_getstack_np
- libc.src.pthread.pthread_getthreadid_np
- libc.src.pthread.pthread_getunique_np
- libc.src.pthread.pthread_join
- libc.src.pthread.pthread_key_create
- libc.src.pthread.pthread_key_delete
- libc.src.pthread.pthread_barrier_init
- libc.src.pthread.pthread_barrier_wait
- libc.src.pthread.pthread_barrier_destroy
- libc.src.pthread.pthread_mutex_destroy
- libc.src.pthread.pthread_mutex_init
- libc.src.pthread.pthread_mutex_lock
- libc.src.pthread.pthread_mutex_trylock
- libc.src.pthread.pthread_mutex_unlock
- libc.src.pthread.pthread_mutexattr_destroy
- libc.src.pthread.pthread_mutexattr_getpshared
- libc.src.pthread.pthread_mutexattr_getrobust
- libc.src.pthread.pthread_mutexattr_gettype
- libc.src.pthread.pthread_mutexattr_init
- libc.src.pthread.pthread_mutexattr_setpshared
- libc.src.pthread.pthread_mutexattr_setrobust
- libc.src.pthread.pthread_mutexattr_settype
- libc.src.pthread.pthread_once
- libc.src.pthread.pthread_rwlock_clockrdlock
- libc.src.pthread.pthread_rwlock_clockwrlock
- libc.src.pthread.pthread_rwlock_destroy
- libc.src.pthread.pthread_rwlock_init
- libc.src.pthread.pthread_rwlock_rdlock
- libc.src.pthread.pthread_rwlock_timedrdlock
- libc.src.pthread.pthread_rwlock_timedwrlock
- libc.src.pthread.pthread_rwlock_tryrdlock
- libc.src.pthread.pthread_rwlock_trywrlock
- libc.src.pthread.pthread_rwlock_unlock
- libc.src.pthread.pthread_rwlock_wrlock
- libc.src.pthread.pthread_rwlockattr_destroy
- libc.src.pthread.pthread_rwlockattr_getkind_np
- libc.src.pthread.pthread_rwlockattr_getpshared
- libc.src.pthread.pthread_rwlockattr_init
- libc.src.pthread.pthread_rwlockattr_setkind_np
- libc.src.pthread.pthread_rwlockattr_setpshared
- libc.src.pthread.pthread_spin_destroy
- libc.src.pthread.pthread_spin_init
- libc.src.pthread.pthread_spin_lock
- libc.src.pthread.pthread_spin_trylock
- libc.src.pthread.pthread_spin_unlock
- libc.src.pthread.pthread_self
- libc.src.pthread.pthread_setname_np
- libc.src.pthread.pthread_setschedparam
- libc.src.pthread.pthread_setspecific
-
- # sched.h entrypoints
- libc.src.sched.clone
- libc.src.sched.__sched_andcpuset
- libc.src.sched.__sched_clrcpuset
- libc.src.sched.__sched_cpualloc
- libc.src.sched.__sched_cpuequal
- libc.src.sched.__sched_cpufree
- libc.src.sched.__sched_getcpucount
- libc.src.sched.__sched_getcpuisset
- libc.src.sched.__sched_orcpuset
- libc.src.sched.__sched_setcpuset
- libc.src.sched.__sched_setcpuzero
- libc.src.sched.__sched_xorcpuset
-
- # semaphore.h entrypoints
- libc.src.semaphore.sem_clockwait
- libc.src.semaphore.sem_close
- libc.src.semaphore.sem_destroy
- libc.src.semaphore.sem_getvalue
- libc.src.semaphore.sem_init
- libc.src.semaphore.sem_open
- libc.src.semaphore.sem_post
- libc.src.semaphore.sem_timedwait
- libc.src.semaphore.sem_trywait
- libc.src.semaphore.sem_unlink
- libc.src.semaphore.sem_wait
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
-
- # ucontext.h entrypoints
- libc.src.ucontext.getcontext
- libc.src.ucontext.setcontext
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.clearerr_unlocked
- libc.src.stdio.fclose
- libc.src.stdio.fdopen
- libc.src.stdio.feof
- libc.src.stdio.feof_unlocked
- libc.src.stdio.ferror
- libc.src.stdio.ferror_unlocked
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgetc_unlocked
- libc.src.stdio.fgetpos
- libc.src.stdio.fgets
- libc.src.stdio.fileno
- libc.src.stdio.flockfile
- libc.src.stdio.fmemopen
- libc.src.stdio.fopen
- libc.src.stdio.freopen
- libc.src.stdio.fopencookie
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fread_unlocked
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.fsetpos
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.funlockfile
- libc.src.stdio.fwrite
- libc.src.stdio.fwrite_unlocked
- libc.src.stdio.getc
- libc.src.stdio.getc_unlocked
- libc.src.stdio.getchar
- libc.src.stdio.getchar_unlocked
- libc.src.stdio.pclose
- libc.src.stdio.perror
- libc.src.stdio.popen
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.rewind
- libc.src.stdio.setbuf
- libc.src.stdio.setvbuf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # stdlib.h entrypoints
- libc.src.stdlib.__cxa_thread_atexit_impl
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.atexit
- libc.src.stdlib.clearenv
- libc.src.stdlib.exit
- libc.src.stdlib.getenv
- libc.src.stdlib.putenv
- libc.src.stdlib.secure_getenv
- libc.src.stdlib.setenv
- libc.src.stdlib.unsetenv
- libc.src.stdlib.mbstowcs
- libc.src.stdlib.mbtowc
- libc.src.stdlib.mblen
- libc.src.stdlib.quick_exit
- libc.src.stdlib.system
- libc.src.stdlib.wcstombs
- libc.src.stdlib.wctomb
-
- # signal.h entrypoints
- libc.src.signal.kill
- libc.src.signal.pthread_kill
- libc.src.signal.pthread_sigmask
- libc.src.signal.raise
- libc.src.signal.sigaction
- libc.src.signal.sigaddset
- libc.src.signal.sigaltstack
- libc.src.signal.sigdelset
- libc.src.signal.sigemptyset
- libc.src.signal.sigfillset
- libc.src.signal.sigismember
- libc.src.signal.signal
- libc.src.signal.sigprocmask
-
- # spawn.h entrypoints
- libc.src.spawn.posix_spawn
- libc.src.spawn.posix_spawn_file_actions_addclose
- libc.src.spawn.posix_spawn_file_actions_adddup2
- libc.src.spawn.posix_spawn_file_actions_addopen
- libc.src.spawn.posix_spawn_file_actions_destroy
- libc.src.spawn.posix_spawn_file_actions_init
-
- # search.h entrypoints
- libc.src.search.hcreate
- libc.src.search.hcreate_r
- libc.src.search.hdestroy
- libc.src.search.hdestroy_r
- libc.src.search.hsearch
- libc.src.search.hsearch_r
- libc.src.search.insque
- libc.src.search.lfind
- libc.src.search.lsearch
- libc.src.search.remque
- libc.src.search.tdelete
- libc.src.search.tdestroy
- libc.src.search.tfind
- libc.src.search.tsearch
- libc.src.search.twalk
- libc.src.search.twalk_r
-
- # threads.h entrypoints
- libc.src.threads.call_once
- libc.src.threads.cnd_broadcast
- libc.src.threads.cnd_destroy
- libc.src.threads.cnd_init
- libc.src.threads.cnd_signal
- libc.src.threads.cnd_timedwait
- libc.src.threads.cnd_wait
- libc.src.threads.mtx_destroy
- libc.src.threads.mtx_init
- libc.src.threads.mtx_lock
- libc.src.threads.mtx_trylock
- libc.src.threads.mtx_unlock
- libc.src.threads.thrd_create
- libc.src.threads.thrd_current
- libc.src.threads.thrd_detach
- libc.src.threads.thrd_equal
- libc.src.threads.thrd_exit
- libc.src.threads.thrd_join
- libc.src.threads.tss_create
- libc.src.threads.tss_delete
- libc.src.threads.tss_get
- libc.src.threads.tss_set
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.clock
- libc.src.time.clock_getcpuclockid
- libc.src.time.clock_getres
- libc.src.time.clock_gettime
- libc.src.time.clock_settime
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.nanosleep
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.time
- libc.src.time.timespec_get
- libc.src.time.timer_create
- libc.src.time.timer_delete
- libc.src.time.timer_getoverrun
- libc.src.time.timer_gettime
- libc.src.time.timer_settime
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # unistd.h entrypoints
- libc.src.unistd.__llvm_libc_syscall
- libc.src.unistd._exit
- libc.src.unistd.confstr
- libc.src.unistd.environ
- libc.src.unistd.execl
- libc.src.unistd.execlp
- libc.src.unistd.execv
- libc.src.unistd.execvp
- libc.src.unistd.execvpe
- libc.src.unistd.fork
- libc.src.unistd.getopt
- libc.src.unistd.optarg
- libc.src.unistd.opterr
- libc.src.unistd.optind
- libc.src.unistd.optopt
- libc.src.unistd.swab
- libc.src.unistd.sysconf
-
- # sys/select.h entrypoints
- libc.src.sys.select.pselect
- libc.src.sys.select.select
-
- # wchar.h entrypoints
- libc.src.wchar.mbrlen
- libc.src.wchar.mbsinit
- libc.src.wchar.mbrtowc
- libc.src.wchar.mbsrtowcs
- libc.src.wchar.mbsnrtowcs
- libc.src.wchar.wcrtomb
- libc.src.wchar.wcsrtombs
- libc.src.wchar.wcsnrtombs
- libc.src.wchar.fgetwc
- libc.src.wchar.fgetws
- libc.src.wchar.fputwc
- libc.src.wchar.fputws
- libc.src.wchar.fwide
- libc.src.wchar.getwc
- libc.src.wchar.getwchar
- libc.src.wchar.putwc
- libc.src.wchar.putwchar
- libc.src.wchar.ungetwc
-
- # nl_types.h entrypoints
- libc.src.nl_types.catopen
- libc.src.nl_types.catclose
- libc.src.nl_types.catgets
-
- # link.h entrypoints
- libc.src.link._r_debug
- libc.src.link.dl_iterate_phdr
- )
-endif()
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # fnmatch.h entrypoints
- libc.src.fnmatch.fnmatch
-
- # glob.h entrypoints
- libc.src.glob.glob
- libc.src.glob.globfree
-
- # grp.h entrypoints
- libc.src.grp.initgroups
- libc.src.grp.setgroups
-
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # net/if.h entrypoints
- libc.src.net.if_freenameindex
- libc.src.net.if_nameindex
-
- # netdb.h entrypoints
- libc.src.netdb.freeaddrinfo
- libc.src.netdb.gai_strerror
- libc.src.netdb.getaddrinfo
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
-
- # sys/ptrace.h entrypoints
- libc.src.sys.ptrace.ptrace
-
- # time.h entrypoints
- libc.src.time.strptime
- libc.src.time.tz_variables
- libc.src.time.tzset
-
- # unistd.h entrypoints
- libc.src.unistd.setegid
- libc.src.unistd.seteuid
- libc.src.unistd.setgid
- libc.src.unistd.setregid
- libc.src.unistd.setresgid
- libc.src.unistd.setresuid
- libc.src.unistd.setreuid
- libc.src.unistd.setuid
-
- # wchar.h entrypoints
- libc.src.wchar.swprintf
- )
- endif()
-endif()
-
-set(TARGET_LIBMVEC_ENTRYPOINTS)
-
-if(LIBC_COMPILER_HAS_EXT_VECTOR_TYPE)
-list(APPEND TARGET_LIBMVEC_ENTRYPOINTS
- libc.src.mathvec.acosf
- libc.src.mathvec.acoshf
- libc.src.mathvec.acospif
- libc.src.mathvec.asinf
- libc.src.mathvec.asinhf
- libc.src.mathvec.asinpif
- libc.src.mathvec.atanf
- libc.src.mathvec.atanhf
- libc.src.mathvec.cbrtf
- libc.src.mathvec.cosf
- libc.src.mathvec.coshf
- libc.src.mathvec.cospif
- libc.src.mathvec.erff
- libc.src.mathvec.exp2f
- libc.src.mathvec.exp2m1f
- libc.src.mathvec.exp10f
- libc.src.mathvec.exp10m1f
- libc.src.mathvec.expf
- libc.src.mathvec.expm1f
- libc.src.mathvec.log10f
- libc.src.mathvec.log1pf
- libc.src.mathvec.log2f
- libc.src.mathvec.logf
- libc.src.mathvec.rsqrtf
- libc.src.mathvec.sinf
- libc.src.mathvec.sinhf
- libc.src.mathvec.sinpif
- libc.src.mathvec.sqrtf
- libc.src.mathvec.tanf
- libc.src.mathvec.tanhf
- libc.src.mathvec.tanpif
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
- ${TARGET_LIBMVEC_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # arpa/inet.h entrypoints
+ libc.src.arpa.inet.htonl
+ libc.src.arpa.inet.htons
+ libc.src.arpa.inet.inet_addr
+ libc.src.arpa.inet.inet_aton
+ libc.src.arpa.inet.inet_ntoa
+ libc.src.arpa.inet.inet_ntop
+ libc.src.arpa.inet.inet_pton
+ libc.src.arpa.inet.ntohl
+ libc.src.arpa.inet.ntohs
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # dlfcn.h entrypoints
+ libc.src.dlfcn.dladdr
+ libc.src.dlfcn.dlclose
+ libc.src.dlfcn.dlerror
+ libc.src.dlfcn.dlopen
+ libc.src.dlfcn.dlsym
+
+ # err.h entrypoints
+ libc.src.err.err
+ libc.src.err.verr
+ libc.src.err.errx
+ libc.src.err.verrx
+ libc.src.err.warn
+ libc.src.err.vwarn
+ libc.src.err.warnx
+ libc.src.err.vwarnx
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # fcntl.h entrypoints
+ libc.src.fcntl.creat
+ libc.src.fcntl.fallocate
+ libc.src.fcntl.fcntl
+ libc.src.fcntl.open
+ libc.src.fcntl.openat
+ libc.src.fcntl.posix_fadvise
+ libc.src.fcntl.posix_fadvise64
+ libc.src.fcntl.posix_fallocate
+
+ # grp.h entrypoints
+ libc.src.grp.endgrent
+ libc.src.grp.getgrent
+ libc.src.grp.getgrgid
+ libc.src.grp.getgrgid_r
+ libc.src.grp.getgrouplist
+ libc.src.grp.getgrnam
+ libc.src.grp.getgrnam_r
+ libc.src.grp.setgrent
+
+ # net/if.h entrypoints
+ libc.src.net.if_indextoname
+ libc.src.net.if_nametoindex
+
+ # netinet/ether.h entrypoints
+ libc.src.netinet.ether.ether_ntoa
+ libc.src.netinet.ether.ether_ntoa_r
+
+ # netinet/in.h entrypoints
+ libc.src.netinet.in6addr_any
+ libc.src.netinet.in6addr_loopback
+
+ # poll.h entrypoints
+ libc.src.poll.poll
+ libc.src.poll.ppoll
+
+ # pwd.h entrypoints
+ libc.src.pwd.endpwent
+ libc.src.pwd.getpwent
+ libc.src.pwd.getpwent_r
+ libc.src.pwd.getpwnam
+ libc.src.pwd.getpwnam_r
+ libc.src.pwd.getpwuid
+ libc.src.pwd.getpwuid_r
+ libc.src.pwd.setpwent
+
+ # sched.h entrypoints
+ libc.src.sched.getcpu
+ libc.src.sched.sched_get_priority_max
+ libc.src.sched.sched_get_priority_min
+ libc.src.sched.sched_getaffinity
+ libc.src.sched.sched_getcpu
+ libc.src.sched.sched_getparam
+ libc.src.sched.sched_getscheduler
+ libc.src.sched.sched_rr_get_interval
+ libc.src.sched.sched_setaffinity
+ libc.src.sched.sched_setparam
+ libc.src.sched.sched_setscheduler
+ libc.src.sched.sched_yield
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strsignal
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+ libc.src.inttypes.wcstoimax
+ libc.src.inttypes.wcstoumax
+
+ # libgen.h entrypoints
+ libc.src.libgen.basename
+ libc.src.libgen.dirname
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abs
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.getloadavg
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.mkdtemp
+ libc.src.stdlib.mkostemp
+ libc.src.stdlib.mkstemp
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realpath
+ libc.src.stdlib.srand
+ libc.src.stdlib.strfromd
+ libc.src.stdlib.strfromf
+ libc.src.stdlib.strfromf128
+ libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.posix_memalign
+ libc.src.stdlib.realloc
+
+ # stdio.h entrypoints
+ libc.src.stdio.fprintf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.printf
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.renameat
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.tmpfile
+ libc.src.stdio.tmpnam
+ libc.src.stdio.vsscanf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vasprintf
+
+ # sys/epoll.h entrypoints
+ libc.src.sys.epoll.epoll_create
+ libc.src.sys.epoll.epoll_create1
+ libc.src.sys.epoll.epoll_ctl
+ libc.src.sys.epoll.epoll_pwait
+ libc.src.sys.epoll.epoll_wait
+ # TODO: Need to check if pwait2 is available before providing.
+ # https://github.com/llvm/llvm-project/issues/80060
+ # libc.src.sys.epoll.epoll_pwait2
+
+ # sys/eventfd.h entrypoints
+ libc.src.sys.eventfd.eventfd
+
+ # sys/file.h entrypoints
+ libc.src.sys.file.flock
+
+ # sys/ioctl.h entrypoints
+ libc.src.sys.ioctl.ioctl
+
+ # sys/ipc.h entrypoints
+ libc.src.sys.ipc.ftok
+
+ # sys/mman.h entrypoints
+ libc.src.sys.mman.madvise
+ libc.src.sys.mman.memfd_create
+ libc.src.sys.mman.mincore
+ libc.src.sys.mman.mlock
+ libc.src.sys.mman.mlock2
+ libc.src.sys.mman.mlockall
+ libc.src.sys.mman.mmap
+ libc.src.sys.mman.mremap
+ libc.src.sys.mman.mprotect
+ libc.src.sys.mman.msync
+ libc.src.sys.mman.munlock
+ libc.src.sys.mman.munlockall
+ libc.src.sys.mman.munmap
+ libc.src.sys.mman.pkey_alloc
+ libc.src.sys.mman.pkey_free
+ libc.src.sys.mman.pkey_get
+ libc.src.sys.mman.pkey_mprotect
+ libc.src.sys.mman.pkey_set
+ libc.src.sys.mman.remap_file_pages
+ libc.src.sys.mman.posix_madvise
+ libc.src.sys.mman.shm_open
+ libc.src.sys.mman.shm_unlink
+
+ # sys/random.h entrypoints
+ libc.src.sys.random.getrandom
+ libc.src.sys.random.getentropy
+
+ # sys/resource.h entrypoints
+ libc.src.sys.resource.getpriority
+ libc.src.sys.resource.getrlimit
+ libc.src.sys.resource.getrusage
+ libc.src.sys.resource.setpriority
+ libc.src.sys.resource.setrlimit
+
+ # sys/sem.h entrypoints
+ libc.src.sys.sem.semget
+ libc.src.sys.sem.semctl
+ libc.src.sys.sem.semop
+
+ # sys/sendfile.h entrypoints
+ libc.src.sys.sendfile.sendfile
+
+ # sys/socket.h entrypoints
+ libc.src.sys.socket.accept
+ libc.src.sys.socket.accept4
+ libc.src.sys.socket.bind
+ libc.src.sys.socket.connect
+ libc.src.sys.socket.getpeername
+ libc.src.sys.socket.getsockname
+ libc.src.sys.socket.getsockopt
+ libc.src.sys.socket.listen
+ libc.src.sys.socket.recv
+ libc.src.sys.socket.recvfrom
+ libc.src.sys.socket.send
+ libc.src.sys.socket.sendto
+ libc.src.sys.socket.setsockopt
+ libc.src.sys.socket.shutdown
+ libc.src.sys.socket.sockatmark
+ libc.src.sys.socket.socket
+ libc.src.sys.socket.socketpair
+ # TODO: These functions are not compatible with 64-bit musl. They need to
+ # be excluded if overlaying musl.
+ libc.src.sys.socket.recvmmsg
+ libc.src.sys.socket.recvmsg
+ libc.src.sys.socket.sendmmsg
+ libc.src.sys.socket.sendmsg
+
+ # sys/stat.h entrypoints
+ libc.src.sys.stat.chmod
+ libc.src.sys.stat.fchmod
+ libc.src.sys.stat.fchmodat
+ libc.src.sys.stat.fstat
+ libc.src.sys.stat.fstatat
+ libc.src.sys.stat.futimens
+ libc.src.sys.stat.lstat
+ libc.src.sys.stat.mkdir
+ libc.src.sys.stat.mkdirat
+ libc.src.sys.stat.mkfifo
+ libc.src.sys.stat.mkfifoat
+ libc.src.sys.stat.mknod
+ libc.src.sys.stat.mknodat
+ libc.src.sys.stat.stat
+ libc.src.sys.stat.umask
+ libc.src.sys.stat.utimensat
+
+ # sys/statfs.h entrypoints
+ libc.src.sys.statfs.fstatfs
+ libc.src.sys.statfs.statfs
+
+ # sys/statvfs.h entrypoints
+ libc.src.sys.statvfs.fstatvfs
+ libc.src.sys.statvfs.statvfs
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.utimes
+
+ # sys/sysinfo.h entrypoints
+ libc.src.sys.sysinfo.sysinfo
+
+ # sys/utsname.h entrypoints
+ libc.src.sys.utsname.uname
+
+ # sys/wait.h entrypoints
+ libc.src.sys.wait.wait
+ libc.src.sys.wait.wait4
+ libc.src.sys.wait.waitid
+ libc.src.sys.wait.waitpid
+
+ # sys/xattr.h entrypoints
+ libc.src.sys.xattr.fgetxattr
+ libc.src.sys.xattr.flistxattr
+ libc.src.sys.xattr.fsetxattr
+ libc.src.sys.xattr.getxattr
+ libc.src.sys.xattr.lgetxattr
+ libc.src.sys.xattr.listxattr
+ libc.src.sys.xattr.llistxattr
+ libc.src.sys.xattr.lsetxattr
+ libc.src.sys.xattr.setxattr
+
+ # sys/prctl.h entrypoints
+ libc.src.sys.prctl.prctl
+
+ # sys/personality.h entrypoints
+ libc.src.sys.personality.personality
+
+ # sys/auxv.h entrypoints
+ libc.src.sys.auxv.getauxval
+
+ # sys/sysmacros.h entrypoints
+ libc.src.sys.sysmacros.makedev
+ libc.src.sys.sysmacros.major
+ libc.src.sys.sysmacros.minor
+
+ # sys/inotify.h entrypoints
+ libc.src.sys.inotify.inotify_add_watch
+ libc.src.sys.inotify.inotify_init
+ libc.src.sys.inotify.inotify_init1
+ libc.src.sys.inotify.inotify_rm_watch
+
+ # termios.h entrypoints
+ libc.src.termios.cfgetispeed
+ libc.src.termios.cfgetospeed
+ libc.src.termios.cfsetispeed
+ libc.src.termios.cfsetospeed
+ libc.src.termios.tcdrain
+ libc.src.termios.tcflow
+ libc.src.termios.tcflush
+ libc.src.termios.tcgetattr
+ libc.src.termios.tcgetsid
+ libc.src.termios.tcgetwinsize
+ libc.src.termios.tcsendbreak
+ libc.src.termios.tcsetattr
+ libc.src.termios.tcsetwinsize
+
+ # unistd.h entrypoints
+ libc.src.unistd.alarm
+ libc.src.unistd.access
+ libc.src.unistd.chdir
+ libc.src.unistd.chown
+ libc.src.unistd.chroot
+ libc.src.unistd.close
+ libc.src.unistd.dup
+ libc.src.unistd.dup2
+ libc.src.unistd.dup3
+ libc.src.unistd.execle
+ libc.src.unistd.execve
+ libc.src.unistd.faccessat
+ libc.src.unistd.fchdir
+ libc.src.unistd.fchown
+ libc.src.unistd.fchownat
+ libc.src.unistd.fdatasync
+ libc.src.unistd.fexecve
+ libc.src.unistd.fpathconf
+ libc.src.unistd.fsync
+ libc.src.unistd.ftruncate
+ libc.src.unistd.getcwd
+ libc.src.unistd.getegid
+ libc.src.unistd.getentropy
+ libc.src.unistd.geteuid
+ libc.src.unistd.gethostname
+ libc.src.unistd.getpagesize
+ libc.src.unistd.getpgid
+ libc.src.unistd.getpgrp
+ libc.src.unistd.getpid
+ libc.src.unistd.getppid
+ libc.src.unistd.getsid
+ libc.src.unistd.gettid
+ libc.src.unistd.getgid
+ libc.src.unistd.getuid
+ libc.src.unistd.isatty
+ libc.src.unistd.lchown
+ libc.src.unistd.link
+ libc.src.unistd.linkat
+ libc.src.unistd.lockf
+ libc.src.unistd.lseek
+ libc.src.unistd.nice
+ libc.src.unistd.pathconf
+ libc.src.unistd.pause
+ libc.src.unistd.pipe
+ libc.src.unistd.pipe2
+ libc.src.unistd.pread
+ libc.src.unistd.pwrite
+ libc.src.unistd.read
+ libc.src.unistd.readlink
+ libc.src.unistd.readlinkat
+ libc.src.unistd.rmdir
+ libc.src.unistd.setpgid
+ libc.src.unistd.setsid
+ libc.src.unistd.sleep
+ libc.src.unistd.symlink
+ libc.src.unistd.symlinkat
+ libc.src.unistd.sync
+ libc.src.unistd.syncfs
+ libc.src.unistd.tcgetpgrp
+ libc.src.unistd.tcsetpgrp
+ libc.src.unistd.truncate
+ libc.src.unistd.unlink
+ libc.src.unistd.unlinkat
+ libc.src.unistd.usleep
+ libc.src.unistd.write
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcscasecmp
+ libc.src.wchar.wcsncasecmp
+ libc.src.wchar.wcslen
+ libc.src.wchar.wcsnlen
+ libc.src.wchar.wctob
+ libc.src.wchar.wmemmove
+ libc.src.wchar.wmemset
+ libc.src.wchar.wcschr
+ libc.src.wchar.wcsncmp
+ libc.src.wchar.wcsxfrm
+ libc.src.wchar.wcscmp
+ libc.src.wchar.wcscoll
+ libc.src.wchar.wcspbrk
+ libc.src.wchar.wcsrchr
+ libc.src.wchar.wcsspn
+ libc.src.wchar.wcscspn
+ libc.src.wchar.wcsdup
+ libc.src.wchar.wmemcmp
+ libc.src.wchar.wmempcpy
+ libc.src.wchar.wmemcpy
+ libc.src.wchar.wcsncpy
+ libc.src.wchar.wcscat
+ libc.src.wchar.wcsstr
+ libc.src.wchar.wcsncat
+ libc.src.wchar.wcslcat
+ libc.src.wchar.wcscpy
+ libc.src.wchar.wcslcpy
+ libc.src.wchar.wmemchr
+ libc.src.wchar.wcpcpy
+ libc.src.wchar.wcpncpy
+ libc.src.wchar.wcstod
+ libc.src.wchar.wcstof
+ libc.src.wchar.wcstok
+ libc.src.wchar.wcstol
+ libc.src.wchar.wcstold
+ libc.src.wchar.wcstoll
+ libc.src.wchar.wcstoul
+ libc.src.wchar.wcstoull
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+ libc.src.wctype.towlower
+ libc.src.wctype.towupper
+
+ # sys/uio.h entrypoints
+ libc.src.sys.uio.writev
+ libc.src.sys.uio.readv
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.setitimer
+ libc.src.sys.time.getitimer
+ libc.src.sys.time.gettimeofday
+)
+
+if(LLVM_LIBC_INCLUDE_SCUDO)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # malloc.h external entrypoints
+ libc.src.stdlib.mallopt
+ )
+endif()
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.acospif16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.asinpif16
+ libc.src.math.atanf16
+ libc.src.math.atan2f16
+ libc.src.math.atanhf16
+ libc.src.math.atanpif16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.erff16
+ libc.src.math.erfcf16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.rsqrtf
+ libc.src.math.rsqrtf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.atan2l
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ libc.src.stdfix.idivr
+ libc.src.stdfix.idivlr
+ libc.src.stdfix.idivk
+ libc.src.stdfix.idivlk
+ libc.src.stdfix.idivur
+ libc.src.stdfix.idivulr
+ libc.src.stdfix.idivuk
+ libc.src.stdfix.idivulk
+ libc.src.stdfix.rdivi
+ libc.src.stdfix.lrdivi
+ libc.src.stdfix.kdivi
+ libc.src.stdfix.lkdivi
+ libc.src.stdfix.urdivi
+ libc.src.stdfix.ulrdivi
+ libc.src.stdfix.ukdivi
+ libc.src.stdfix.ulkdivi
+ libc.src.stdfix.divir
+ libc.src.stdfix.divilr
+ libc.src.stdfix.divik
+ libc.src.stdfix.divilk
+ libc.src.stdfix.diviur
+ libc.src.stdfix.diviulr
+ libc.src.stdfix.diviuk
+ libc.src.stdfix.diviulk
+ )
+endif()
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.program_invocation_name
+ libc.src.errno.program_invocation_short_name
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # dirent.h entrypoints
+ libc.src.dirent.alphasort
+ libc.src.dirent.closedir
+ libc.src.dirent.dirfd
+ libc.src.dirent.opendir
+ libc.src.dirent.readdir
+ libc.src.dirent.scandir
+ libc.src.dirent.fdopendir
+
+ # pthread.h entrypoints
+ libc.src.pthread.__pthread_cleanup_pop
+ libc.src.pthread.__pthread_cleanup_push
+ libc.src.pthread.pthread_atfork
+ libc.src.pthread.pthread_attr_destroy
+ libc.src.pthread.pthread_attr_getdetachstate
+ libc.src.pthread.pthread_attr_getguardsize
+ libc.src.pthread.pthread_attr_getinheritsched
+ libc.src.pthread.pthread_attr_getschedparam
+ libc.src.pthread.pthread_attr_getschedpolicy
+ libc.src.pthread.pthread_attr_getscope
+ libc.src.pthread.pthread_attr_getstack
+ libc.src.pthread.pthread_attr_getstacksize
+ libc.src.pthread.pthread_attr_init
+ libc.src.pthread.pthread_attr_setdetachstate
+ libc.src.pthread.pthread_attr_setguardsize
+ libc.src.pthread.pthread_attr_setinheritsched
+ libc.src.pthread.pthread_attr_setschedparam
+ libc.src.pthread.pthread_attr_setschedpolicy
+ libc.src.pthread.pthread_attr_setscope
+ libc.src.pthread.pthread_attr_setstack
+ libc.src.pthread.pthread_attr_setstacksize
+ libc.src.pthread.pthread_condattr_destroy
+ libc.src.pthread.pthread_condattr_getclock
+ libc.src.pthread.pthread_condattr_getpshared
+ libc.src.pthread.pthread_condattr_init
+ libc.src.pthread.pthread_condattr_setclock
+ libc.src.pthread.pthread_condattr_setpshared
+ libc.src.pthread.pthread_cond_broadcast
+ libc.src.pthread.pthread_cond_clockwait
+ libc.src.pthread.pthread_cond_destroy
+ libc.src.pthread.pthread_cond_init
+ libc.src.pthread.pthread_cond_signal
+ libc.src.pthread.pthread_cond_timedwait
+ libc.src.pthread.pthread_cond_wait
+ libc.src.pthread.pthread_create
+ libc.src.pthread.pthread_detach
+ libc.src.pthread.pthread_equal
+ libc.src.pthread.pthread_exit
+ libc.src.pthread.pthread_getattr_np
+ libc.src.pthread.pthread_getname_np
+ libc.src.pthread.pthread_getschedparam
+ libc.src.pthread.pthread_getspecific
+ libc.src.pthread.pthread_getstack_np
+ libc.src.pthread.pthread_getthreadid_np
+ libc.src.pthread.pthread_getunique_np
+ libc.src.pthread.pthread_join
+ libc.src.pthread.pthread_key_create
+ libc.src.pthread.pthread_key_delete
+ libc.src.pthread.pthread_barrier_init
+ libc.src.pthread.pthread_barrier_wait
+ libc.src.pthread.pthread_barrier_destroy
+ libc.src.pthread.pthread_mutex_destroy
+ libc.src.pthread.pthread_mutex_init
+ libc.src.pthread.pthread_mutex_lock
+ libc.src.pthread.pthread_mutex_trylock
+ libc.src.pthread.pthread_mutex_unlock
+ libc.src.pthread.pthread_mutexattr_destroy
+ libc.src.pthread.pthread_mutexattr_getpshared
+ libc.src.pthread.pthread_mutexattr_getrobust
+ libc.src.pthread.pthread_mutexattr_gettype
+ libc.src.pthread.pthread_mutexattr_init
+ libc.src.pthread.pthread_mutexattr_setpshared
+ libc.src.pthread.pthread_mutexattr_setrobust
+ libc.src.pthread.pthread_mutexattr_settype
+ libc.src.pthread.pthread_once
+ libc.src.pthread.pthread_rwlock_clockrdlock
+ libc.src.pthread.pthread_rwlock_clockwrlock
+ libc.src.pthread.pthread_rwlock_destroy
+ libc.src.pthread.pthread_rwlock_init
+ libc.src.pthread.pthread_rwlock_rdlock
+ libc.src.pthread.pthread_rwlock_timedrdlock
+ libc.src.pthread.pthread_rwlock_timedwrlock
+ libc.src.pthread.pthread_rwlock_tryrdlock
+ libc.src.pthread.pthread_rwlock_trywrlock
+ libc.src.pthread.pthread_rwlock_unlock
+ libc.src.pthread.pthread_rwlock_wrlock
+ libc.src.pthread.pthread_rwlockattr_destroy
+ libc.src.pthread.pthread_rwlockattr_getkind_np
+ libc.src.pthread.pthread_rwlockattr_getpshared
+ libc.src.pthread.pthread_rwlockattr_init
+ libc.src.pthread.pthread_rwlockattr_setkind_np
+ libc.src.pthread.pthread_rwlockattr_setpshared
+ libc.src.pthread.pthread_spin_destroy
+ libc.src.pthread.pthread_spin_init
+ libc.src.pthread.pthread_spin_lock
+ libc.src.pthread.pthread_spin_trylock
+ libc.src.pthread.pthread_spin_unlock
+ libc.src.pthread.pthread_self
+ libc.src.pthread.pthread_setname_np
+ libc.src.pthread.pthread_setschedparam
+ libc.src.pthread.pthread_setspecific
+
+ # sched.h entrypoints
+ libc.src.sched.clone
+ libc.src.sched.__sched_andcpuset
+ libc.src.sched.__sched_clrcpuset
+ libc.src.sched.__sched_cpualloc
+ libc.src.sched.__sched_cpuequal
+ libc.src.sched.__sched_cpufree
+ libc.src.sched.__sched_getcpucount
+ libc.src.sched.__sched_getcpuisset
+ libc.src.sched.__sched_orcpuset
+ libc.src.sched.__sched_setcpuset
+ libc.src.sched.__sched_setcpuzero
+ libc.src.sched.__sched_xorcpuset
+
+ # semaphore.h entrypoints
+ libc.src.semaphore.sem_clockwait
+ libc.src.semaphore.sem_close
+ libc.src.semaphore.sem_destroy
+ libc.src.semaphore.sem_getvalue
+ libc.src.semaphore.sem_init
+ libc.src.semaphore.sem_open
+ libc.src.semaphore.sem_post
+ libc.src.semaphore.sem_timedwait
+ libc.src.semaphore.sem_trywait
+ libc.src.semaphore.sem_unlink
+ libc.src.semaphore.sem_wait
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+
+ # ucontext.h entrypoints
+ libc.src.ucontext.getcontext
+ libc.src.ucontext.setcontext
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.clearerr_unlocked
+ libc.src.stdio.fclose
+ libc.src.stdio.fdopen
+ libc.src.stdio.feof
+ libc.src.stdio.feof_unlocked
+ libc.src.stdio.ferror
+ libc.src.stdio.ferror_unlocked
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgetc_unlocked
+ libc.src.stdio.fgetpos
+ libc.src.stdio.fgets
+ libc.src.stdio.fileno
+ libc.src.stdio.flockfile
+ libc.src.stdio.fmemopen
+ libc.src.stdio.fopen
+ libc.src.stdio.freopen
+ libc.src.stdio.fopencookie
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fread_unlocked
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.fsetpos
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.funlockfile
+ libc.src.stdio.fwrite
+ libc.src.stdio.fwrite_unlocked
+ libc.src.stdio.getc
+ libc.src.stdio.getc_unlocked
+ libc.src.stdio.getchar
+ libc.src.stdio.getchar_unlocked
+ libc.src.stdio.pclose
+ libc.src.stdio.perror
+ libc.src.stdio.popen
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.rewind
+ libc.src.stdio.setbuf
+ libc.src.stdio.setvbuf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.__cxa_thread_atexit_impl
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.atexit
+ libc.src.stdlib.clearenv
+ libc.src.stdlib.exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.putenv
+ libc.src.stdlib.secure_getenv
+ libc.src.stdlib.setenv
+ libc.src.stdlib.unsetenv
+ libc.src.stdlib.mbstowcs
+ libc.src.stdlib.mbtowc
+ libc.src.stdlib.mblen
+ libc.src.stdlib.quick_exit
+ libc.src.stdlib.system
+ libc.src.stdlib.wcstombs
+ libc.src.stdlib.wctomb
+
+ # signal.h entrypoints
+ libc.src.signal.kill
+ libc.src.signal.pthread_kill
+ libc.src.signal.pthread_sigmask
+ libc.src.signal.raise
+ libc.src.signal.sigaction
+ libc.src.signal.sigaddset
+ libc.src.signal.sigaltstack
+ libc.src.signal.sigdelset
+ libc.src.signal.sigemptyset
+ libc.src.signal.sigfillset
+ libc.src.signal.sigismember
+ libc.src.signal.signal
+ libc.src.signal.sigprocmask
+
+ # spawn.h entrypoints
+ libc.src.spawn.posix_spawn
+ libc.src.spawn.posix_spawn_file_actions_addclose
+ libc.src.spawn.posix_spawn_file_actions_adddup2
+ libc.src.spawn.posix_spawn_file_actions_addopen
+ libc.src.spawn.posix_spawn_file_actions_destroy
+ libc.src.spawn.posix_spawn_file_actions_init
+
+ # search.h entrypoints
+ libc.src.search.hcreate
+ libc.src.search.hcreate_r
+ libc.src.search.hdestroy
+ libc.src.search.hdestroy_r
+ libc.src.search.hsearch
+ libc.src.search.hsearch_r
+ libc.src.search.insque
+ libc.src.search.lfind
+ libc.src.search.lsearch
+ libc.src.search.remque
+ libc.src.search.tdelete
+ libc.src.search.tdestroy
+ libc.src.search.tfind
+ libc.src.search.tsearch
+ libc.src.search.twalk
+ libc.src.search.twalk_r
+
+ # threads.h entrypoints
+ libc.src.threads.call_once
+ libc.src.threads.cnd_broadcast
+ libc.src.threads.cnd_destroy
+ libc.src.threads.cnd_init
+ libc.src.threads.cnd_signal
+ libc.src.threads.cnd_timedwait
+ libc.src.threads.cnd_wait
+ libc.src.threads.mtx_destroy
+ libc.src.threads.mtx_init
+ libc.src.threads.mtx_lock
+ libc.src.threads.mtx_trylock
+ libc.src.threads.mtx_unlock
+ libc.src.threads.thrd_create
+ libc.src.threads.thrd_current
+ libc.src.threads.thrd_detach
+ libc.src.threads.thrd_equal
+ libc.src.threads.thrd_exit
+ libc.src.threads.thrd_join
+ libc.src.threads.tss_create
+ libc.src.threads.tss_delete
+ libc.src.threads.tss_get
+ libc.src.threads.tss_set
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.clock
+ libc.src.time.clock_getcpuclockid
+ libc.src.time.clock_getres
+ libc.src.time.clock_gettime
+ libc.src.time.clock_settime
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.nanosleep
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.time
+ libc.src.time.timespec_get
+ libc.src.time.timer_create
+ libc.src.time.timer_delete
+ libc.src.time.timer_getoverrun
+ libc.src.time.timer_gettime
+ libc.src.time.timer_settime
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # unistd.h entrypoints
+ libc.src.unistd.__llvm_libc_syscall
+ libc.src.unistd._exit
+ libc.src.unistd.confstr
+ libc.src.unistd.environ
+ libc.src.unistd.execl
+ libc.src.unistd.execlp
+ libc.src.unistd.execv
+ libc.src.unistd.execvp
+ libc.src.unistd.execvpe
+ libc.src.unistd.fork
+ libc.src.unistd.getopt
+ libc.src.unistd.optarg
+ libc.src.unistd.opterr
+ libc.src.unistd.optind
+ libc.src.unistd.optopt
+ libc.src.unistd.swab
+ libc.src.unistd.sysconf
+
+ # sys/select.h entrypoints
+ libc.src.sys.select.pselect
+ libc.src.sys.select.select
+
+ # wchar.h entrypoints
+ libc.src.wchar.mbrlen
+ libc.src.wchar.mbsinit
+ libc.src.wchar.mbrtowc
+ libc.src.wchar.mbsrtowcs
+ libc.src.wchar.mbsnrtowcs
+ libc.src.wchar.wcrtomb
+ libc.src.wchar.wcsrtombs
+ libc.src.wchar.wcsnrtombs
+ libc.src.wchar.fgetwc
+ libc.src.wchar.fgetws
+ libc.src.wchar.fputwc
+ libc.src.wchar.fputws
+ libc.src.wchar.fwide
+ libc.src.wchar.getwc
+ libc.src.wchar.getwchar
+ libc.src.wchar.putwc
+ libc.src.wchar.putwchar
+ libc.src.wchar.ungetwc
+
+ # nl_types.h entrypoints
+ libc.src.nl_types.catopen
+ libc.src.nl_types.catclose
+ libc.src.nl_types.catgets
+
+ # link.h entrypoints
+ libc.src.link._r_debug
+ libc.src.link.dl_iterate_phdr
+ )
+endif()
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # fnmatch.h entrypoints
+ libc.src.fnmatch.fnmatch
+
+ # glob.h entrypoints
+ libc.src.glob.glob
+ libc.src.glob.globfree
+
+ # grp.h entrypoints
+ libc.src.grp.initgroups
+ libc.src.grp.setgroups
+
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # net/if.h entrypoints
+ libc.src.net.if_freenameindex
+ libc.src.net.if_nameindex
+
+ # netdb.h entrypoints
+ libc.src.netdb.freeaddrinfo
+ libc.src.netdb.gai_strerror
+ libc.src.netdb.getaddrinfo
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+
+ # sys/ptrace.h entrypoints
+ libc.src.sys.ptrace.ptrace
+
+ # time.h entrypoints
+ libc.src.time.strptime
+ libc.src.time.tz_variables
+ libc.src.time.tzset
+
+ # unistd.h entrypoints
+ libc.src.unistd.setegid
+ libc.src.unistd.seteuid
+ libc.src.unistd.setgid
+ libc.src.unistd.setregid
+ libc.src.unistd.setresgid
+ libc.src.unistd.setresuid
+ libc.src.unistd.setreuid
+ libc.src.unistd.setuid
+
+ # wchar.h entrypoints
+ libc.src.wchar.swprintf
+ )
+ endif()
+endif()
+
+set(TARGET_LIBMVEC_ENTRYPOINTS)
+
+if(LIBC_COMPILER_HAS_EXT_VECTOR_TYPE)
+list(APPEND TARGET_LIBMVEC_ENTRYPOINTS
+ libc.src.mathvec.acosf
+ libc.src.mathvec.acoshf
+ libc.src.mathvec.acospif
+ libc.src.mathvec.asinf
+ libc.src.mathvec.asinhf
+ libc.src.mathvec.asinpif
+ libc.src.mathvec.atanf
+ libc.src.mathvec.atanhf
+ libc.src.mathvec.cbrtf
+ libc.src.mathvec.cosf
+ libc.src.mathvec.coshf
+ libc.src.mathvec.cospif
+ libc.src.mathvec.erff
+ libc.src.mathvec.exp2f
+ libc.src.mathvec.exp2m1f
+ libc.src.mathvec.exp10f
+ libc.src.mathvec.exp10m1f
+ libc.src.mathvec.expf
+ libc.src.mathvec.expm1f
+ libc.src.mathvec.log10f
+ libc.src.mathvec.log1pf
+ libc.src.mathvec.log2f
+ libc.src.mathvec.logf
+ libc.src.mathvec.rsqrtf
+ libc.src.mathvec.sinf
+ libc.src.mathvec.sinhf
+ libc.src.mathvec.sinpif
+ libc.src.mathvec.sqrtf
+ libc.src.mathvec.tanf
+ libc.src.mathvec.tanhf
+ libc.src.mathvec.tanpif
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+ ${TARGET_LIBMVEC_ENTRYPOINTS}
+)
diff --git a/libc/config/windows/entrypoints.txt b/libc/config/windows/entrypoints.txt
index 1712b2ad26fda4..21cb255f802709 100644
--- a/libc/config/windows/entrypoints.txt
+++ b/libc/config/windows/entrypoints.txt
@@ -1,440 +1,442 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # string.h entrypoints that depend on malloc
- libc.src.string.strdup
- libc.src.string.strndup
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atoi
- libc.src.stdlib.atof
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.malloc
- libc.src.stdlib.calloc
- libc.src.stdlib.realloc
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.free
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # time.h entrypoints
- libc.src.time.time
- libc.src.time.clock_getres
-
- # unistd.h entrypoints
- libc.src.unistd.getentropy
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignl
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.expf
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminl
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaxl
- libc.src.math.fmaximum
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fminimum
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fmul
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonicalf128
- libc.src.math.isnanf128
- libc.src.math.issignalingf128
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.log
- libc.src.math.logf
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainderf
- libc.src.math.remainder
- libc.src.math.remainderl
- libc.src.math.remquof
- libc.src.math.remquo
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundevenf128
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.sin
- libc.src.math.sincosf
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
-)
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
-
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # string.h entrypoints that depend on malloc
+ libc.src.string.strdup
+ libc.src.string.strndup
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atof
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.malloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.realloc
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.free
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # time.h entrypoints
+ libc.src.time.time
+ libc.src.time.clock_getres
+
+ # unistd.h entrypoints
+ libc.src.unistd.getentropy
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.expf
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminl
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaxl
+ libc.src.math.fmaximum
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fminimum
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fmul
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonicalf128
+ libc.src.math.isnanf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.log
+ libc.src.math.logf
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainderf
+ libc.src.math.remainder
+ libc.src.math.remainderl
+ libc.src.math.remquof
+ libc.src.math.remquo
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundevenf128
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.sin
+ libc.src.math.sincosf
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+)
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
+
>From 693cf43c3d575508bb6a678041aa9baa6d1cc5da Mon Sep 17 00:00:00 2001
From: Sukumarsawant <sawantsukumar at gmail.com>
Date: Sat, 24 Oct 2026 12:20:46 +0530
Subject: [PATCH 3/3] lf
---
libc/config/baremetal/aarch64/entrypoints.txt | 2002 ++++-----
libc/config/baremetal/arm/entrypoints.txt | 2072 ++++-----
libc/config/baremetal/riscv/entrypoints.txt | 2056 ++++-----
libc/config/darwin/aarch64/entrypoints.txt | 1588 +++----
libc/config/darwin/x86_64/entrypoints.txt | 702 ++--
libc/config/freebsd/x86_64/entrypoints.txt | 1332 +++---
libc/config/gpu/amdgpu/entrypoints.txt | 1528 +++----
libc/config/gpu/nvptx/entrypoints.txt | 1560 +++----
libc/config/linux/aarch64/entrypoints.txt | 3222 +++++++-------
libc/config/linux/arm/entrypoints.txt | 1544 +++----
libc/config/linux/riscv/entrypoints.txt | 3548 ++++++++--------
libc/config/linux/x86_64/entrypoints.txt | 3698 ++++++++---------
libc/config/windows/entrypoints.txt | 884 ++--
13 files changed, 12868 insertions(+), 12868 deletions(-)
diff --git a/libc/config/baremetal/aarch64/entrypoints.txt b/libc/config/baremetal/aarch64/entrypoints.txt
index 96c267df14dbee..446b877339473d 100644
--- a/libc/config/baremetal/aarch64/entrypoints.txt
+++ b/libc/config/baremetal/aarch64/entrypoints.txt
@@ -1,1001 +1,1001 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdio.h entrypoints
- libc.src.stdio.asprintf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fflush
- libc.src.stdio.fclose
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fprintf
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fscanf
- libc.src.stdio.fwrite
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.getc
- libc.src.stdio.getchar
- libc.src.stdio.printf
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.scanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.sscanf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.vasprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.vfscanf
- libc.src.stdio.vprintf
- libc.src.stdio.vscanf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vsscanf
- libc.src.stdio.ungetc
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.a64l
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.calloc
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.free
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.malloc
- libc.src.stdlib.malloc_usable_size
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realloc
- libc.src.stdlib.srand
- # libc.src.stdlib.strfromd
- # libc.src.stdlib.strfromf
- # libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.clock
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.timespec_get
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # wctype.h entrypoints
- libc.src.wctype.iswpunct
-
- # internal entrypoints
- libc.startup.baremetal.init
- libc.startup.baremetal.fini
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- # libc.src.math.atan2l
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignf80
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsf80
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.atan2f16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- )
-endif()
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdio.h entrypoints
+ libc.src.stdio.asprintf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fflush
+ libc.src.stdio.fclose
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fprintf
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fscanf
+ libc.src.stdio.fwrite
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.getc
+ libc.src.stdio.getchar
+ libc.src.stdio.printf
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.scanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.vasprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vscanf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.ungetc
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.calloc
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.free
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.malloc
+ libc.src.stdlib.malloc_usable_size
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realloc
+ libc.src.stdlib.srand
+ # libc.src.stdlib.strfromd
+ # libc.src.stdlib.strfromf
+ # libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.clock
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.timespec_get
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswpunct
+
+ # internal entrypoints
+ libc.startup.baremetal.init
+ libc.startup.baremetal.fini
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ # libc.src.math.atan2l
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.atan2f16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ )
+endif()
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/baremetal/arm/entrypoints.txt b/libc/config/baremetal/arm/entrypoints.txt
index f14d4a69ef5ec3..7555d5285ae906 100644
--- a/libc/config/baremetal/arm/entrypoints.txt
+++ b/libc/config/baremetal/arm/entrypoints.txt
@@ -1,1036 +1,1036 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdio.h entrypoints
- libc.src.stdio.asprintf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fflush
- libc.src.stdio.fclose
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fprintf
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fscanf
- libc.src.stdio.fwrite
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.getc
- libc.src.stdio.getchar
- libc.src.stdio.printf
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.scanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.sscanf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.vasprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.vfscanf
- libc.src.stdio.vprintf
- libc.src.stdio.vscanf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vsscanf
- libc.src.stdio.ungetc
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.a64l
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.calloc
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.free
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.malloc
- libc.src.stdlib.malloc_usable_size
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realloc
- libc.src.stdlib.srand
- # libc.src.stdlib.strfromd
- # libc.src.stdlib.strfromf
- # libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.clock
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.timespec_get
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
- # internal entrypoints
- libc.startup.baremetal.init
- libc.startup.baremetal.fini
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan2l
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignf80
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsf80
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.atan2f16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- libc.src.stdfix.idivr
- libc.src.stdfix.idivlr
- libc.src.stdfix.idivk
- libc.src.stdfix.idivlk
- libc.src.stdfix.idivur
- libc.src.stdfix.idivulr
- libc.src.stdfix.idivuk
- libc.src.stdfix.idivulk
- libc.src.stdfix.divir
- libc.src.stdfix.divilr
- libc.src.stdfix.divik
- libc.src.stdfix.divilk
- libc.src.stdfix.diviur
- libc.src.stdfix.diviulr
- libc.src.stdfix.diviuk
- libc.src.stdfix.diviulk
- libc.src.stdfix.rdivi
- libc.src.stdfix.lrdivi
- libc.src.stdfix.kdivi
- libc.src.stdfix.lkdivi
- libc.src.stdfix.urdivi
- libc.src.stdfix.ulrdivi
- libc.src.stdfix.ukdivi
- libc.src.stdfix.ulkdivi
- )
-endif()
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdio.h entrypoints
+ libc.src.stdio.asprintf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fflush
+ libc.src.stdio.fclose
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fprintf
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fscanf
+ libc.src.stdio.fwrite
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.getc
+ libc.src.stdio.getchar
+ libc.src.stdio.printf
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.scanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.vasprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vscanf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.ungetc
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.calloc
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.free
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.malloc
+ libc.src.stdlib.malloc_usable_size
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realloc
+ libc.src.stdlib.srand
+ # libc.src.stdlib.strfromd
+ # libc.src.stdlib.strfromf
+ # libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.clock
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.timespec_get
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+ # internal entrypoints
+ libc.startup.baremetal.init
+ libc.startup.baremetal.fini
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan2l
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.atan2f16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ libc.src.stdfix.idivr
+ libc.src.stdfix.idivlr
+ libc.src.stdfix.idivk
+ libc.src.stdfix.idivlk
+ libc.src.stdfix.idivur
+ libc.src.stdfix.idivulr
+ libc.src.stdfix.idivuk
+ libc.src.stdfix.idivulk
+ libc.src.stdfix.divir
+ libc.src.stdfix.divilr
+ libc.src.stdfix.divik
+ libc.src.stdfix.divilk
+ libc.src.stdfix.diviur
+ libc.src.stdfix.diviulr
+ libc.src.stdfix.diviuk
+ libc.src.stdfix.diviulk
+ libc.src.stdfix.rdivi
+ libc.src.stdfix.lrdivi
+ libc.src.stdfix.kdivi
+ libc.src.stdfix.lkdivi
+ libc.src.stdfix.urdivi
+ libc.src.stdfix.ulrdivi
+ libc.src.stdfix.ukdivi
+ libc.src.stdfix.ulkdivi
+ )
+endif()
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/baremetal/riscv/entrypoints.txt b/libc/config/baremetal/riscv/entrypoints.txt
index e2de5c2757afdb..0de2fcef5bc569 100644
--- a/libc/config/baremetal/riscv/entrypoints.txt
+++ b/libc/config/baremetal/riscv/entrypoints.txt
@@ -1,1028 +1,1028 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # setjmp.h entrypoints
- # libc.src.setjmp.longjmp
- # libc.src.setjmp.setjmp
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdio.h entrypoints
- libc.src.stdio.asprintf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fprintf
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fscanf
- libc.src.stdio.fwrite
- libc.src.stdio.getchar
- libc.src.stdio.printf
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.scanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.sscanf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.vasprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.vfscanf
- libc.src.stdio.vprintf
- libc.src.stdio.vscanf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vsscanf
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.a64l
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.calloc
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.free
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.malloc
- libc.src.stdlib.malloc_usable_size
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realloc
- libc.src.stdlib.srand
- # libc.src.stdlib.strfromd
- # libc.src.stdlib.strfromf
- # libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.clock
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.timespec_get
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
-
- # internal entrypoints
- libc.startup.baremetal.init
- libc.startup.baremetal.fini
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- # libc.src.math.atan2l
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignf80
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsf80
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- # libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.atan2f16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- # libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- libc.src.stdfix.idivr
- libc.src.stdfix.idivlr
- libc.src.stdfix.idivk
- libc.src.stdfix.idivlk
- libc.src.stdfix.idivur
- libc.src.stdfix.idivulr
- libc.src.stdfix.idivuk
- libc.src.stdfix.idivulk
- libc.src.stdfix.divir
- libc.src.stdfix.divilr
- libc.src.stdfix.divik
- libc.src.stdfix.divilk
- libc.src.stdfix.diviur
- libc.src.stdfix.diviulr
- libc.src.stdfix.diviuk
- libc.src.stdfix.diviulk
- libc.src.stdfix.rdivi
- libc.src.stdfix.lrdivi
- libc.src.stdfix.kdivi
- libc.src.stdfix.lkdivi
- libc.src.stdfix.urdivi
- libc.src.stdfix.ulrdivi
- libc.src.stdfix.ukdivi
- libc.src.stdfix.ulkdivi
- )
-endif()
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # setjmp.h entrypoints
+ # libc.src.setjmp.longjmp
+ # libc.src.setjmp.setjmp
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdio.h entrypoints
+ libc.src.stdio.asprintf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fprintf
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fscanf
+ libc.src.stdio.fwrite
+ libc.src.stdio.getchar
+ libc.src.stdio.printf
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.scanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.vasprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vscanf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vsscanf
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.calloc
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.free
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.malloc
+ libc.src.stdlib.malloc_usable_size
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realloc
+ libc.src.stdlib.srand
+ # libc.src.stdlib.strfromd
+ # libc.src.stdlib.strfromf
+ # libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.clock
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.timespec_get
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+
+ # internal entrypoints
+ libc.startup.baremetal.init
+ libc.startup.baremetal.fini
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ # libc.src.math.atan2l
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ # libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.atan2f16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ # libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ libc.src.stdfix.idivr
+ libc.src.stdfix.idivlr
+ libc.src.stdfix.idivk
+ libc.src.stdfix.idivlk
+ libc.src.stdfix.idivur
+ libc.src.stdfix.idivulr
+ libc.src.stdfix.idivuk
+ libc.src.stdfix.idivulk
+ libc.src.stdfix.divir
+ libc.src.stdfix.divilr
+ libc.src.stdfix.divik
+ libc.src.stdfix.divilk
+ libc.src.stdfix.diviur
+ libc.src.stdfix.diviulr
+ libc.src.stdfix.diviuk
+ libc.src.stdfix.diviulk
+ libc.src.stdfix.rdivi
+ libc.src.stdfix.lrdivi
+ libc.src.stdfix.kdivi
+ libc.src.stdfix.lkdivi
+ libc.src.stdfix.urdivi
+ libc.src.stdfix.ulrdivi
+ libc.src.stdfix.ukdivi
+ libc.src.stdfix.ulkdivi
+ )
+endif()
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/darwin/aarch64/entrypoints.txt b/libc/config/darwin/aarch64/entrypoints.txt
index 60a9be95a6b93a..2f7cd39256667d 100644
--- a/libc/config/darwin/aarch64/entrypoints.txt
+++ b/libc/config/darwin/aarch64/entrypoints.txt
@@ -1,794 +1,794 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # string.h entrypoints that depend on malloc
- libc.src.string.strdup
- libc.src.string.strndup
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atoi
- libc.src.stdlib.atof
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.malloc
- libc.src.stdlib.calloc
- libc.src.stdlib.realloc
- libc.src.stdlib.free
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
-)
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # signal.h entrypoints
- libc.src.signal.sigaddset
- libc.src.signal.sigdelset
- libc.src.signal.sigemptyset
- libc.src.signal.sigfillset
- libc.src.signal.sigprocmask
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
- libc.src.stdlib._Exit
- )
-endif()
-
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignf80
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsf80
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.atan2f16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # string.h entrypoints that depend on malloc
+ libc.src.string.strdup
+ libc.src.string.strndup
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atof
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.malloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.realloc
+ libc.src.stdlib.free
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+)
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # signal.h entrypoints
+ libc.src.signal.sigaddset
+ libc.src.signal.sigdelset
+ libc.src.signal.sigemptyset
+ libc.src.signal.sigfillset
+ libc.src.signal.sigprocmask
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+ libc.src.stdlib._Exit
+ )
+endif()
+
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.atan2f16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/darwin/x86_64/entrypoints.txt b/libc/config/darwin/x86_64/entrypoints.txt
index 2dcec05978469c..5bdd52ac294443 100644
--- a/libc/config/darwin/x86_64/entrypoints.txt
+++ b/libc/config/darwin/x86_64/entrypoints.txt
@@ -1,351 +1,351 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # search.h entrypoints
- libc.src.search.lfind
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # string.h entrypoints that depend on malloc
- libc.src.string.strdup
- libc.src.string.strndup
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bzero
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atoi
- libc.src.stdlib.atof
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.malloc
- libc.src.stdlib.calloc
- libc.src.stdlib.realloc
- libc.src.stdlib.free
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # fenv disabled on x86_64 MacOS for now.
- # # fenv.h entrypoints
- # libc.src.fenv.feclearexcept
- # libc.src.fenv.fedisableexcept
- # libc.src.fenv.feenableexcept
- # libc.src.fenv.fegetenv
- # libc.src.fenv.fegetexcept
- # libc.src.fenv.fegetexceptflag
- # libc.src.fenv.fegetround
- # libc.src.fenv.feholdexcept
- # libc.src.fenv.fesetenv
- # libc.src.fenv.fesetexcept
- # libc.src.fenv.fesetexceptflag
- # libc.src.fenv.fesetround
- # libc.src.fenv.feraiseexcept
- # libc.src.fenv.fetestexcept
- # libc.src.fenv.fetestexceptflag
- # libc.src.fenv.feupdateenv
-
- ## Currently disabled for failing tests.
- # math.h entrypoints
- #libc.src.math.atan2f128
- #libc.src.math.copysign
- #libc.src.math.copysignf
- #libc.src.math.copysignf128
- libc.src.math.copysignf80
- #libc.src.math.copysignl
- #libc.src.math.ceil
- #libc.src.math.ceilf
- #libc.src.math.ceilf128
- #libc.src.math.ceill
- #libc.src.math.coshf
- #libc.src.math.cosf
- #libc.src.math.daddl
- #libc.src.math.ddivl
- #libc.src.math.dfmal
- #libc.src.math.dsqrtl
- #libc.src.math.dsubl
- #libc.src.math.expf
- #libc.src.math.exp2f
- #libc.src.math.expm1f
- #libc.src.math.fabs
- #libc.src.math.fabsf
- #libc.src.math.fabsf128
- libc.src.math.fabsf80
- #libc.src.math.fabsl
- #libc.src.math.fdim
- #libc.src.math.fdimf
- #libc.src.math.fdimf128
- #libc.src.math.fdiml
- #libc.src.math.fdiv
- #libc.src.math.fdivl
- #libc.src.math.ffma
- #libc.src.math.ffmal
- #libc.src.math.floor
- #libc.src.math.floorf
- #libc.src.math.floorf128
- #libc.src.math.floorl
- #libc.src.math.fma
- #libc.src.math.fmabf16
- #libc.src.math.fmaf
- #libc.src.math.fmax
- #libc.src.math.fmaxf
- #libc.src.math.fmaxf128
- #libc.src.math.fmaximum_mag_numf128
- #libc.src.math.fmaximum_magf128
- #libc.src.math.fmaximum_numf128
- #libc.src.math.fmaximumf128
- #libc.src.math.fmaxl
- #libc.src.math.fmin
- #libc.src.math.fminf
- #libc.src.math.fminf128
- #libc.src.math.fminimum_mag_numf128
- #libc.src.math.fminimum_magf128
- #libc.src.math.fminimum_numf128
- #libc.src.math.fminimumf128
- #libc.src.math.fminl
- #libc.src.math.fmod
- #libc.src.math.fmodf
- #libc.src.math.frexp
- #libc.src.math.frexpf
- #libc.src.math.frexpl
- #libc.src.math.fsub
- #libc.src.math.fsubl
- #libc.src.math.hypot
- #libc.src.math.hypotf
- #libc.src.math.ilogb
- #libc.src.math.ilogbf
- #libc.src.math.ilogbl
- #libc.src.math.iscanonicalf128
- #libc.src.math.isnanf128
- #libc.src.math.issignalingf128
- #libc.src.math.llrint
- #libc.src.math.llrintf
- #libc.src.math.llrintf128
- #libc.src.math.llrintl
- #libc.src.math.llround
- #libc.src.math.llroundf
- #libc.src.math.llroundf128
- #libc.src.math.llroundl
- #libc.src.math.lrint
- #libc.src.math.lrintf
- #libc.src.math.lrintf128
- #libc.src.math.lrintl
- #libc.src.math.lround
- #libc.src.math.lroundf
- #libc.src.math.lroundf128
- #libc.src.math.lroundl
- #libc.src.math.ldexp
- #libc.src.math.ldexpf
- #libc.src.math.ldexpl
- #libc.src.math.log10f
- #libc.src.math.log1pf
- #libc.src.math.log2f
- #libc.src.math.logf
- #libc.src.math.logb
- #libc.src.math.logbf
- #libc.src.math.logbl
- #libc.src.math.modf
- #libc.src.math.modff
- #libc.src.math.modfl
- #libc.src.math.nan
- #libc.src.math.nanf
- #libc.src.math.nanl
- #libc.src.math.nearbyint
- #libc.src.math.nearbyintf
- #libc.src.math.nearbyintf128
- #libc.src.math.nearbyintl
- #libc.src.math.nextafter
- #libc.src.math.nextafterf
- #libc.src.math.nextafterl
- #libc.src.math.nexttoward
- #libc.src.math.nexttowardf
- #libc.src.math.nexttowardl
- #libc.src.math.remainderf
- #libc.src.math.remainder
- #libc.src.math.remainderl
- #libc.src.math.remquof
- #libc.src.math.remquo
- #libc.src.math.remquol
- #libc.src.math.rint
- #libc.src.math.rintf
- #libc.src.math.rintf128
- #libc.src.math.rintl
- #libc.src.math.round
- #libc.src.math.roundevenf128
- #libc.src.math.roundf
- #libc.src.math.roundf128
- #libc.src.math.roundl
- #libc.src.math.sincosf
- #libc.src.math.sinhf
- #libc.src.math.sinf
- #libc.src.math.sqrt
- #libc.src.math.sqrtf
- #libc.src.math.sqrtf128
- #libc.src.math.sqrtl
- #libc.src.math.tanf
- #libc.src.math.tanhf
- #libc.src.math.totalordermag
- #libc.src.math.totalordermagf
- #libc.src.math.totalordermagl
- #libc.src.math.trunc
- #libc.src.math.truncf
- #libc.src.math.truncf128
- #libc.src.math.truncl
-)
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.cbrtbf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # search.h entrypoints
+ libc.src.search.lfind
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # string.h entrypoints that depend on malloc
+ libc.src.string.strdup
+ libc.src.string.strndup
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bzero
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atof
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.malloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.realloc
+ libc.src.stdlib.free
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # fenv disabled on x86_64 MacOS for now.
+ # # fenv.h entrypoints
+ # libc.src.fenv.feclearexcept
+ # libc.src.fenv.fedisableexcept
+ # libc.src.fenv.feenableexcept
+ # libc.src.fenv.fegetenv
+ # libc.src.fenv.fegetexcept
+ # libc.src.fenv.fegetexceptflag
+ # libc.src.fenv.fegetround
+ # libc.src.fenv.feholdexcept
+ # libc.src.fenv.fesetenv
+ # libc.src.fenv.fesetexcept
+ # libc.src.fenv.fesetexceptflag
+ # libc.src.fenv.fesetround
+ # libc.src.fenv.feraiseexcept
+ # libc.src.fenv.fetestexcept
+ # libc.src.fenv.fetestexceptflag
+ # libc.src.fenv.feupdateenv
+
+ ## Currently disabled for failing tests.
+ # math.h entrypoints
+ #libc.src.math.atan2f128
+ #libc.src.math.copysign
+ #libc.src.math.copysignf
+ #libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ #libc.src.math.copysignl
+ #libc.src.math.ceil
+ #libc.src.math.ceilf
+ #libc.src.math.ceilf128
+ #libc.src.math.ceill
+ #libc.src.math.coshf
+ #libc.src.math.cosf
+ #libc.src.math.daddl
+ #libc.src.math.ddivl
+ #libc.src.math.dfmal
+ #libc.src.math.dsqrtl
+ #libc.src.math.dsubl
+ #libc.src.math.expf
+ #libc.src.math.exp2f
+ #libc.src.math.expm1f
+ #libc.src.math.fabs
+ #libc.src.math.fabsf
+ #libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ #libc.src.math.fabsl
+ #libc.src.math.fdim
+ #libc.src.math.fdimf
+ #libc.src.math.fdimf128
+ #libc.src.math.fdiml
+ #libc.src.math.fdiv
+ #libc.src.math.fdivl
+ #libc.src.math.ffma
+ #libc.src.math.ffmal
+ #libc.src.math.floor
+ #libc.src.math.floorf
+ #libc.src.math.floorf128
+ #libc.src.math.floorl
+ #libc.src.math.fma
+ #libc.src.math.fmabf16
+ #libc.src.math.fmaf
+ #libc.src.math.fmax
+ #libc.src.math.fmaxf
+ #libc.src.math.fmaxf128
+ #libc.src.math.fmaximum_mag_numf128
+ #libc.src.math.fmaximum_magf128
+ #libc.src.math.fmaximum_numf128
+ #libc.src.math.fmaximumf128
+ #libc.src.math.fmaxl
+ #libc.src.math.fmin
+ #libc.src.math.fminf
+ #libc.src.math.fminf128
+ #libc.src.math.fminimum_mag_numf128
+ #libc.src.math.fminimum_magf128
+ #libc.src.math.fminimum_numf128
+ #libc.src.math.fminimumf128
+ #libc.src.math.fminl
+ #libc.src.math.fmod
+ #libc.src.math.fmodf
+ #libc.src.math.frexp
+ #libc.src.math.frexpf
+ #libc.src.math.frexpl
+ #libc.src.math.fsub
+ #libc.src.math.fsubl
+ #libc.src.math.hypot
+ #libc.src.math.hypotf
+ #libc.src.math.ilogb
+ #libc.src.math.ilogbf
+ #libc.src.math.ilogbl
+ #libc.src.math.iscanonicalf128
+ #libc.src.math.isnanf128
+ #libc.src.math.issignalingf128
+ #libc.src.math.llrint
+ #libc.src.math.llrintf
+ #libc.src.math.llrintf128
+ #libc.src.math.llrintl
+ #libc.src.math.llround
+ #libc.src.math.llroundf
+ #libc.src.math.llroundf128
+ #libc.src.math.llroundl
+ #libc.src.math.lrint
+ #libc.src.math.lrintf
+ #libc.src.math.lrintf128
+ #libc.src.math.lrintl
+ #libc.src.math.lround
+ #libc.src.math.lroundf
+ #libc.src.math.lroundf128
+ #libc.src.math.lroundl
+ #libc.src.math.ldexp
+ #libc.src.math.ldexpf
+ #libc.src.math.ldexpl
+ #libc.src.math.log10f
+ #libc.src.math.log1pf
+ #libc.src.math.log2f
+ #libc.src.math.logf
+ #libc.src.math.logb
+ #libc.src.math.logbf
+ #libc.src.math.logbl
+ #libc.src.math.modf
+ #libc.src.math.modff
+ #libc.src.math.modfl
+ #libc.src.math.nan
+ #libc.src.math.nanf
+ #libc.src.math.nanl
+ #libc.src.math.nearbyint
+ #libc.src.math.nearbyintf
+ #libc.src.math.nearbyintf128
+ #libc.src.math.nearbyintl
+ #libc.src.math.nextafter
+ #libc.src.math.nextafterf
+ #libc.src.math.nextafterl
+ #libc.src.math.nexttoward
+ #libc.src.math.nexttowardf
+ #libc.src.math.nexttowardl
+ #libc.src.math.remainderf
+ #libc.src.math.remainder
+ #libc.src.math.remainderl
+ #libc.src.math.remquof
+ #libc.src.math.remquo
+ #libc.src.math.remquol
+ #libc.src.math.rint
+ #libc.src.math.rintf
+ #libc.src.math.rintf128
+ #libc.src.math.rintl
+ #libc.src.math.round
+ #libc.src.math.roundevenf128
+ #libc.src.math.roundf
+ #libc.src.math.roundf128
+ #libc.src.math.roundl
+ #libc.src.math.sincosf
+ #libc.src.math.sinhf
+ #libc.src.math.sinf
+ #libc.src.math.sqrt
+ #libc.src.math.sqrtf
+ #libc.src.math.sqrtf128
+ #libc.src.math.sqrtl
+ #libc.src.math.tanf
+ #libc.src.math.tanhf
+ #libc.src.math.totalordermag
+ #libc.src.math.totalordermagf
+ #libc.src.math.totalordermagl
+ #libc.src.math.trunc
+ #libc.src.math.truncf
+ #libc.src.math.truncf128
+ #libc.src.math.truncl
+)
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.cbrtbf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/freebsd/x86_64/entrypoints.txt b/libc/config/freebsd/x86_64/entrypoints.txt
index 57b628e647577f..3d8bf4e6b179b0 100644
--- a/libc/config/freebsd/x86_64/entrypoints.txt
+++ b/libc/config/freebsd/x86_64/entrypoints.txt
@@ -1,666 +1,666 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # string.h entrypoints that depend on malloc
- libc.src.string.strdup
- libc.src.string.strndup
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atoi
- libc.src.stdlib.atof
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.qsort
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.malloc
- libc.src.stdlib.calloc
- libc.src.stdlib.realloc
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.free
-
- # errno.h entrypoints
- libc.src.errno.errno
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignf80
- libc.src.math.copysignl
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.expf
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsf80
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmaf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminl
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaxl
- libc.src.math.fmaximum
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fminimum
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fmul
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonicalf128
- libc.src.math.isnanf128
- libc.src.math.issignalingf128
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.log
- libc.src.math.logf
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainderf
- libc.src.math.remainder
- libc.src.math.remainderl
- libc.src.math.remquof
- libc.src.math.remquo
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundevenf128
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.sin
- libc.src.math.sincosf
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
-)
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- libc.src.math.acos
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrtbf16
- libc.src.math.cospif
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.exp10m1f
- libc.src.math.exp2m1f
- libc.src.math.fmabf16
- libc.src.math.fmull
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingl
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sincos
- libc.src.math.sinpif
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.acospif16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.asinpif16
- libc.src.math.atanf16
- libc.src.math.atan2f16
- libc.src.math.atanhf16
- libc.src.math.atanpif16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.erff16
- libc.src.math.erfcf16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.rsqrtf
- libc.src.math.rsqrtf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- libc.src.math.atan2l
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.atanbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-set(TARGET_LIBMVEC_ENTRYPOINTS)
-
-if(LIBC_COMPILER_HAS_EXT_VECTOR_TYPE)
- list(APPEND TARGET_LIBMVEC_ENTRYPOINTS
- libc.src.mathvec.expf
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
- ${TARGET_LIBMVEC_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # string.h entrypoints that depend on malloc
+ libc.src.string.strdup
+ libc.src.string.strndup
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atof
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.qsort
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.malloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.realloc
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.free
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.expf
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmaf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminl
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaxl
+ libc.src.math.fmaximum
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fminimum
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fmul
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonicalf128
+ libc.src.math.isnanf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.log
+ libc.src.math.logf
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainderf
+ libc.src.math.remainder
+ libc.src.math.remainderl
+ libc.src.math.remquof
+ libc.src.math.remquo
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundevenf128
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.sin
+ libc.src.math.sincosf
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+)
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ libc.src.math.acos
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrtbf16
+ libc.src.math.cospif
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.exp10m1f
+ libc.src.math.exp2m1f
+ libc.src.math.fmabf16
+ libc.src.math.fmull
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingl
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sincos
+ libc.src.math.sinpif
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.acospif16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.asinpif16
+ libc.src.math.atanf16
+ libc.src.math.atan2f16
+ libc.src.math.atanhf16
+ libc.src.math.atanpif16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.erff16
+ libc.src.math.erfcf16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.rsqrtf
+ libc.src.math.rsqrtf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ libc.src.math.atan2l
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.atanbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+set(TARGET_LIBMVEC_ENTRYPOINTS)
+
+if(LIBC_COMPILER_HAS_EXT_VECTOR_TYPE)
+ list(APPEND TARGET_LIBMVEC_ENTRYPOINTS
+ libc.src.mathvec.expf
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+ ${TARGET_LIBMVEC_ENTRYPOINTS}
+)
diff --git a/libc/config/gpu/amdgpu/entrypoints.txt b/libc/config/gpu/amdgpu/entrypoints.txt
index 857c9f3281ec2c..65b4f82f4eb6fd 100644
--- a/libc/config/gpu/amdgpu/entrypoints.txt
+++ b/libc/config/gpu/amdgpu/entrypoints.txt
@@ -1,764 +1,764 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha
- libc.src.ctype.isalpha_l
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower
- libc.src.ctype.islower_l
- libc.src.ctype.isprint
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit
- libc.src.ctype.isxdigit_l
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper
- libc.src.ctype.toupper_l
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcoll_l
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.stdlib.strtod
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull
- libc.src.stdlib.strtoull_l
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.quick_exit
- libc.src.stdlib.getenv
- libc.src.stdlib.system
-
- # TODO: Implement these correctly
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.realloc
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.fclose
- libc.src.stdio.printf
- libc.src.stdio.vprintf
- libc.src.stdio.fprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.asprintf
- libc.src.stdio.vasprintf
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.sscanf
- libc.src.stdio.vsscanf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fopen
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fseek
- libc.src.stdio.ftell
- libc.src.stdio.fwrite
- libc.src.stdio.getc
- libc.src.stdio.getchar
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # time.h entrypoints
- libc.src.time.clock
- libc.src.time.clock_gettime
- libc.src.time.timespec_get
- libc.src.time.nanosleep
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.mktime
-
- # wchar.h entrypoints
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan2l
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignf80
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsf80
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonicalf128
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignalingf128
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgamma
- libc.src.math.lgamma_r
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.round
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.tgamma
- libc.src.math.tgammaf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.acospif16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.atanf16
- libc.src.math.atan2f16
- libc.src.math.atanhf16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.erff16
- libc.src.math.erfcf16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- # libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper
+ libc.src.ctype.toupper_l
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcoll_l
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull
+ libc.src.stdlib.strtoull_l
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.quick_exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.system
+
+ # TODO: Implement these correctly
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.realloc
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.fclose
+ libc.src.stdio.printf
+ libc.src.stdio.vprintf
+ libc.src.stdio.fprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.vasprintf
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.sscanf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fopen
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fseek
+ libc.src.stdio.ftell
+ libc.src.stdio.fwrite
+ libc.src.stdio.getc
+ libc.src.stdio.getchar
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # time.h entrypoints
+ libc.src.time.clock
+ libc.src.time.clock_gettime
+ libc.src.time.timespec_get
+ libc.src.time.nanosleep
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.mktime
+
+ # wchar.h entrypoints
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan2l
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonicalf128
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignalingf128
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgamma
+ libc.src.math.lgamma_r
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.round
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.tgamma
+ libc.src.math.tgammaf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.acospif16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.atanf16
+ libc.src.math.atan2f16
+ libc.src.math.atanhf16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.erff16
+ libc.src.math.erfcf16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ # libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/gpu/nvptx/entrypoints.txt b/libc/config/gpu/nvptx/entrypoints.txt
index 861e83f6c9089e..ef8a41db1e7c40 100644
--- a/libc/config/gpu/nvptx/entrypoints.txt
+++ b/libc/config/gpu/nvptx/entrypoints.txt
@@ -1,780 +1,780 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha
- libc.src.ctype.isalpha_l
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower
- libc.src.ctype.islower_l
- libc.src.ctype.isprint
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit
- libc.src.ctype.isxdigit_l
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper
- libc.src.ctype.toupper_l
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcoll_l
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.abs
- libc.src.stdlib.atexit
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.exit
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.srand
- libc.src.stdlib.strtod
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull
- libc.src.stdlib.strtoull_l
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.quick_exit
- libc.src.stdlib.getenv
- libc.src.stdlib.system
-
- # TODO: Implement these correctly
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.realloc
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.fclose
- libc.src.stdio.printf
- libc.src.stdio.vprintf
- libc.src.stdio.fprintf
- libc.src.stdio.vfprintf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.asprintf
- libc.src.stdio.vasprintf
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.sscanf
- libc.src.stdio.vsscanf
- libc.src.stdio.feof
- libc.src.stdio.ferror
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgets
- libc.src.stdio.fopen
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fseek
- libc.src.stdio.ftell
- libc.src.stdio.fwrite
- libc.src.stdio.getc
- libc.src.stdio.getchar
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # time.h entrypoints
- libc.src.time.clock
- libc.src.time.clock_gettime
- libc.src.time.timespec_get
- libc.src.time.nanosleep
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.mktime
-
- # wchar.h entrypoints
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan2l
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignf80
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsf80
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- # FIXME: Broken.
- # libc.src.math.fromfp
- # libc.src.math.fromfpf
- # libc.src.math.fromfpl
- # libc.src.math.fromfpx
- # libc.src.math.fromfpxf
- # libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonicalf128
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignalingf128
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgamma
- libc.src.math.lgamma_r
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.round
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.tgamma
- libc.src.math.tgammaf
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- # FIXME: Broken.
- # libc.src.math.ufromfp
- # libc.src.math.ufromfpf
- # libc.src.math.ufromfpl
- # libc.src.math.ufromfpx
- # libc.src.math.ufromfpxf
- # libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.acospif16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.atanf16
- libc.src.math.atan2f16
- libc.src.math.atanhf16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.erff16
- libc.src.math.erfcf16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper
+ libc.src.ctype.toupper_l
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcoll_l
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.abs
+ libc.src.stdlib.atexit
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.exit
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.srand
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull
+ libc.src.stdlib.strtoull_l
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.quick_exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.system
+
+ # TODO: Implement these correctly
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.realloc
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.fclose
+ libc.src.stdio.printf
+ libc.src.stdio.vprintf
+ libc.src.stdio.fprintf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.vasprintf
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.sscanf
+ libc.src.stdio.vsscanf
+ libc.src.stdio.feof
+ libc.src.stdio.ferror
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgets
+ libc.src.stdio.fopen
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fseek
+ libc.src.stdio.ftell
+ libc.src.stdio.fwrite
+ libc.src.stdio.getc
+ libc.src.stdio.getchar
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # time.h entrypoints
+ libc.src.time.clock
+ libc.src.time.clock_gettime
+ libc.src.time.timespec_get
+ libc.src.time.nanosleep
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.mktime
+
+ # wchar.h entrypoints
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan2l
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ # FIXME: Broken.
+ # libc.src.math.fromfp
+ # libc.src.math.fromfpf
+ # libc.src.math.fromfpl
+ # libc.src.math.fromfpx
+ # libc.src.math.fromfpxf
+ # libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonicalf128
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignalingf128
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgamma
+ libc.src.math.lgamma_r
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.round
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.tgamma
+ libc.src.math.tgammaf
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ # FIXME: Broken.
+ # libc.src.math.ufromfp
+ # libc.src.math.ufromfpf
+ # libc.src.math.ufromfpl
+ # libc.src.math.ufromfpx
+ # libc.src.math.ufromfpxf
+ # libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.acospif16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.atanf16
+ libc.src.math.atan2f16
+ libc.src.math.atanhf16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.erff16
+ libc.src.math.erfcf16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt
index 11a6bc689a6a27..9a6e32f337b922 100644
--- a/libc/config/linux/aarch64/entrypoints.txt
+++ b/libc/config/linux/aarch64/entrypoints.txt
@@ -1,1611 +1,1611 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # dlfcn.h entrypoints
- libc.src.dlfcn.dlclose
- libc.src.dlfcn.dlerror
- libc.src.dlfcn.dlopen
- libc.src.dlfcn.dlsym
-
- # err.h entrypoints
- libc.src.err.err
- libc.src.err.verr
- libc.src.err.errx
- libc.src.err.verrx
- libc.src.err.warn
- libc.src.err.vwarn
- libc.src.err.warnx
- libc.src.err.vwarnx
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # fcntl.h entrypoints
- libc.src.fcntl.creat
- libc.src.fcntl.fallocate
- libc.src.fcntl.fcntl
- libc.src.fcntl.open
- libc.src.fcntl.openat
- libc.src.fcntl.posix_fadvise
- libc.src.fcntl.posix_fadvise64
- libc.src.fcntl.posix_fallocate
-
- # grp.h entrypoints
- libc.src.grp.endgrent
- libc.src.grp.getgrent
- libc.src.grp.getgrgid
- libc.src.grp.getgrgid_r
- libc.src.grp.getgrouplist
- libc.src.grp.getgrnam
- libc.src.grp.getgrnam_r
- libc.src.grp.setgrent
-
- # poll.h entrypoints
- libc.src.poll.poll
- libc.src.poll.ppoll
-
- # pwd.h entrypoints
- libc.src.pwd.endpwent
- libc.src.pwd.getpwent
- libc.src.pwd.getpwent_r
- libc.src.pwd.getpwnam
- libc.src.pwd.getpwnam_r
- libc.src.pwd.getpwuid
- libc.src.pwd.getpwuid_r
- libc.src.pwd.setpwent
-
- # sched.h entrypoints
- libc.src.sched.sched_get_priority_max
- libc.src.sched.sched_get_priority_min
- libc.src.sched.sched_getaffinity
- libc.src.sched.sched_getcpu
- libc.src.sched.sched_getparam
- libc.src.sched.sched_getscheduler
- libc.src.sched.sched_rr_get_interval
- libc.src.sched.sched_setaffinity
- libc.src.sched.sched_setparam
- libc.src.sched.sched_setscheduler
- libc.src.sched.sched_yield
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strsignal
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # libgen.h entrypoints
- libc.src.libgen.basename
- libc.src.libgen.dirname
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.getloadavg
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.mkdtemp
- libc.src.stdlib.mkostemp
- libc.src.stdlib.mkstemp
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realpath
- libc.src.stdlib.srand
- libc.src.stdlib.strfromd
- libc.src.stdlib.strfromf
- libc.src.stdlib.strfromf128
- # TODO: long double support is buggy with clang-11. Re-enable when buildbots are upgraded.
- # libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.posix_memalign
- libc.src.stdlib.realloc
-
- # stdio.h entrypoints
- libc.src.stdio.fprintf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.printf
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.renameat
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.asprintf
- libc.src.stdio.sscanf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.tmpfile
- libc.src.stdio.tmpnam
- libc.src.stdio.vsscanf
- libc.src.stdio.vfprintf
- libc.src.stdio.vprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vasprintf
-
- # sys/epoll.h entrypoints
- libc.src.sys.epoll.epoll_create
- libc.src.sys.epoll.epoll_create1
- libc.src.sys.epoll.epoll_ctl
- libc.src.sys.epoll.epoll_pwait
- libc.src.sys.epoll.epoll_wait
- # TODO: Need to check if pwait2 is available before providing.
- # https://github.com/llvm/llvm-project/issues/80060
- # libc.src.sys.epoll.epoll_pwait2
-
- # sys/eventfd.h entrypoints
- libc.src.sys.eventfd.eventfd
-
- # sys/file.h entrypoints
- libc.src.sys.file.flock
-
- # sys/ioctl.h entrypoints
- libc.src.sys.ioctl.ioctl
-
- # sys/mman.h entrypoints
- libc.src.sys.mman.madvise
- libc.src.sys.mman.memfd_create
- libc.src.sys.mman.mincore
- libc.src.sys.mman.mlock
- libc.src.sys.mman.mlock2
- libc.src.sys.mman.mlockall
- libc.src.sys.mman.mmap
- libc.src.sys.mman.mremap
- libc.src.sys.mman.mprotect
- libc.src.sys.mman.msync
- libc.src.sys.mman.munlock
- libc.src.sys.mman.munlockall
- libc.src.sys.mman.munmap
- libc.src.sys.mman.remap_file_pages
- libc.src.sys.mman.posix_madvise
- libc.src.sys.mman.shm_open
- libc.src.sys.mman.shm_unlink
-
- # sys/random.h entrypoints
- libc.src.sys.random.getrandom
- libc.src.sys.random.getentropy
-
- # sys/resource.h entrypoints
- libc.src.sys.resource.getpriority
- libc.src.sys.resource.getrlimit
- libc.src.sys.resource.getrusage
- libc.src.sys.resource.setpriority
- libc.src.sys.resource.setrlimit
-
- # sys/sendfile.h entrypoints
- libc.src.sys.sendfile.sendfile
-
- # sys/socket.h entrypoints
- libc.src.sys.socket.accept
- libc.src.sys.socket.accept4
- libc.src.sys.socket.bind
- libc.src.sys.socket.connect
- libc.src.sys.socket.getpeername
- libc.src.sys.socket.getsockname
- libc.src.sys.socket.getsockopt
- libc.src.sys.socket.listen
- libc.src.sys.socket.recv
- libc.src.sys.socket.recvfrom
- libc.src.sys.socket.send
- libc.src.sys.socket.sendto
- libc.src.sys.socket.setsockopt
- libc.src.sys.socket.shutdown
- libc.src.sys.socket.sockatmark
- libc.src.sys.socket.socket
- libc.src.sys.socket.socketpair
- # TODO: These functions are not compatible with 64-bit musl. They need to
- # be excluded if overlaying musl.
- libc.src.sys.socket.recvmmsg
- libc.src.sys.socket.recvmsg
- libc.src.sys.socket.sendmmsg
- libc.src.sys.socket.sendmsg
-
- # sys/stat.h entrypoints
- libc.src.sys.stat.chmod
- libc.src.sys.stat.fchmod
- libc.src.sys.stat.fchmodat
- libc.src.sys.stat.fstat
- libc.src.sys.stat.fstatat
- libc.src.sys.stat.futimens
- libc.src.sys.stat.lstat
- libc.src.sys.stat.mkdir
- libc.src.sys.stat.mkdirat
- libc.src.sys.stat.mkfifo
- libc.src.sys.stat.mkfifoat
- libc.src.sys.stat.mknod
- libc.src.sys.stat.mknodat
- libc.src.sys.stat.stat
- libc.src.sys.stat.umask
- libc.src.sys.stat.utimensat
-
- # sys/statfs.h entrypoints
- libc.src.sys.statfs.fstatfs
- libc.src.sys.statfs.statfs
-
- # sys/statvfs.h entrypoints
- libc.src.sys.statvfs.fstatvfs
- libc.src.sys.statvfs.statvfs
-
- # sys/sysinfo.h entrypoints
- libc.src.sys.sysinfo.sysinfo
-
- # sys/utsname.h entrypoints
- libc.src.sys.utsname.uname
-
- # sys/wait.h entrypoints
- libc.src.sys.wait.wait
- libc.src.sys.wait.wait4
- libc.src.sys.wait.waitid
- libc.src.sys.wait.waitpid
-
- # sys/xattr.h entrypoints
- libc.src.sys.xattr.fgetxattr
- libc.src.sys.xattr.flistxattr
- libc.src.sys.xattr.fsetxattr
- libc.src.sys.xattr.getxattr
- libc.src.sys.xattr.lgetxattr
- libc.src.sys.xattr.listxattr
- libc.src.sys.xattr.llistxattr
- libc.src.sys.xattr.lsetxattr
- libc.src.sys.xattr.setxattr
-
- # sys/prctl.h entrypoints
- libc.src.sys.prctl.prctl
-
- # sys/personality.h entrypoints
- libc.src.sys.personality.personality
-
- # sys/auxv.h entrypoints
- libc.src.sys.auxv.getauxval
-
- # sys/sysmacros.h entrypoints
- libc.src.sys.sysmacros.makedev
- libc.src.sys.sysmacros.major
- libc.src.sys.sysmacros.minor
-
- # sys/inotify.h entrypoints
- libc.src.sys.inotify.inotify_add_watch
- libc.src.sys.inotify.inotify_init
- libc.src.sys.inotify.inotify_init1
- libc.src.sys.inotify.inotify_rm_watch
-
- # termios.h entrypoints
- libc.src.termios.cfgetispeed
- libc.src.termios.cfgetospeed
- libc.src.termios.cfsetispeed
- libc.src.termios.cfsetospeed
- libc.src.termios.tcdrain
- libc.src.termios.tcflow
- libc.src.termios.tcflush
- libc.src.termios.tcgetattr
- libc.src.termios.tcgetsid
- libc.src.termios.tcgetwinsize
- libc.src.termios.tcsendbreak
- libc.src.termios.tcsetattr
- libc.src.termios.tcsetwinsize
-
- # unistd.h entrypoints
- libc.src.unistd.alarm
- libc.src.unistd.access
- libc.src.unistd.chdir
- libc.src.unistd.chown
- libc.src.unistd.chroot
- libc.src.unistd.close
- libc.src.unistd.dup
- libc.src.unistd.dup2
- libc.src.unistd.dup3
- libc.src.unistd.execle
- libc.src.unistd.execve
- libc.src.unistd.faccessat
- libc.src.unistd.fchdir
- libc.src.unistd.fchown
- libc.src.unistd.fchownat
- libc.src.unistd.fdatasync
- libc.src.unistd.fexecve
- libc.src.unistd.fpathconf
- libc.src.unistd.fsync
- libc.src.unistd.ftruncate
- libc.src.unistd.getcwd
- libc.src.unistd.getegid
- libc.src.unistd.getentropy
- libc.src.unistd.geteuid
- libc.src.unistd.gethostname
- libc.src.unistd.getpagesize
- libc.src.unistd.getpgid
- libc.src.unistd.getpgrp
- libc.src.unistd.getpid
- libc.src.unistd.getppid
- libc.src.unistd.getsid
- libc.src.unistd.gettid
- libc.src.unistd.getgid
- libc.src.unistd.getuid
- libc.src.unistd.isatty
- libc.src.unistd.lchown
- libc.src.unistd.link
- libc.src.unistd.linkat
- libc.src.unistd.lockf
- libc.src.unistd.lseek
- libc.src.unistd.nice
- libc.src.unistd.pathconf
- libc.src.unistd.pause
- libc.src.unistd.pipe
- libc.src.unistd.pipe2
- libc.src.unistd.pread
- libc.src.unistd.pwrite
- libc.src.unistd.read
- libc.src.unistd.readlink
- libc.src.unistd.readlinkat
- libc.src.unistd.rmdir
- libc.src.unistd.setpgid
- libc.src.unistd.setsid
- libc.src.unistd.sleep
- libc.src.unistd.symlink
- libc.src.unistd.symlinkat
- libc.src.unistd.sync
- libc.src.unistd.syncfs
- libc.src.unistd.tcgetpgrp
- libc.src.unistd.tcsetpgrp
- libc.src.unistd.truncate
- libc.src.unistd.unlink
- libc.src.unistd.unlinkat
- libc.src.unistd.usleep
- libc.src.unistd.write
-
- # wchar.h entrypoints
- libc.src.wchar.wcscasecmp
- libc.src.wchar.wcsncasecmp
- libc.src.wchar.wcslen
- libc.src.wchar.wctob
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
- libc.src.wctype.towlower
- libc.src.wctype.towupper
-
- # sys/uio.h entrypoints
- libc.src.sys.uio.writev
- libc.src.sys.uio.readv
-
- # sys/time.h entrypoints
- libc.src.sys.time.setitimer
- libc.src.sys.time.getitimer
- libc.src.sys.time.gettimeofday
-)
-
-if(LLVM_LIBC_INCLUDE_SCUDO)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # malloc.h external entrypoints
- libc.src.stdlib.mallopt
- )
-endif()
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignf80
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsf80
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acoshf16
- libc.src.math.asinpif16
- libc.src.math.atan2f16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cospif16
- libc.src.math.erff16
- libc.src.math.erfcf16
- libc.src.math.expf16
- libc.src.math.f16add
- libc.src.math.f16addf
- # libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- # libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- # libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- # libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- # libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- # libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- # libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10p1f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- # libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- # Temporarily disable nexttowardf16 on aarch64 because the conversion
- # between _Float16 and long double will crash clang-11. This is fixed in
- # clang-12 and after: https://godbolt.org/z/8ceT9454c
- # libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.rsqrtf
- libc.src.math.rsqrtf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- # if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- # list(APPEND TARGET_LIBM_ENTRYPOINTS
- # # math.h C23 mixed _Float16 and _Float128 entrypoints
- # libc.src.math.f16addf128
- # libc.src.math.f16divf128
- # libc.src.math.f16fmaf128
- # libc.src.math.f16mulf128
- # libc.src.math.f16sqrtf128
- # libc.src.math.f16subf128
- # )
- # endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # dirent.h entrypoints
- libc.src.dirent.alphasort
- libc.src.dirent.closedir
- libc.src.dirent.dirfd
- libc.src.dirent.opendir
- libc.src.dirent.readdir
- libc.src.dirent.scandir
- libc.src.dirent.fdopendir
-
- # errno.h entrypoints
- libc.src.errno.program_invocation_name
- libc.src.errno.program_invocation_short_name
-
- # arpa/inet.h entrypoints
- libc.src.arpa.inet.htonl
- libc.src.arpa.inet.htons
- libc.src.arpa.inet.inet_addr
- libc.src.arpa.inet.inet_aton
- libc.src.arpa.inet.inet_ntoa
- libc.src.arpa.inet.inet_ntop
- libc.src.arpa.inet.inet_pton
- libc.src.arpa.inet.ntohl
- libc.src.arpa.inet.ntohs
-
- # net/if.h entrypoints
- libc.src.net.if_indextoname
- libc.src.net.if_nametoindex
-
- # netinet/ether.h entrypoints
- libc.src.netinet.ether.ether_ntoa
- libc.src.netinet.ether.ether_ntoa_r
-
- # netinet/in.h entrypoints
- libc.src.netinet.in6addr_any
- libc.src.netinet.in6addr_loopback
-
- # pthread.h entrypoints
- libc.src.pthread.__pthread_cleanup_pop
- libc.src.pthread.__pthread_cleanup_push
- libc.src.pthread.pthread_atfork
- libc.src.pthread.pthread_attr_destroy
- libc.src.pthread.pthread_attr_getdetachstate
- libc.src.pthread.pthread_attr_getguardsize
- libc.src.pthread.pthread_attr_getinheritsched
- libc.src.pthread.pthread_attr_getschedparam
- libc.src.pthread.pthread_attr_getschedpolicy
- libc.src.pthread.pthread_attr_getscope
- libc.src.pthread.pthread_attr_getstack
- libc.src.pthread.pthread_attr_getstacksize
- libc.src.pthread.pthread_attr_init
- libc.src.pthread.pthread_attr_setdetachstate
- libc.src.pthread.pthread_attr_setguardsize
- libc.src.pthread.pthread_attr_setinheritsched
- libc.src.pthread.pthread_attr_setschedparam
- libc.src.pthread.pthread_attr_setschedpolicy
- libc.src.pthread.pthread_attr_setscope
- libc.src.pthread.pthread_attr_setstack
- libc.src.pthread.pthread_attr_setstacksize
- libc.src.pthread.pthread_condattr_destroy
- libc.src.pthread.pthread_condattr_getclock
- libc.src.pthread.pthread_condattr_getpshared
- libc.src.pthread.pthread_condattr_init
- libc.src.pthread.pthread_condattr_setclock
- libc.src.pthread.pthread_condattr_setpshared
- libc.src.pthread.pthread_cond_broadcast
- libc.src.pthread.pthread_cond_clockwait
- libc.src.pthread.pthread_cond_destroy
- libc.src.pthread.pthread_cond_init
- libc.src.pthread.pthread_cond_signal
- libc.src.pthread.pthread_cond_timedwait
- libc.src.pthread.pthread_cond_wait
- libc.src.pthread.pthread_create
- libc.src.pthread.pthread_detach
- libc.src.pthread.pthread_equal
- libc.src.pthread.pthread_exit
- libc.src.pthread.pthread_getattr_np
- libc.src.pthread.pthread_getname_np
- libc.src.pthread.pthread_getschedparam
- libc.src.pthread.pthread_getspecific
- libc.src.pthread.pthread_getstack_np
- libc.src.pthread.pthread_getthreadid_np
- libc.src.pthread.pthread_getunique_np
- libc.src.pthread.pthread_join
- libc.src.pthread.pthread_key_create
- libc.src.pthread.pthread_key_delete
- libc.src.pthread.pthread_mutex_destroy
- libc.src.pthread.pthread_mutex_init
- libc.src.pthread.pthread_mutex_lock
- libc.src.pthread.pthread_mutex_trylock
- libc.src.pthread.pthread_mutex_unlock
- libc.src.pthread.pthread_mutexattr_destroy
- libc.src.pthread.pthread_mutexattr_getpshared
- libc.src.pthread.pthread_mutexattr_getrobust
- libc.src.pthread.pthread_mutexattr_gettype
- libc.src.pthread.pthread_mutexattr_init
- libc.src.pthread.pthread_mutexattr_setpshared
- libc.src.pthread.pthread_mutexattr_setrobust
- libc.src.pthread.pthread_mutexattr_settype
- libc.src.pthread.pthread_once
- libc.src.pthread.pthread_rwlock_clockrdlock
- libc.src.pthread.pthread_rwlock_clockwrlock
- libc.src.pthread.pthread_rwlock_destroy
- libc.src.pthread.pthread_rwlock_init
- libc.src.pthread.pthread_rwlock_rdlock
- libc.src.pthread.pthread_rwlock_timedrdlock
- libc.src.pthread.pthread_rwlock_timedwrlock
- libc.src.pthread.pthread_rwlock_tryrdlock
- libc.src.pthread.pthread_rwlock_trywrlock
- libc.src.pthread.pthread_rwlock_unlock
- libc.src.pthread.pthread_rwlock_wrlock
- libc.src.pthread.pthread_rwlockattr_destroy
- libc.src.pthread.pthread_rwlockattr_getkind_np
- libc.src.pthread.pthread_rwlockattr_getpshared
- libc.src.pthread.pthread_rwlockattr_init
- libc.src.pthread.pthread_rwlockattr_setkind_np
- libc.src.pthread.pthread_rwlockattr_setpshared
- libc.src.pthread.pthread_spin_destroy
- libc.src.pthread.pthread_spin_init
- libc.src.pthread.pthread_spin_lock
- libc.src.pthread.pthread_spin_trylock
- libc.src.pthread.pthread_spin_unlock
- libc.src.pthread.pthread_self
- libc.src.pthread.pthread_setname_np
- libc.src.pthread.pthread_setschedparam
- libc.src.pthread.pthread_setspecific
-
- # sched.h entrypoints
- libc.src.sched.clone
- libc.src.sched.__sched_andcpuset
- libc.src.sched.__sched_clrcpuset
- libc.src.sched.__sched_cpualloc
- libc.src.sched.__sched_cpuequal
- libc.src.sched.__sched_cpufree
- libc.src.sched.__sched_getcpucount
- libc.src.sched.__sched_getcpuisset
- libc.src.sched.__sched_orcpuset
- libc.src.sched.__sched_setcpuset
- libc.src.sched.__sched_setcpuzero
- libc.src.sched.__sched_xorcpuset
-
- # semaphore.h entrypoints
- libc.src.semaphore.sem_clockwait
- libc.src.semaphore.sem_close
- libc.src.semaphore.sem_destroy
- libc.src.semaphore.sem_getvalue
- libc.src.semaphore.sem_init
- libc.src.semaphore.sem_open
- libc.src.semaphore.sem_post
- libc.src.semaphore.sem_timedwait
- libc.src.semaphore.sem_trywait
- libc.src.semaphore.sem_unlink
- libc.src.semaphore.sem_wait
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.clearerr_unlocked
- libc.src.stdio.fclose
- libc.src.stdio.fdopen
- libc.src.stdio.feof
- libc.src.stdio.feof_unlocked
- libc.src.stdio.ferror
- libc.src.stdio.ferror_unlocked
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgetc_unlocked
- libc.src.stdio.fgetpos
- libc.src.stdio.fgets
- libc.src.stdio.fileno
- libc.src.stdio.flockfile
- libc.src.stdio.fmemopen
- libc.src.stdio.fopen
- libc.src.stdio.freopen
- libc.src.stdio.fopencookie
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fread_unlocked
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.fsetpos
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.funlockfile
- libc.src.stdio.fwrite
- libc.src.stdio.fwrite_unlocked
- libc.src.stdio.getc
- libc.src.stdio.getc_unlocked
- libc.src.stdio.getchar
- libc.src.stdio.getchar_unlocked
- libc.src.stdio.pclose
- libc.src.stdio.perror
- libc.src.stdio.popen
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.rewind
- libc.src.stdio.setbuf
- libc.src.stdio.setvbuf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # stdlib.h entrypoints
- libc.src.stdlib.__cxa_thread_atexit_impl
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.atexit
- libc.src.stdlib.clearenv
- libc.src.stdlib.exit
- libc.src.stdlib.getenv
- libc.src.stdlib.putenv
- libc.src.stdlib.secure_getenv
- libc.src.stdlib.setenv
- libc.src.stdlib.system
- libc.src.stdlib.unsetenv
- libc.src.stdlib.quick_exit
-
- # signal.h entrypoints
- libc.src.signal.kill
- libc.src.signal.pthread_kill
- libc.src.signal.pthread_sigmask
- libc.src.signal.raise
- libc.src.signal.sigaction
- libc.src.signal.sigaddset
- libc.src.signal.sigaltstack
- libc.src.signal.sigdelset
- libc.src.signal.sigemptyset
- libc.src.signal.sigfillset
- libc.src.signal.sigismember
- libc.src.signal.signal
- libc.src.signal.sigprocmask
-
- # spawn.h entrypoints
- libc.src.spawn.posix_spawn
- libc.src.spawn.posix_spawn_file_actions_addclose
- libc.src.spawn.posix_spawn_file_actions_adddup2
- libc.src.spawn.posix_spawn_file_actions_addopen
- libc.src.spawn.posix_spawn_file_actions_destroy
- libc.src.spawn.posix_spawn_file_actions_init
-
- # search.h entrypoints
- libc.src.search.hcreate
- libc.src.search.hcreate_r
- libc.src.search.hdestroy
- libc.src.search.hdestroy_r
- libc.src.search.hsearch
- libc.src.search.hsearch_r
- libc.src.search.insque
- libc.src.search.lfind
- libc.src.search.lsearch
- libc.src.search.remque
- libc.src.search.tdelete
- libc.src.search.tdestroy
- libc.src.search.tfind
- libc.src.search.tsearch
- libc.src.search.twalk
- libc.src.search.twalk_r
-
- # threads.h entrypoints
- libc.src.threads.call_once
- libc.src.threads.cnd_broadcast
- libc.src.threads.cnd_destroy
- libc.src.threads.cnd_init
- libc.src.threads.cnd_signal
- libc.src.threads.cnd_timedwait
- libc.src.threads.cnd_wait
- libc.src.threads.mtx_destroy
- libc.src.threads.mtx_init
- libc.src.threads.mtx_lock
- libc.src.threads.mtx_trylock
- libc.src.threads.mtx_unlock
- libc.src.threads.thrd_create
- libc.src.threads.thrd_current
- libc.src.threads.thrd_detach
- libc.src.threads.thrd_equal
- libc.src.threads.thrd_exit
- libc.src.threads.thrd_join
- libc.src.threads.tss_create
- libc.src.threads.tss_delete
- libc.src.threads.tss_get
- libc.src.threads.tss_set
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.clock
- libc.src.time.clock_getcpuclockid
- libc.src.time.clock_getres
- libc.src.time.clock_gettime
- libc.src.time.clock_settime
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.mktime
- libc.src.time.nanosleep
- libc.src.time.time
- libc.src.time.timespec_get
- libc.src.time.timer_create
- libc.src.time.timer_delete
- libc.src.time.timer_getoverrun
- libc.src.time.timer_gettime
- libc.src.time.timer_settime
-
- # unistd.h entrypoints
- libc.src.unistd.__llvm_libc_syscall
- libc.src.unistd._exit
- libc.src.unistd.confstr
- libc.src.unistd.environ
- libc.src.unistd.execl
- libc.src.unistd.execlp
- libc.src.unistd.execv
- libc.src.unistd.execvp
- libc.src.unistd.execvpe
- libc.src.unistd.fork
- libc.src.unistd.getopt
- libc.src.unistd.optarg
- libc.src.unistd.opterr
- libc.src.unistd.optind
- libc.src.unistd.optopt
- libc.src.unistd.swab
- libc.src.unistd.sysconf
-
- # sys/select.h entrypoints
- libc.src.sys.select.pselect
- libc.src.sys.select.select
-
- # link.h entrypoints
- libc.src.link._r_debug
- libc.src.link.dl_iterate_phdr
-
- # wchar.h entrypoints
- libc.src.wchar.fgetwc
- libc.src.wchar.fgetws
- libc.src.wchar.fputwc
- libc.src.wchar.fputws
- libc.src.wchar.fwide
- libc.src.wchar.getwc
- libc.src.wchar.getwchar
- libc.src.wchar.putwc
- libc.src.wchar.putwchar
- libc.src.wchar.ungetwc
- )
-endif()
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # fnmatch.h entrypoints
- libc.src.fnmatch.fnmatch
-
- # glob.h entrypoints
- libc.src.glob.glob
- libc.src.glob.globfree
-
- # grp.h entrypoints
- libc.src.grp.initgroups
- libc.src.grp.setgroups
-
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # net/if.h entrypoints
- libc.src.net.if_freenameindex
- libc.src.net.if_nameindex
-
- # netdb.h entrypoints
- libc.src.netdb.freeaddrinfo
- libc.src.netdb.gai_strerror
- libc.src.netdb.getaddrinfo
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
-
- # sys/ptrace.h entrypoints
- libc.src.sys.ptrace.ptrace
-
- # time.h entrypoints
- libc.src.time.strptime
- libc.src.time.tz_variables
- libc.src.time.tzset
-
- # unistd.h entrypoints
- libc.src.unistd.setegid
- libc.src.unistd.seteuid
- libc.src.unistd.setgid
- libc.src.unistd.setregid
- libc.src.unistd.setresgid
- libc.src.unistd.setresuid
- libc.src.unistd.setreuid
- libc.src.unistd.setuid
-
- # wchar.h entrypoints
- libc.src.wchar.swprintf
- )
- endif()
-endif()
-
-set(TARGET_LIBMVEC_ENTRYPOINTS)
-
-if(LIBC_COMPILER_HAS_EXT_VECTOR_TYPE)
- list(APPEND TARGET_LIBMVEC_ENTRYPOINTS
- libc.src.mathvec.acosf
- libc.src.mathvec.acoshf
- libc.src.mathvec.acospif
- libc.src.mathvec.asinf
- libc.src.mathvec.asinhf
- libc.src.mathvec.asinpif
- libc.src.mathvec.atanf
- libc.src.mathvec.atanhf
- libc.src.mathvec.cbrtf
- libc.src.mathvec.cosf
- libc.src.mathvec.coshf
- libc.src.mathvec.cospif
- libc.src.mathvec.erff
- libc.src.mathvec.exp2f
- libc.src.mathvec.exp2m1f
- libc.src.mathvec.exp10f
- libc.src.mathvec.exp10m1f
- libc.src.mathvec.expf
- libc.src.mathvec.expm1f
- libc.src.mathvec.log10f
- libc.src.mathvec.log1pf
- libc.src.mathvec.log2f
- libc.src.mathvec.logf
- libc.src.mathvec.rsqrtf
- libc.src.mathvec.sinf
- libc.src.mathvec.sinhf
- libc.src.mathvec.sinpif
- libc.src.mathvec.sqrtf
- libc.src.mathvec.tanf
- libc.src.mathvec.tanhf
- libc.src.mathvec.tanpif
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
- ${TARGET_LIBMVEC_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # dlfcn.h entrypoints
+ libc.src.dlfcn.dlclose
+ libc.src.dlfcn.dlerror
+ libc.src.dlfcn.dlopen
+ libc.src.dlfcn.dlsym
+
+ # err.h entrypoints
+ libc.src.err.err
+ libc.src.err.verr
+ libc.src.err.errx
+ libc.src.err.verrx
+ libc.src.err.warn
+ libc.src.err.vwarn
+ libc.src.err.warnx
+ libc.src.err.vwarnx
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # fcntl.h entrypoints
+ libc.src.fcntl.creat
+ libc.src.fcntl.fallocate
+ libc.src.fcntl.fcntl
+ libc.src.fcntl.open
+ libc.src.fcntl.openat
+ libc.src.fcntl.posix_fadvise
+ libc.src.fcntl.posix_fadvise64
+ libc.src.fcntl.posix_fallocate
+
+ # grp.h entrypoints
+ libc.src.grp.endgrent
+ libc.src.grp.getgrent
+ libc.src.grp.getgrgid
+ libc.src.grp.getgrgid_r
+ libc.src.grp.getgrouplist
+ libc.src.grp.getgrnam
+ libc.src.grp.getgrnam_r
+ libc.src.grp.setgrent
+
+ # poll.h entrypoints
+ libc.src.poll.poll
+ libc.src.poll.ppoll
+
+ # pwd.h entrypoints
+ libc.src.pwd.endpwent
+ libc.src.pwd.getpwent
+ libc.src.pwd.getpwent_r
+ libc.src.pwd.getpwnam
+ libc.src.pwd.getpwnam_r
+ libc.src.pwd.getpwuid
+ libc.src.pwd.getpwuid_r
+ libc.src.pwd.setpwent
+
+ # sched.h entrypoints
+ libc.src.sched.sched_get_priority_max
+ libc.src.sched.sched_get_priority_min
+ libc.src.sched.sched_getaffinity
+ libc.src.sched.sched_getcpu
+ libc.src.sched.sched_getparam
+ libc.src.sched.sched_getscheduler
+ libc.src.sched.sched_rr_get_interval
+ libc.src.sched.sched_setaffinity
+ libc.src.sched.sched_setparam
+ libc.src.sched.sched_setscheduler
+ libc.src.sched.sched_yield
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strsignal
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # libgen.h entrypoints
+ libc.src.libgen.basename
+ libc.src.libgen.dirname
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.getloadavg
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.mkdtemp
+ libc.src.stdlib.mkostemp
+ libc.src.stdlib.mkstemp
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realpath
+ libc.src.stdlib.srand
+ libc.src.stdlib.strfromd
+ libc.src.stdlib.strfromf
+ libc.src.stdlib.strfromf128
+ # TODO: long double support is buggy with clang-11. Re-enable when buildbots are upgraded.
+ # libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.posix_memalign
+ libc.src.stdlib.realloc
+
+ # stdio.h entrypoints
+ libc.src.stdio.fprintf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.printf
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.renameat
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.tmpfile
+ libc.src.stdio.tmpnam
+ libc.src.stdio.vsscanf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vasprintf
+
+ # sys/epoll.h entrypoints
+ libc.src.sys.epoll.epoll_create
+ libc.src.sys.epoll.epoll_create1
+ libc.src.sys.epoll.epoll_ctl
+ libc.src.sys.epoll.epoll_pwait
+ libc.src.sys.epoll.epoll_wait
+ # TODO: Need to check if pwait2 is available before providing.
+ # https://github.com/llvm/llvm-project/issues/80060
+ # libc.src.sys.epoll.epoll_pwait2
+
+ # sys/eventfd.h entrypoints
+ libc.src.sys.eventfd.eventfd
+
+ # sys/file.h entrypoints
+ libc.src.sys.file.flock
+
+ # sys/ioctl.h entrypoints
+ libc.src.sys.ioctl.ioctl
+
+ # sys/mman.h entrypoints
+ libc.src.sys.mman.madvise
+ libc.src.sys.mman.memfd_create
+ libc.src.sys.mman.mincore
+ libc.src.sys.mman.mlock
+ libc.src.sys.mman.mlock2
+ libc.src.sys.mman.mlockall
+ libc.src.sys.mman.mmap
+ libc.src.sys.mman.mremap
+ libc.src.sys.mman.mprotect
+ libc.src.sys.mman.msync
+ libc.src.sys.mman.munlock
+ libc.src.sys.mman.munlockall
+ libc.src.sys.mman.munmap
+ libc.src.sys.mman.remap_file_pages
+ libc.src.sys.mman.posix_madvise
+ libc.src.sys.mman.shm_open
+ libc.src.sys.mman.shm_unlink
+
+ # sys/random.h entrypoints
+ libc.src.sys.random.getrandom
+ libc.src.sys.random.getentropy
+
+ # sys/resource.h entrypoints
+ libc.src.sys.resource.getpriority
+ libc.src.sys.resource.getrlimit
+ libc.src.sys.resource.getrusage
+ libc.src.sys.resource.setpriority
+ libc.src.sys.resource.setrlimit
+
+ # sys/sendfile.h entrypoints
+ libc.src.sys.sendfile.sendfile
+
+ # sys/socket.h entrypoints
+ libc.src.sys.socket.accept
+ libc.src.sys.socket.accept4
+ libc.src.sys.socket.bind
+ libc.src.sys.socket.connect
+ libc.src.sys.socket.getpeername
+ libc.src.sys.socket.getsockname
+ libc.src.sys.socket.getsockopt
+ libc.src.sys.socket.listen
+ libc.src.sys.socket.recv
+ libc.src.sys.socket.recvfrom
+ libc.src.sys.socket.send
+ libc.src.sys.socket.sendto
+ libc.src.sys.socket.setsockopt
+ libc.src.sys.socket.shutdown
+ libc.src.sys.socket.sockatmark
+ libc.src.sys.socket.socket
+ libc.src.sys.socket.socketpair
+ # TODO: These functions are not compatible with 64-bit musl. They need to
+ # be excluded if overlaying musl.
+ libc.src.sys.socket.recvmmsg
+ libc.src.sys.socket.recvmsg
+ libc.src.sys.socket.sendmmsg
+ libc.src.sys.socket.sendmsg
+
+ # sys/stat.h entrypoints
+ libc.src.sys.stat.chmod
+ libc.src.sys.stat.fchmod
+ libc.src.sys.stat.fchmodat
+ libc.src.sys.stat.fstat
+ libc.src.sys.stat.fstatat
+ libc.src.sys.stat.futimens
+ libc.src.sys.stat.lstat
+ libc.src.sys.stat.mkdir
+ libc.src.sys.stat.mkdirat
+ libc.src.sys.stat.mkfifo
+ libc.src.sys.stat.mkfifoat
+ libc.src.sys.stat.mknod
+ libc.src.sys.stat.mknodat
+ libc.src.sys.stat.stat
+ libc.src.sys.stat.umask
+ libc.src.sys.stat.utimensat
+
+ # sys/statfs.h entrypoints
+ libc.src.sys.statfs.fstatfs
+ libc.src.sys.statfs.statfs
+
+ # sys/statvfs.h entrypoints
+ libc.src.sys.statvfs.fstatvfs
+ libc.src.sys.statvfs.statvfs
+
+ # sys/sysinfo.h entrypoints
+ libc.src.sys.sysinfo.sysinfo
+
+ # sys/utsname.h entrypoints
+ libc.src.sys.utsname.uname
+
+ # sys/wait.h entrypoints
+ libc.src.sys.wait.wait
+ libc.src.sys.wait.wait4
+ libc.src.sys.wait.waitid
+ libc.src.sys.wait.waitpid
+
+ # sys/xattr.h entrypoints
+ libc.src.sys.xattr.fgetxattr
+ libc.src.sys.xattr.flistxattr
+ libc.src.sys.xattr.fsetxattr
+ libc.src.sys.xattr.getxattr
+ libc.src.sys.xattr.lgetxattr
+ libc.src.sys.xattr.listxattr
+ libc.src.sys.xattr.llistxattr
+ libc.src.sys.xattr.lsetxattr
+ libc.src.sys.xattr.setxattr
+
+ # sys/prctl.h entrypoints
+ libc.src.sys.prctl.prctl
+
+ # sys/personality.h entrypoints
+ libc.src.sys.personality.personality
+
+ # sys/auxv.h entrypoints
+ libc.src.sys.auxv.getauxval
+
+ # sys/sysmacros.h entrypoints
+ libc.src.sys.sysmacros.makedev
+ libc.src.sys.sysmacros.major
+ libc.src.sys.sysmacros.minor
+
+ # sys/inotify.h entrypoints
+ libc.src.sys.inotify.inotify_add_watch
+ libc.src.sys.inotify.inotify_init
+ libc.src.sys.inotify.inotify_init1
+ libc.src.sys.inotify.inotify_rm_watch
+
+ # termios.h entrypoints
+ libc.src.termios.cfgetispeed
+ libc.src.termios.cfgetospeed
+ libc.src.termios.cfsetispeed
+ libc.src.termios.cfsetospeed
+ libc.src.termios.tcdrain
+ libc.src.termios.tcflow
+ libc.src.termios.tcflush
+ libc.src.termios.tcgetattr
+ libc.src.termios.tcgetsid
+ libc.src.termios.tcgetwinsize
+ libc.src.termios.tcsendbreak
+ libc.src.termios.tcsetattr
+ libc.src.termios.tcsetwinsize
+
+ # unistd.h entrypoints
+ libc.src.unistd.alarm
+ libc.src.unistd.access
+ libc.src.unistd.chdir
+ libc.src.unistd.chown
+ libc.src.unistd.chroot
+ libc.src.unistd.close
+ libc.src.unistd.dup
+ libc.src.unistd.dup2
+ libc.src.unistd.dup3
+ libc.src.unistd.execle
+ libc.src.unistd.execve
+ libc.src.unistd.faccessat
+ libc.src.unistd.fchdir
+ libc.src.unistd.fchown
+ libc.src.unistd.fchownat
+ libc.src.unistd.fdatasync
+ libc.src.unistd.fexecve
+ libc.src.unistd.fpathconf
+ libc.src.unistd.fsync
+ libc.src.unistd.ftruncate
+ libc.src.unistd.getcwd
+ libc.src.unistd.getegid
+ libc.src.unistd.getentropy
+ libc.src.unistd.geteuid
+ libc.src.unistd.gethostname
+ libc.src.unistd.getpagesize
+ libc.src.unistd.getpgid
+ libc.src.unistd.getpgrp
+ libc.src.unistd.getpid
+ libc.src.unistd.getppid
+ libc.src.unistd.getsid
+ libc.src.unistd.gettid
+ libc.src.unistd.getgid
+ libc.src.unistd.getuid
+ libc.src.unistd.isatty
+ libc.src.unistd.lchown
+ libc.src.unistd.link
+ libc.src.unistd.linkat
+ libc.src.unistd.lockf
+ libc.src.unistd.lseek
+ libc.src.unistd.nice
+ libc.src.unistd.pathconf
+ libc.src.unistd.pause
+ libc.src.unistd.pipe
+ libc.src.unistd.pipe2
+ libc.src.unistd.pread
+ libc.src.unistd.pwrite
+ libc.src.unistd.read
+ libc.src.unistd.readlink
+ libc.src.unistd.readlinkat
+ libc.src.unistd.rmdir
+ libc.src.unistd.setpgid
+ libc.src.unistd.setsid
+ libc.src.unistd.sleep
+ libc.src.unistd.symlink
+ libc.src.unistd.symlinkat
+ libc.src.unistd.sync
+ libc.src.unistd.syncfs
+ libc.src.unistd.tcgetpgrp
+ libc.src.unistd.tcsetpgrp
+ libc.src.unistd.truncate
+ libc.src.unistd.unlink
+ libc.src.unistd.unlinkat
+ libc.src.unistd.usleep
+ libc.src.unistd.write
+
+ # wchar.h entrypoints
+ libc.src.wchar.wcscasecmp
+ libc.src.wchar.wcsncasecmp
+ libc.src.wchar.wcslen
+ libc.src.wchar.wctob
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+ libc.src.wctype.towlower
+ libc.src.wctype.towupper
+
+ # sys/uio.h entrypoints
+ libc.src.sys.uio.writev
+ libc.src.sys.uio.readv
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.setitimer
+ libc.src.sys.time.getitimer
+ libc.src.sys.time.gettimeofday
+)
+
+if(LLVM_LIBC_INCLUDE_SCUDO)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # malloc.h external entrypoints
+ libc.src.stdlib.mallopt
+ )
+endif()
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acoshf16
+ libc.src.math.asinpif16
+ libc.src.math.atan2f16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cospif16
+ libc.src.math.erff16
+ libc.src.math.erfcf16
+ libc.src.math.expf16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ # libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ # libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ # libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ # libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ # libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ # libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ # libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10p1f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ # libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ # Temporarily disable nexttowardf16 on aarch64 because the conversion
+ # between _Float16 and long double will crash clang-11. This is fixed in
+ # clang-12 and after: https://godbolt.org/z/8ceT9454c
+ # libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.rsqrtf
+ libc.src.math.rsqrtf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ # if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ # list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # # math.h C23 mixed _Float16 and _Float128 entrypoints
+ # libc.src.math.f16addf128
+ # libc.src.math.f16divf128
+ # libc.src.math.f16fmaf128
+ # libc.src.math.f16mulf128
+ # libc.src.math.f16sqrtf128
+ # libc.src.math.f16subf128
+ # )
+ # endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # dirent.h entrypoints
+ libc.src.dirent.alphasort
+ libc.src.dirent.closedir
+ libc.src.dirent.dirfd
+ libc.src.dirent.opendir
+ libc.src.dirent.readdir
+ libc.src.dirent.scandir
+ libc.src.dirent.fdopendir
+
+ # errno.h entrypoints
+ libc.src.errno.program_invocation_name
+ libc.src.errno.program_invocation_short_name
+
+ # arpa/inet.h entrypoints
+ libc.src.arpa.inet.htonl
+ libc.src.arpa.inet.htons
+ libc.src.arpa.inet.inet_addr
+ libc.src.arpa.inet.inet_aton
+ libc.src.arpa.inet.inet_ntoa
+ libc.src.arpa.inet.inet_ntop
+ libc.src.arpa.inet.inet_pton
+ libc.src.arpa.inet.ntohl
+ libc.src.arpa.inet.ntohs
+
+ # net/if.h entrypoints
+ libc.src.net.if_indextoname
+ libc.src.net.if_nametoindex
+
+ # netinet/ether.h entrypoints
+ libc.src.netinet.ether.ether_ntoa
+ libc.src.netinet.ether.ether_ntoa_r
+
+ # netinet/in.h entrypoints
+ libc.src.netinet.in6addr_any
+ libc.src.netinet.in6addr_loopback
+
+ # pthread.h entrypoints
+ libc.src.pthread.__pthread_cleanup_pop
+ libc.src.pthread.__pthread_cleanup_push
+ libc.src.pthread.pthread_atfork
+ libc.src.pthread.pthread_attr_destroy
+ libc.src.pthread.pthread_attr_getdetachstate
+ libc.src.pthread.pthread_attr_getguardsize
+ libc.src.pthread.pthread_attr_getinheritsched
+ libc.src.pthread.pthread_attr_getschedparam
+ libc.src.pthread.pthread_attr_getschedpolicy
+ libc.src.pthread.pthread_attr_getscope
+ libc.src.pthread.pthread_attr_getstack
+ libc.src.pthread.pthread_attr_getstacksize
+ libc.src.pthread.pthread_attr_init
+ libc.src.pthread.pthread_attr_setdetachstate
+ libc.src.pthread.pthread_attr_setguardsize
+ libc.src.pthread.pthread_attr_setinheritsched
+ libc.src.pthread.pthread_attr_setschedparam
+ libc.src.pthread.pthread_attr_setschedpolicy
+ libc.src.pthread.pthread_attr_setscope
+ libc.src.pthread.pthread_attr_setstack
+ libc.src.pthread.pthread_attr_setstacksize
+ libc.src.pthread.pthread_condattr_destroy
+ libc.src.pthread.pthread_condattr_getclock
+ libc.src.pthread.pthread_condattr_getpshared
+ libc.src.pthread.pthread_condattr_init
+ libc.src.pthread.pthread_condattr_setclock
+ libc.src.pthread.pthread_condattr_setpshared
+ libc.src.pthread.pthread_cond_broadcast
+ libc.src.pthread.pthread_cond_clockwait
+ libc.src.pthread.pthread_cond_destroy
+ libc.src.pthread.pthread_cond_init
+ libc.src.pthread.pthread_cond_signal
+ libc.src.pthread.pthread_cond_timedwait
+ libc.src.pthread.pthread_cond_wait
+ libc.src.pthread.pthread_create
+ libc.src.pthread.pthread_detach
+ libc.src.pthread.pthread_equal
+ libc.src.pthread.pthread_exit
+ libc.src.pthread.pthread_getattr_np
+ libc.src.pthread.pthread_getname_np
+ libc.src.pthread.pthread_getschedparam
+ libc.src.pthread.pthread_getspecific
+ libc.src.pthread.pthread_getstack_np
+ libc.src.pthread.pthread_getthreadid_np
+ libc.src.pthread.pthread_getunique_np
+ libc.src.pthread.pthread_join
+ libc.src.pthread.pthread_key_create
+ libc.src.pthread.pthread_key_delete
+ libc.src.pthread.pthread_mutex_destroy
+ libc.src.pthread.pthread_mutex_init
+ libc.src.pthread.pthread_mutex_lock
+ libc.src.pthread.pthread_mutex_trylock
+ libc.src.pthread.pthread_mutex_unlock
+ libc.src.pthread.pthread_mutexattr_destroy
+ libc.src.pthread.pthread_mutexattr_getpshared
+ libc.src.pthread.pthread_mutexattr_getrobust
+ libc.src.pthread.pthread_mutexattr_gettype
+ libc.src.pthread.pthread_mutexattr_init
+ libc.src.pthread.pthread_mutexattr_setpshared
+ libc.src.pthread.pthread_mutexattr_setrobust
+ libc.src.pthread.pthread_mutexattr_settype
+ libc.src.pthread.pthread_once
+ libc.src.pthread.pthread_rwlock_clockrdlock
+ libc.src.pthread.pthread_rwlock_clockwrlock
+ libc.src.pthread.pthread_rwlock_destroy
+ libc.src.pthread.pthread_rwlock_init
+ libc.src.pthread.pthread_rwlock_rdlock
+ libc.src.pthread.pthread_rwlock_timedrdlock
+ libc.src.pthread.pthread_rwlock_timedwrlock
+ libc.src.pthread.pthread_rwlock_tryrdlock
+ libc.src.pthread.pthread_rwlock_trywrlock
+ libc.src.pthread.pthread_rwlock_unlock
+ libc.src.pthread.pthread_rwlock_wrlock
+ libc.src.pthread.pthread_rwlockattr_destroy
+ libc.src.pthread.pthread_rwlockattr_getkind_np
+ libc.src.pthread.pthread_rwlockattr_getpshared
+ libc.src.pthread.pthread_rwlockattr_init
+ libc.src.pthread.pthread_rwlockattr_setkind_np
+ libc.src.pthread.pthread_rwlockattr_setpshared
+ libc.src.pthread.pthread_spin_destroy
+ libc.src.pthread.pthread_spin_init
+ libc.src.pthread.pthread_spin_lock
+ libc.src.pthread.pthread_spin_trylock
+ libc.src.pthread.pthread_spin_unlock
+ libc.src.pthread.pthread_self
+ libc.src.pthread.pthread_setname_np
+ libc.src.pthread.pthread_setschedparam
+ libc.src.pthread.pthread_setspecific
+
+ # sched.h entrypoints
+ libc.src.sched.clone
+ libc.src.sched.__sched_andcpuset
+ libc.src.sched.__sched_clrcpuset
+ libc.src.sched.__sched_cpualloc
+ libc.src.sched.__sched_cpuequal
+ libc.src.sched.__sched_cpufree
+ libc.src.sched.__sched_getcpucount
+ libc.src.sched.__sched_getcpuisset
+ libc.src.sched.__sched_orcpuset
+ libc.src.sched.__sched_setcpuset
+ libc.src.sched.__sched_setcpuzero
+ libc.src.sched.__sched_xorcpuset
+
+ # semaphore.h entrypoints
+ libc.src.semaphore.sem_clockwait
+ libc.src.semaphore.sem_close
+ libc.src.semaphore.sem_destroy
+ libc.src.semaphore.sem_getvalue
+ libc.src.semaphore.sem_init
+ libc.src.semaphore.sem_open
+ libc.src.semaphore.sem_post
+ libc.src.semaphore.sem_timedwait
+ libc.src.semaphore.sem_trywait
+ libc.src.semaphore.sem_unlink
+ libc.src.semaphore.sem_wait
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.clearerr_unlocked
+ libc.src.stdio.fclose
+ libc.src.stdio.fdopen
+ libc.src.stdio.feof
+ libc.src.stdio.feof_unlocked
+ libc.src.stdio.ferror
+ libc.src.stdio.ferror_unlocked
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgetc_unlocked
+ libc.src.stdio.fgetpos
+ libc.src.stdio.fgets
+ libc.src.stdio.fileno
+ libc.src.stdio.flockfile
+ libc.src.stdio.fmemopen
+ libc.src.stdio.fopen
+ libc.src.stdio.freopen
+ libc.src.stdio.fopencookie
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fread_unlocked
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.fsetpos
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.funlockfile
+ libc.src.stdio.fwrite
+ libc.src.stdio.fwrite_unlocked
+ libc.src.stdio.getc
+ libc.src.stdio.getc_unlocked
+ libc.src.stdio.getchar
+ libc.src.stdio.getchar_unlocked
+ libc.src.stdio.pclose
+ libc.src.stdio.perror
+ libc.src.stdio.popen
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.rewind
+ libc.src.stdio.setbuf
+ libc.src.stdio.setvbuf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.__cxa_thread_atexit_impl
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.atexit
+ libc.src.stdlib.clearenv
+ libc.src.stdlib.exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.putenv
+ libc.src.stdlib.secure_getenv
+ libc.src.stdlib.setenv
+ libc.src.stdlib.system
+ libc.src.stdlib.unsetenv
+ libc.src.stdlib.quick_exit
+
+ # signal.h entrypoints
+ libc.src.signal.kill
+ libc.src.signal.pthread_kill
+ libc.src.signal.pthread_sigmask
+ libc.src.signal.raise
+ libc.src.signal.sigaction
+ libc.src.signal.sigaddset
+ libc.src.signal.sigaltstack
+ libc.src.signal.sigdelset
+ libc.src.signal.sigemptyset
+ libc.src.signal.sigfillset
+ libc.src.signal.sigismember
+ libc.src.signal.signal
+ libc.src.signal.sigprocmask
+
+ # spawn.h entrypoints
+ libc.src.spawn.posix_spawn
+ libc.src.spawn.posix_spawn_file_actions_addclose
+ libc.src.spawn.posix_spawn_file_actions_adddup2
+ libc.src.spawn.posix_spawn_file_actions_addopen
+ libc.src.spawn.posix_spawn_file_actions_destroy
+ libc.src.spawn.posix_spawn_file_actions_init
+
+ # search.h entrypoints
+ libc.src.search.hcreate
+ libc.src.search.hcreate_r
+ libc.src.search.hdestroy
+ libc.src.search.hdestroy_r
+ libc.src.search.hsearch
+ libc.src.search.hsearch_r
+ libc.src.search.insque
+ libc.src.search.lfind
+ libc.src.search.lsearch
+ libc.src.search.remque
+ libc.src.search.tdelete
+ libc.src.search.tdestroy
+ libc.src.search.tfind
+ libc.src.search.tsearch
+ libc.src.search.twalk
+ libc.src.search.twalk_r
+
+ # threads.h entrypoints
+ libc.src.threads.call_once
+ libc.src.threads.cnd_broadcast
+ libc.src.threads.cnd_destroy
+ libc.src.threads.cnd_init
+ libc.src.threads.cnd_signal
+ libc.src.threads.cnd_timedwait
+ libc.src.threads.cnd_wait
+ libc.src.threads.mtx_destroy
+ libc.src.threads.mtx_init
+ libc.src.threads.mtx_lock
+ libc.src.threads.mtx_trylock
+ libc.src.threads.mtx_unlock
+ libc.src.threads.thrd_create
+ libc.src.threads.thrd_current
+ libc.src.threads.thrd_detach
+ libc.src.threads.thrd_equal
+ libc.src.threads.thrd_exit
+ libc.src.threads.thrd_join
+ libc.src.threads.tss_create
+ libc.src.threads.tss_delete
+ libc.src.threads.tss_get
+ libc.src.threads.tss_set
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.clock
+ libc.src.time.clock_getcpuclockid
+ libc.src.time.clock_getres
+ libc.src.time.clock_gettime
+ libc.src.time.clock_settime
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.mktime
+ libc.src.time.nanosleep
+ libc.src.time.time
+ libc.src.time.timespec_get
+ libc.src.time.timer_create
+ libc.src.time.timer_delete
+ libc.src.time.timer_getoverrun
+ libc.src.time.timer_gettime
+ libc.src.time.timer_settime
+
+ # unistd.h entrypoints
+ libc.src.unistd.__llvm_libc_syscall
+ libc.src.unistd._exit
+ libc.src.unistd.confstr
+ libc.src.unistd.environ
+ libc.src.unistd.execl
+ libc.src.unistd.execlp
+ libc.src.unistd.execv
+ libc.src.unistd.execvp
+ libc.src.unistd.execvpe
+ libc.src.unistd.fork
+ libc.src.unistd.getopt
+ libc.src.unistd.optarg
+ libc.src.unistd.opterr
+ libc.src.unistd.optind
+ libc.src.unistd.optopt
+ libc.src.unistd.swab
+ libc.src.unistd.sysconf
+
+ # sys/select.h entrypoints
+ libc.src.sys.select.pselect
+ libc.src.sys.select.select
+
+ # link.h entrypoints
+ libc.src.link._r_debug
+ libc.src.link.dl_iterate_phdr
+
+ # wchar.h entrypoints
+ libc.src.wchar.fgetwc
+ libc.src.wchar.fgetws
+ libc.src.wchar.fputwc
+ libc.src.wchar.fputws
+ libc.src.wchar.fwide
+ libc.src.wchar.getwc
+ libc.src.wchar.getwchar
+ libc.src.wchar.putwc
+ libc.src.wchar.putwchar
+ libc.src.wchar.ungetwc
+ )
+endif()
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # fnmatch.h entrypoints
+ libc.src.fnmatch.fnmatch
+
+ # glob.h entrypoints
+ libc.src.glob.glob
+ libc.src.glob.globfree
+
+ # grp.h entrypoints
+ libc.src.grp.initgroups
+ libc.src.grp.setgroups
+
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # net/if.h entrypoints
+ libc.src.net.if_freenameindex
+ libc.src.net.if_nameindex
+
+ # netdb.h entrypoints
+ libc.src.netdb.freeaddrinfo
+ libc.src.netdb.gai_strerror
+ libc.src.netdb.getaddrinfo
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+
+ # sys/ptrace.h entrypoints
+ libc.src.sys.ptrace.ptrace
+
+ # time.h entrypoints
+ libc.src.time.strptime
+ libc.src.time.tz_variables
+ libc.src.time.tzset
+
+ # unistd.h entrypoints
+ libc.src.unistd.setegid
+ libc.src.unistd.seteuid
+ libc.src.unistd.setgid
+ libc.src.unistd.setregid
+ libc.src.unistd.setresgid
+ libc.src.unistd.setresuid
+ libc.src.unistd.setreuid
+ libc.src.unistd.setuid
+
+ # wchar.h entrypoints
+ libc.src.wchar.swprintf
+ )
+ endif()
+endif()
+
+set(TARGET_LIBMVEC_ENTRYPOINTS)
+
+if(LIBC_COMPILER_HAS_EXT_VECTOR_TYPE)
+ list(APPEND TARGET_LIBMVEC_ENTRYPOINTS
+ libc.src.mathvec.acosf
+ libc.src.mathvec.acoshf
+ libc.src.mathvec.acospif
+ libc.src.mathvec.asinf
+ libc.src.mathvec.asinhf
+ libc.src.mathvec.asinpif
+ libc.src.mathvec.atanf
+ libc.src.mathvec.atanhf
+ libc.src.mathvec.cbrtf
+ libc.src.mathvec.cosf
+ libc.src.mathvec.coshf
+ libc.src.mathvec.cospif
+ libc.src.mathvec.erff
+ libc.src.mathvec.exp2f
+ libc.src.mathvec.exp2m1f
+ libc.src.mathvec.exp10f
+ libc.src.mathvec.exp10m1f
+ libc.src.mathvec.expf
+ libc.src.mathvec.expm1f
+ libc.src.mathvec.log10f
+ libc.src.mathvec.log1pf
+ libc.src.mathvec.log2f
+ libc.src.mathvec.logf
+ libc.src.mathvec.rsqrtf
+ libc.src.mathvec.sinf
+ libc.src.mathvec.sinhf
+ libc.src.mathvec.sinpif
+ libc.src.mathvec.sqrtf
+ libc.src.mathvec.tanf
+ libc.src.mathvec.tanhf
+ libc.src.mathvec.tanpif
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+ ${TARGET_LIBMVEC_ENTRYPOINTS}
+)
diff --git a/libc/config/linux/arm/entrypoints.txt b/libc/config/linux/arm/entrypoints.txt
index 06838dcc8e86a9..64d535f88596b1 100644
--- a/libc/config/linux/arm/entrypoints.txt
+++ b/libc/config/linux/arm/entrypoints.txt
@@ -1,772 +1,772 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # err.h entrypoints
- libc.src.err.err
- libc.src.err.verr
- libc.src.err.errx
- libc.src.err.verrx
- libc.src.err.warn
- libc.src.err.vwarn
- libc.src.err.warnx
- libc.src.err.vwarnx
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # grp.h entrypoints
- libc.src.grp.endgrent
- libc.src.grp.getgrent
- libc.src.grp.getgrgid
- libc.src.grp.getgrgid_r
- libc.src.grp.getgrouplist
- libc.src.grp.getgrnam
- libc.src.grp.getgrnam_r
- libc.src.grp.setgrent
-
- # poll.h entrypoints
- libc.src.poll.poll
-
- # pwd.h entrypoints
- libc.src.pwd.endpwent
- libc.src.pwd.getpwent
- libc.src.pwd.getpwent_r
- libc.src.pwd.getpwnam
- libc.src.pwd.getpwnam_r
- libc.src.pwd.getpwuid
- libc.src.pwd.getpwuid_r
- libc.src.pwd.setpwent
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # libgen.h entrypoints
- libc.src.libgen.basename
- libc.src.libgen.dirname
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.getloadavg
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
-
- # stdio.h entrypoints
- libc.src.stdio.tmpfile
-
- # sys/eventfd.h entrypoints
- libc.src.sys.eventfd.eventfd
-
- # sys/inotify.h entrypoints
- libc.src.sys.inotify.inotify_add_watch
- libc.src.sys.inotify.inotify_init
- libc.src.sys.inotify.inotify_init1
- libc.src.sys.inotify.inotify_rm_watch
-
- # sys/ioctl.h entrypoints
- libc.src.sys.ioctl.ioctl
-
- # sys/mman.h entrypoints
- libc.src.sys.mman.memfd_create
- libc.src.sys.mman.mmap
- libc.src.sys.mman.munmap
-
- # sys/prctl.h entrypoints
- libc.src.sys.prctl.prctl
-
- # sys/sysinfo.h entrypoints
- # Disabled due to QEMU test failures.
- # libc.src.sys.sysinfo.sysinfo
-
- # sys/personality.h entrypoints
- libc.src.sys.personality.personality
-
- # sys/epoll.h entrypoints
- # Disabled due to epoll_wait syscalls not being available on this platform.
- # libc.src.sys.epoll.epoll_wait
- # libc.src.sys.epoll.epoll_pwait
- # libc.src.sys.epoll.epoll_pwait2
-
- # sys/time.h entrypoints
- libc.src.sys.time.setitimer
- libc.src.sys.time.getitimer
-
- # unistd.h entrypoints
- libc.src.unistd.alarm
- libc.src.unistd.access
- libc.src.unistd.chdir
- libc.src.unistd.chown
- libc.src.unistd.chroot
- libc.src.unistd.close
- libc.src.unistd.dup
- libc.src.unistd.dup2
- libc.src.unistd.dup3
- libc.src.unistd.execve
- libc.src.unistd.faccessat
- libc.src.unistd.fchdir
- libc.src.unistd.fchown
- libc.src.unistd.fchownat
- libc.src.unistd.fdatasync
- libc.src.unistd.fexecve
- libc.src.unistd.fsync
- libc.src.unistd.ftruncate
- libc.src.unistd.getcwd
- libc.src.unistd.getegid
- libc.src.unistd.getentropy
- libc.src.unistd.geteuid
- libc.src.unistd.gethostname
- libc.src.unistd.getpagesize
- libc.src.unistd.getpgid
- libc.src.unistd.getpgrp
- libc.src.unistd.getpid
- libc.src.unistd.getppid
- libc.src.unistd.getsid
- libc.src.unistd.gettid
- libc.src.unistd.getgid
- libc.src.unistd.getuid
- libc.src.unistd.isatty
- libc.src.unistd.lchown
- libc.src.unistd.link
- libc.src.unistd.linkat
- libc.src.unistd.lockf
- libc.src.unistd.lseek
- libc.src.unistd.nice
- libc.src.unistd.pause
- libc.src.unistd.pipe
- libc.src.unistd.pipe2
- libc.src.unistd.read
- libc.src.unistd.readlink
- libc.src.unistd.readlinkat
- libc.src.unistd.rmdir
- libc.src.unistd.setpgid
- libc.src.unistd.setsid
- libc.src.unistd.symlink
- libc.src.unistd.symlinkat
- libc.src.unistd.sync
- libc.src.unistd.syncfs
- libc.src.unistd.tcgetpgrp
- libc.src.unistd.tcsetpgrp
- libc.src.unistd.truncate
- libc.src.unistd.unlink
- libc.src.unistd.unlinkat
- libc.src.unistd.write
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
-)
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # search.h entrypoints
- libc.src.search.lfind
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
-
- # dirent.h entrypoints
- libc.src.dirent.alphasort
- libc.src.dirent.closedir
- libc.src.dirent.dirfd
- libc.src.dirent.opendir
- libc.src.dirent.readdir
- libc.src.dirent.fdopendir
-
- # unistd.h entrypoints
- libc.src.unistd.confstr
- libc.src.unistd.sysconf
- )
-endif()
-
-if(LLVM_LIBC_INCLUDE_SCUDO)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # malloc.h external entrypoints
- libc.src.stdlib.mallopt
- )
-endif()
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignf80
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.dfmal
- libc.src.math.dsqrtl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsf80
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmul
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonicalf128
- libc.src.math.isnanf128
- libc.src.math.issignalingf128
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundevenf128
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # grp.h entrypoints
- libc.src.grp.initgroups
- libc.src.grp.setgroups
-
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
-
- # sys/ptrace.h entrypoints
- libc.src.sys.ptrace.ptrace
-
- # unistd.h entrypoints
- libc.src.unistd.setegid
- libc.src.unistd.seteuid
- libc.src.unistd.setgid
- libc.src.unistd.setregid
- libc.src.unistd.setresgid
- libc.src.unistd.setresuid
- libc.src.unistd.setreuid
- libc.src.unistd.setuid
- )
- endif()
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # err.h entrypoints
+ libc.src.err.err
+ libc.src.err.verr
+ libc.src.err.errx
+ libc.src.err.verrx
+ libc.src.err.warn
+ libc.src.err.vwarn
+ libc.src.err.warnx
+ libc.src.err.vwarnx
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # grp.h entrypoints
+ libc.src.grp.endgrent
+ libc.src.grp.getgrent
+ libc.src.grp.getgrgid
+ libc.src.grp.getgrgid_r
+ libc.src.grp.getgrouplist
+ libc.src.grp.getgrnam
+ libc.src.grp.getgrnam_r
+ libc.src.grp.setgrent
+
+ # poll.h entrypoints
+ libc.src.poll.poll
+
+ # pwd.h entrypoints
+ libc.src.pwd.endpwent
+ libc.src.pwd.getpwent
+ libc.src.pwd.getpwent_r
+ libc.src.pwd.getpwnam
+ libc.src.pwd.getpwnam_r
+ libc.src.pwd.getpwuid
+ libc.src.pwd.getpwuid_r
+ libc.src.pwd.setpwent
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # libgen.h entrypoints
+ libc.src.libgen.basename
+ libc.src.libgen.dirname
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.getloadavg
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+
+ # stdio.h entrypoints
+ libc.src.stdio.tmpfile
+
+ # sys/eventfd.h entrypoints
+ libc.src.sys.eventfd.eventfd
+
+ # sys/inotify.h entrypoints
+ libc.src.sys.inotify.inotify_add_watch
+ libc.src.sys.inotify.inotify_init
+ libc.src.sys.inotify.inotify_init1
+ libc.src.sys.inotify.inotify_rm_watch
+
+ # sys/ioctl.h entrypoints
+ libc.src.sys.ioctl.ioctl
+
+ # sys/mman.h entrypoints
+ libc.src.sys.mman.memfd_create
+ libc.src.sys.mman.mmap
+ libc.src.sys.mman.munmap
+
+ # sys/prctl.h entrypoints
+ libc.src.sys.prctl.prctl
+
+ # sys/sysinfo.h entrypoints
+ # Disabled due to QEMU test failures.
+ # libc.src.sys.sysinfo.sysinfo
+
+ # sys/personality.h entrypoints
+ libc.src.sys.personality.personality
+
+ # sys/epoll.h entrypoints
+ # Disabled due to epoll_wait syscalls not being available on this platform.
+ # libc.src.sys.epoll.epoll_wait
+ # libc.src.sys.epoll.epoll_pwait
+ # libc.src.sys.epoll.epoll_pwait2
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.setitimer
+ libc.src.sys.time.getitimer
+
+ # unistd.h entrypoints
+ libc.src.unistd.alarm
+ libc.src.unistd.access
+ libc.src.unistd.chdir
+ libc.src.unistd.chown
+ libc.src.unistd.chroot
+ libc.src.unistd.close
+ libc.src.unistd.dup
+ libc.src.unistd.dup2
+ libc.src.unistd.dup3
+ libc.src.unistd.execve
+ libc.src.unistd.faccessat
+ libc.src.unistd.fchdir
+ libc.src.unistd.fchown
+ libc.src.unistd.fchownat
+ libc.src.unistd.fdatasync
+ libc.src.unistd.fexecve
+ libc.src.unistd.fsync
+ libc.src.unistd.ftruncate
+ libc.src.unistd.getcwd
+ libc.src.unistd.getegid
+ libc.src.unistd.getentropy
+ libc.src.unistd.geteuid
+ libc.src.unistd.gethostname
+ libc.src.unistd.getpagesize
+ libc.src.unistd.getpgid
+ libc.src.unistd.getpgrp
+ libc.src.unistd.getpid
+ libc.src.unistd.getppid
+ libc.src.unistd.getsid
+ libc.src.unistd.gettid
+ libc.src.unistd.getgid
+ libc.src.unistd.getuid
+ libc.src.unistd.isatty
+ libc.src.unistd.lchown
+ libc.src.unistd.link
+ libc.src.unistd.linkat
+ libc.src.unistd.lockf
+ libc.src.unistd.lseek
+ libc.src.unistd.nice
+ libc.src.unistd.pause
+ libc.src.unistd.pipe
+ libc.src.unistd.pipe2
+ libc.src.unistd.read
+ libc.src.unistd.readlink
+ libc.src.unistd.readlinkat
+ libc.src.unistd.rmdir
+ libc.src.unistd.setpgid
+ libc.src.unistd.setsid
+ libc.src.unistd.symlink
+ libc.src.unistd.symlinkat
+ libc.src.unistd.sync
+ libc.src.unistd.syncfs
+ libc.src.unistd.tcgetpgrp
+ libc.src.unistd.tcsetpgrp
+ libc.src.unistd.truncate
+ libc.src.unistd.unlink
+ libc.src.unistd.unlinkat
+ libc.src.unistd.write
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+)
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # search.h entrypoints
+ libc.src.search.lfind
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+
+ # dirent.h entrypoints
+ libc.src.dirent.alphasort
+ libc.src.dirent.closedir
+ libc.src.dirent.dirfd
+ libc.src.dirent.opendir
+ libc.src.dirent.readdir
+ libc.src.dirent.fdopendir
+
+ # unistd.h entrypoints
+ libc.src.unistd.confstr
+ libc.src.unistd.sysconf
+ )
+endif()
+
+if(LLVM_LIBC_INCLUDE_SCUDO)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # malloc.h external entrypoints
+ libc.src.stdlib.mallopt
+ )
+endif()
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.dfmal
+ libc.src.math.dsqrtl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmul
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonicalf128
+ libc.src.math.isnanf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundevenf128
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # grp.h entrypoints
+ libc.src.grp.initgroups
+ libc.src.grp.setgroups
+
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+
+ # sys/ptrace.h entrypoints
+ libc.src.sys.ptrace.ptrace
+
+ # unistd.h entrypoints
+ libc.src.unistd.setegid
+ libc.src.unistd.seteuid
+ libc.src.unistd.setgid
+ libc.src.unistd.setregid
+ libc.src.unistd.setresgid
+ libc.src.unistd.setresuid
+ libc.src.unistd.setreuid
+ libc.src.unistd.setuid
+ )
+ endif()
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/linux/riscv/entrypoints.txt b/libc/config/linux/riscv/entrypoints.txt
index 8c47ffb05564bc..fcaddae01c0e3e 100644
--- a/libc/config/linux/riscv/entrypoints.txt
+++ b/libc/config/linux/riscv/entrypoints.txt
@@ -1,1774 +1,1774 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # arpa/inet.h entrypoints
- libc.src.arpa.inet.htonl
- libc.src.arpa.inet.htons
- libc.src.arpa.inet.inet_addr
- libc.src.arpa.inet.inet_aton
- libc.src.arpa.inet.inet_ntoa
- libc.src.arpa.inet.inet_ntop
- libc.src.arpa.inet.inet_pton
- libc.src.arpa.inet.ntohl
- libc.src.arpa.inet.ntohs
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # dlfcn.h entrypoints
- libc.src.dlfcn.dladdr
- libc.src.dlfcn.dlclose
- libc.src.dlfcn.dlerror
- libc.src.dlfcn.dlopen
- libc.src.dlfcn.dlsym
-
- # err.h entrypoints
- libc.src.err.err
- libc.src.err.verr
- libc.src.err.errx
- libc.src.err.verrx
- libc.src.err.warn
- libc.src.err.vwarn
- libc.src.err.warnx
- libc.src.err.vwarnx
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # fcntl.h entrypoints
- libc.src.fcntl.creat
- libc.src.fcntl.fallocate
- libc.src.fcntl.fcntl
- libc.src.fcntl.open
- libc.src.fcntl.openat
- libc.src.fcntl.posix_fadvise
- libc.src.fcntl.posix_fadvise64
- libc.src.fcntl.posix_fallocate
-
- # grp.h entrypoints
- libc.src.grp.endgrent
- libc.src.grp.getgrent
- libc.src.grp.getgrgid
- libc.src.grp.getgrgid_r
- libc.src.grp.getgrouplist
- libc.src.grp.getgrnam
- libc.src.grp.getgrnam_r
- libc.src.grp.setgrent
-
- # net/if.h entrypoints
- libc.src.net.if_indextoname
- libc.src.net.if_nametoindex
-
- # netinet/ether.h entrypoints
- libc.src.netinet.ether.ether_ntoa
- libc.src.netinet.ether.ether_ntoa_r
-
- # netinet/in.h entrypoints
- libc.src.netinet.in6addr_any
- libc.src.netinet.in6addr_loopback
-
- # poll.h entrypoints
- libc.src.poll.poll
- libc.src.poll.ppoll
-
- # pwd.h entrypoints
- libc.src.pwd.endpwent
- libc.src.pwd.getpwent
- libc.src.pwd.getpwent_r
- libc.src.pwd.getpwnam
- libc.src.pwd.getpwnam_r
- libc.src.pwd.getpwuid
- libc.src.pwd.getpwuid_r
- libc.src.pwd.setpwent
-
- # sched.h entrypoints
- libc.src.sched.getcpu
- libc.src.sched.sched_get_priority_max
- libc.src.sched.sched_get_priority_min
- libc.src.sched.sched_getaffinity
- libc.src.sched.sched_getcpu
- libc.src.sched.sched_getparam
- libc.src.sched.sched_getscheduler
- libc.src.sched.sched_rr_get_interval
- libc.src.sched.sched_setaffinity
- libc.src.sched.sched_setparam
- libc.src.sched.sched_setscheduler
- libc.src.sched.sched_yield
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strsignal
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
- libc.src.inttypes.wcstoimax
- libc.src.inttypes.wcstoumax
-
- # libgen.h entrypoints
- libc.src.libgen.basename
- libc.src.libgen.dirname
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib.a64l
- libc.src.stdlib.abs
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.getloadavg
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.mkdtemp
- libc.src.stdlib.mkostemp
- libc.src.stdlib.mkstemp
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realpath
- libc.src.stdlib.srand
- libc.src.stdlib.strfromd
- libc.src.stdlib.strfromf
- libc.src.stdlib.strfromf128
- libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.posix_memalign
- libc.src.stdlib.realloc
-
- # stdio.h entrypoints
- libc.src.stdio.fprintf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.printf
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.renameat
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.asprintf
- libc.src.stdio.sscanf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.tmpfile
- libc.src.stdio.tmpnam
- libc.src.stdio.vsscanf
- libc.src.stdio.vfprintf
- libc.src.stdio.vprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vasprintf
-
- # sys/epoll.h entrypoints
- libc.src.sys.epoll.epoll_create
- libc.src.sys.epoll.epoll_create1
- libc.src.sys.epoll.epoll_ctl
- libc.src.sys.epoll.epoll_pwait
- libc.src.sys.epoll.epoll_wait
- # TODO: Need to check if pwait2 is available before providing.
- # https://github.com/llvm/llvm-project/issues/80060
- # libc.src.sys.epoll.epoll_pwait2
-
- # sys/eventfd.h entrypoints
- libc.src.sys.eventfd.eventfd
-
- # sys/file.h entrypoints
- libc.src.sys.file.flock
-
- # sys/ioctl.h entrypoints
- libc.src.sys.ioctl.ioctl
-
- # sys/ipc.h entrypoints
- libc.src.sys.ipc.ftok
-
- # sys/mman.h entrypoints
- libc.src.sys.mman.madvise
- libc.src.sys.mman.memfd_create
- libc.src.sys.mman.mincore
- libc.src.sys.mman.mlock
- libc.src.sys.mman.mlock2
- libc.src.sys.mman.mlockall
- libc.src.sys.mman.mmap
- libc.src.sys.mman.mremap
- libc.src.sys.mman.mprotect
- libc.src.sys.mman.msync
- libc.src.sys.mman.munlock
- libc.src.sys.mman.munlockall
- libc.src.sys.mman.munmap
- libc.src.sys.mman.pkey_alloc
- libc.src.sys.mman.pkey_free
- libc.src.sys.mman.pkey_get
- libc.src.sys.mman.pkey_mprotect
- libc.src.sys.mman.pkey_set
- libc.src.sys.mman.remap_file_pages
- libc.src.sys.mman.posix_madvise
- libc.src.sys.mman.shm_open
- libc.src.sys.mman.shm_unlink
-
- # sys/random.h entrypoints
- libc.src.sys.random.getrandom
- libc.src.sys.random.getentropy
-
- # sys/resource.h entrypoints
- libc.src.sys.resource.getpriority
- libc.src.sys.resource.getrlimit
- libc.src.sys.resource.getrusage
- libc.src.sys.resource.setpriority
- libc.src.sys.resource.setrlimit
-
- # sys/sendfile.h entrypoints
- libc.src.sys.sendfile.sendfile
-
- # sys/socket.h entrypoints
- libc.src.sys.socket.accept
- libc.src.sys.socket.accept4
- libc.src.sys.socket.bind
- libc.src.sys.socket.connect
- libc.src.sys.socket.getpeername
- libc.src.sys.socket.getsockname
- libc.src.sys.socket.getsockopt
- libc.src.sys.socket.listen
- libc.src.sys.socket.recv
- libc.src.sys.socket.recvfrom
- libc.src.sys.socket.send
- libc.src.sys.socket.sendto
- libc.src.sys.socket.setsockopt
- libc.src.sys.socket.shutdown
- libc.src.sys.socket.sockatmark
- libc.src.sys.socket.socket
- libc.src.sys.socket.socketpair
- # TODO: These functions are not compatible with 64-bit musl. They need to
- # be excluded if overlaying musl.
- libc.src.sys.socket.recvmmsg
- libc.src.sys.socket.recvmsg
- libc.src.sys.socket.sendmmsg
- libc.src.sys.socket.sendmsg
-
- # sys/stat.h entrypoints
- libc.src.sys.stat.chmod
- libc.src.sys.stat.fchmod
- libc.src.sys.stat.fchmodat
- libc.src.sys.stat.fstat
- libc.src.sys.stat.fstatat
- libc.src.sys.stat.futimens
- libc.src.sys.stat.lstat
- libc.src.sys.stat.mkdir
- libc.src.sys.stat.mkdirat
- libc.src.sys.stat.mkfifo
- libc.src.sys.stat.mkfifoat
- libc.src.sys.stat.mknod
- libc.src.sys.stat.mknodat
- libc.src.sys.stat.stat
- libc.src.sys.stat.umask
- libc.src.sys.stat.utimensat
-
- # sys/statfs.h entrypoints
- libc.src.sys.statfs.fstatfs
- libc.src.sys.statfs.statfs
-
- # sys/statvfs.h entrypoints
- libc.src.sys.statvfs.fstatvfs
- libc.src.sys.statvfs.statvfs
-
- # sys/time.h entrypoints
- libc.src.sys.time.utimes
-
- # sys/sysinfo.h entrypoints
- # Disabled due to QEMU test failures.
- # libc.src.sys.sysinfo.sysinfo
-
- # sys/utsname.h entrypoints
- libc.src.sys.utsname.uname
-
- # sys/wait.h entrypoints
- libc.src.sys.wait.wait
- libc.src.sys.wait.wait4
- libc.src.sys.wait.waitid
- libc.src.sys.wait.waitpid
-
- # sys/prctl.h entrypoints
- libc.src.sys.prctl.prctl
-
- # sys/personality.h entrypoints
- libc.src.sys.personality.personality
-
- # sys/auxv.h entrypoints
- libc.src.sys.auxv.getauxval
-
- # sys/inotify.h entrypoints
- libc.src.sys.inotify.inotify_add_watch
- libc.src.sys.inotify.inotify_init
- libc.src.sys.inotify.inotify_init1
- libc.src.sys.inotify.inotify_rm_watch
-
- # termios.h entrypoints
- libc.src.termios.cfgetispeed
- libc.src.termios.cfgetospeed
- libc.src.termios.cfsetispeed
- libc.src.termios.cfsetospeed
- libc.src.termios.tcdrain
- libc.src.termios.tcflow
- libc.src.termios.tcflush
- libc.src.termios.tcgetattr
- libc.src.termios.tcgetsid
- libc.src.termios.tcgetwinsize
- libc.src.termios.tcsendbreak
- libc.src.termios.tcsetattr
- libc.src.termios.tcsetwinsize
-
- # unistd.h entrypoints
- libc.src.unistd.alarm
- libc.src.unistd.access
- libc.src.unistd.chdir
- libc.src.unistd.chown
- libc.src.unistd.chroot
- libc.src.unistd.close
- libc.src.unistd.dup
- libc.src.unistd.dup2
- libc.src.unistd.dup3
- libc.src.unistd.execle
- libc.src.unistd.execve
- libc.src.unistd.faccessat
- libc.src.unistd.fchdir
- libc.src.unistd.fchown
- libc.src.unistd.fchownat
- libc.src.unistd.fdatasync
- libc.src.unistd.fexecve
- libc.src.unistd.fpathconf
- libc.src.unistd.fsync
- libc.src.unistd.ftruncate
- libc.src.unistd.getcwd
- libc.src.unistd.getegid
- libc.src.unistd.getentropy
- libc.src.unistd.geteuid
- libc.src.unistd.gethostname
- libc.src.unistd.getpagesize
- libc.src.unistd.getpgid
- libc.src.unistd.getpgrp
- libc.src.unistd.getpid
- libc.src.unistd.getppid
- libc.src.unistd.getsid
- libc.src.unistd.gettid
- libc.src.unistd.getgid
- libc.src.unistd.getuid
- libc.src.unistd.isatty
- libc.src.unistd.lchown
- libc.src.unistd.link
- libc.src.unistd.linkat
- libc.src.unistd.lockf
- libc.src.unistd.lseek
- libc.src.unistd.nice
- libc.src.unistd.pathconf
- libc.src.unistd.pause
- libc.src.unistd.pipe
- libc.src.unistd.pipe2
- libc.src.unistd.pread
- libc.src.unistd.pwrite
- libc.src.unistd.read
- libc.src.unistd.readlink
- libc.src.unistd.readlinkat
- libc.src.unistd.rmdir
- libc.src.unistd.setpgid
- libc.src.unistd.setsid
- libc.src.unistd.sleep
- libc.src.unistd.symlink
- libc.src.unistd.symlinkat
- libc.src.unistd.sync
- libc.src.unistd.syncfs
- libc.src.unistd.tcgetpgrp
- libc.src.unistd.tcsetpgrp
- libc.src.unistd.truncate
- libc.src.unistd.unlink
- libc.src.unistd.unlinkat
- libc.src.unistd.usleep
- libc.src.unistd.write
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcslen
- libc.src.wchar.wcsnlen
- libc.src.wchar.wctob
- libc.src.wchar.wmemmove
- libc.src.wchar.wmemset
- libc.src.wchar.wcschr
- libc.src.wchar.wcsncmp
- libc.src.wchar.wcsxfrm
- libc.src.wchar.wcscmp
- libc.src.wchar.wcscoll
- libc.src.wchar.wcspbrk
- libc.src.wchar.wcsrchr
- libc.src.wchar.wcsspn
- libc.src.wchar.wcscspn
- libc.src.wchar.wcsdup
- libc.src.wchar.wmemcmp
- libc.src.wchar.wmempcpy
- libc.src.wchar.wmemcpy
- libc.src.wchar.wcsncpy
- libc.src.wchar.wcscat
- libc.src.wchar.wcsstr
- libc.src.wchar.wcsncat
- libc.src.wchar.wcslcat
- libc.src.wchar.wcscpy
- libc.src.wchar.wcslcpy
- libc.src.wchar.wmemchr
- libc.src.wchar.wcpcpy
- libc.src.wchar.wcpncpy
- libc.src.wchar.wcstod
- libc.src.wchar.wcstof
- libc.src.wchar.wcstok
- libc.src.wchar.wcstol
- libc.src.wchar.wcstold
- libc.src.wchar.wcstoll
- libc.src.wchar.wcstoul
- libc.src.wchar.wcstoull
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
- libc.src.wctype.towlower
- libc.src.wctype.towupper
-
- # sys/uio.h entrypoints
- libc.src.sys.uio.writev
- libc.src.sys.uio.readv
-
- # sys/time.h entrypoints
- libc.src.sys.time.setitimer
- libc.src.sys.time.getitimer
- libc.src.sys.time.gettimeofday
-)
-
-if(LLVM_LIBC_INCLUDE_SCUDO)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # malloc.h external entrypoints
- libc.src.stdlib.mallopt
- )
-endif()
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignf80
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsf80
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.acospif16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.asinpif16
- libc.src.math.atanf16
- libc.src.math.atan2f16
- libc.src.math.atanhf16
- libc.src.math.atanpif16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.erff16
- libc.src.math.erfcf16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.rsqrtf
- libc.src.math.rsqrtf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.atan2l
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- libc.src.stdfix.idivr
- libc.src.stdfix.idivlr
- libc.src.stdfix.idivk
- libc.src.stdfix.idivlk
- libc.src.stdfix.idivur
- libc.src.stdfix.idivulr
- libc.src.stdfix.idivuk
- libc.src.stdfix.idivulk
- libc.src.stdfix.rdivi
- libc.src.stdfix.lrdivi
- libc.src.stdfix.kdivi
- libc.src.stdfix.lkdivi
- libc.src.stdfix.urdivi
- libc.src.stdfix.ulrdivi
- libc.src.stdfix.ukdivi
- libc.src.stdfix.ulkdivi
- libc.src.stdfix.divir
- libc.src.stdfix.divilr
- libc.src.stdfix.divik
- libc.src.stdfix.divilk
- libc.src.stdfix.diviur
- libc.src.stdfix.diviulr
- libc.src.stdfix.diviuk
- libc.src.stdfix.diviulk
- )
-endif()
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.program_invocation_name
- libc.src.errno.program_invocation_short_name
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # dirent.h entrypoints
- libc.src.dirent.alphasort
- libc.src.dirent.closedir
- libc.src.dirent.dirfd
- libc.src.dirent.opendir
- libc.src.dirent.readdir
- libc.src.dirent.scandir
- libc.src.dirent.fdopendir
-
- # pthread.h entrypoints
- libc.src.pthread.__pthread_cleanup_pop
- libc.src.pthread.__pthread_cleanup_push
- libc.src.pthread.pthread_atfork
- libc.src.pthread.pthread_attr_destroy
- libc.src.pthread.pthread_attr_getdetachstate
- libc.src.pthread.pthread_attr_getguardsize
- libc.src.pthread.pthread_attr_getinheritsched
- libc.src.pthread.pthread_attr_getschedparam
- libc.src.pthread.pthread_attr_getschedpolicy
- libc.src.pthread.pthread_attr_getscope
- libc.src.pthread.pthread_attr_getstack
- libc.src.pthread.pthread_attr_getstacksize
- libc.src.pthread.pthread_attr_init
- libc.src.pthread.pthread_attr_setdetachstate
- libc.src.pthread.pthread_attr_setguardsize
- libc.src.pthread.pthread_attr_setinheritsched
- libc.src.pthread.pthread_attr_setschedparam
- libc.src.pthread.pthread_attr_setschedpolicy
- libc.src.pthread.pthread_attr_setscope
- libc.src.pthread.pthread_attr_setstack
- libc.src.pthread.pthread_attr_setstacksize
- libc.src.pthread.pthread_condattr_destroy
- libc.src.pthread.pthread_condattr_getclock
- libc.src.pthread.pthread_condattr_getpshared
- libc.src.pthread.pthread_condattr_init
- libc.src.pthread.pthread_condattr_setclock
- libc.src.pthread.pthread_condattr_setpshared
- libc.src.pthread.pthread_cond_broadcast
- libc.src.pthread.pthread_cond_clockwait
- libc.src.pthread.pthread_cond_destroy
- libc.src.pthread.pthread_cond_init
- libc.src.pthread.pthread_cond_signal
- libc.src.pthread.pthread_cond_timedwait
- libc.src.pthread.pthread_cond_wait
- libc.src.pthread.pthread_create
- libc.src.pthread.pthread_detach
- libc.src.pthread.pthread_equal
- libc.src.pthread.pthread_exit
- libc.src.pthread.pthread_getattr_np
- libc.src.pthread.pthread_getname_np
- libc.src.pthread.pthread_getschedparam
- libc.src.pthread.pthread_getspecific
- libc.src.pthread.pthread_getstack_np
- libc.src.pthread.pthread_getthreadid_np
- libc.src.pthread.pthread_getunique_np
- libc.src.pthread.pthread_join
- libc.src.pthread.pthread_key_create
- libc.src.pthread.pthread_key_delete
- libc.src.pthread.pthread_barrier_init
- libc.src.pthread.pthread_barrier_wait
- libc.src.pthread.pthread_barrier_destroy
- libc.src.pthread.pthread_mutex_destroy
- libc.src.pthread.pthread_mutex_init
- libc.src.pthread.pthread_mutex_lock
- libc.src.pthread.pthread_mutex_trylock
- libc.src.pthread.pthread_mutex_unlock
- libc.src.pthread.pthread_mutexattr_destroy
- libc.src.pthread.pthread_mutexattr_getpshared
- libc.src.pthread.pthread_mutexattr_getrobust
- libc.src.pthread.pthread_mutexattr_gettype
- libc.src.pthread.pthread_mutexattr_init
- libc.src.pthread.pthread_mutexattr_setpshared
- libc.src.pthread.pthread_mutexattr_setrobust
- libc.src.pthread.pthread_mutexattr_settype
- libc.src.pthread.pthread_once
- libc.src.pthread.pthread_rwlock_clockrdlock
- libc.src.pthread.pthread_rwlock_clockwrlock
- libc.src.pthread.pthread_rwlock_destroy
- libc.src.pthread.pthread_rwlock_init
- libc.src.pthread.pthread_rwlock_rdlock
- libc.src.pthread.pthread_rwlock_timedrdlock
- libc.src.pthread.pthread_rwlock_timedwrlock
- libc.src.pthread.pthread_rwlock_tryrdlock
- libc.src.pthread.pthread_rwlock_trywrlock
- libc.src.pthread.pthread_rwlock_unlock
- libc.src.pthread.pthread_rwlock_wrlock
- libc.src.pthread.pthread_rwlockattr_destroy
- libc.src.pthread.pthread_rwlockattr_getkind_np
- libc.src.pthread.pthread_rwlockattr_getpshared
- libc.src.pthread.pthread_rwlockattr_init
- libc.src.pthread.pthread_rwlockattr_setkind_np
- libc.src.pthread.pthread_rwlockattr_setpshared
- libc.src.pthread.pthread_spin_destroy
- libc.src.pthread.pthread_spin_init
- libc.src.pthread.pthread_spin_lock
- libc.src.pthread.pthread_spin_trylock
- libc.src.pthread.pthread_spin_unlock
- libc.src.pthread.pthread_self
- libc.src.pthread.pthread_setname_np
- libc.src.pthread.pthread_setschedparam
- libc.src.pthread.pthread_setspecific
-
- # sched.h entrypoints
- libc.src.sched.clone
- libc.src.sched.__sched_andcpuset
- libc.src.sched.__sched_clrcpuset
- libc.src.sched.__sched_cpualloc
- libc.src.sched.__sched_cpuequal
- libc.src.sched.__sched_cpufree
- libc.src.sched.__sched_getcpucount
- libc.src.sched.__sched_getcpuisset
- libc.src.sched.__sched_orcpuset
- libc.src.sched.__sched_setcpuset
- libc.src.sched.__sched_setcpuzero
- libc.src.sched.__sched_xorcpuset
-
- # semaphore.h entrypoints
- libc.src.semaphore.sem_clockwait
- libc.src.semaphore.sem_close
- libc.src.semaphore.sem_destroy
- libc.src.semaphore.sem_getvalue
- libc.src.semaphore.sem_init
- libc.src.semaphore.sem_open
- libc.src.semaphore.sem_post
- libc.src.semaphore.sem_timedwait
- libc.src.semaphore.sem_trywait
- libc.src.semaphore.sem_unlink
- libc.src.semaphore.sem_wait
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.clearerr_unlocked
- libc.src.stdio.fclose
- libc.src.stdio.fdopen
- libc.src.stdio.feof
- libc.src.stdio.feof_unlocked
- libc.src.stdio.ferror
- libc.src.stdio.ferror_unlocked
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgetc_unlocked
- libc.src.stdio.fgetpos
- libc.src.stdio.fgets
- libc.src.stdio.fileno
- libc.src.stdio.flockfile
- libc.src.stdio.fmemopen
- libc.src.stdio.fopen
- libc.src.stdio.freopen
- libc.src.stdio.fopencookie
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fread_unlocked
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.fsetpos
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.funlockfile
- libc.src.stdio.fwrite
- libc.src.stdio.fwrite_unlocked
- libc.src.stdio.getc
- libc.src.stdio.getc_unlocked
- libc.src.stdio.getchar
- libc.src.stdio.getchar_unlocked
- libc.src.stdio.pclose
- libc.src.stdio.perror
- libc.src.stdio.popen
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.rewind
- libc.src.stdio.setbuf
- libc.src.stdio.setvbuf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # stdlib.h entrypoints
- libc.src.stdlib.__cxa_thread_atexit_impl
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.atexit
- libc.src.stdlib.clearenv
- libc.src.stdlib.exit
- libc.src.stdlib.getenv
- libc.src.stdlib.putenv
- libc.src.stdlib.secure_getenv
- libc.src.stdlib.setenv
- libc.src.stdlib.system
- libc.src.stdlib.unsetenv
- libc.src.stdlib.mbstowcs
- libc.src.stdlib.mbtowc
- libc.src.stdlib.mblen
- libc.src.stdlib.quick_exit
- libc.src.stdlib.wcstombs
- libc.src.stdlib.wctomb
-
- # signal.h entrypoints
- libc.src.signal.kill
- libc.src.signal.pthread_kill
- libc.src.signal.pthread_sigmask
- libc.src.signal.raise
- libc.src.signal.sigaction
- libc.src.signal.sigaddset
- libc.src.signal.sigaltstack
- libc.src.signal.sigdelset
- libc.src.signal.sigemptyset
- libc.src.signal.sigfillset
- libc.src.signal.sigismember
- libc.src.signal.signal
- libc.src.signal.sigprocmask
-
- # spawn.h entrypoints
- libc.src.spawn.posix_spawn
- libc.src.spawn.posix_spawn_file_actions_addclose
- libc.src.spawn.posix_spawn_file_actions_adddup2
- libc.src.spawn.posix_spawn_file_actions_addopen
- libc.src.spawn.posix_spawn_file_actions_destroy
- libc.src.spawn.posix_spawn_file_actions_init
-
- # search.h entrypoints
- libc.src.search.hcreate
- libc.src.search.hcreate_r
- libc.src.search.hdestroy
- libc.src.search.hdestroy_r
- libc.src.search.hsearch
- libc.src.search.hsearch_r
- libc.src.search.insque
- libc.src.search.lfind
- libc.src.search.lsearch
- libc.src.search.remque
- libc.src.search.tdelete
- libc.src.search.tdestroy
- libc.src.search.tfind
- libc.src.search.tsearch
- libc.src.search.twalk
- libc.src.search.twalk_r
-
- # threads.h entrypoints
- libc.src.threads.call_once
- libc.src.threads.cnd_broadcast
- libc.src.threads.cnd_destroy
- libc.src.threads.cnd_init
- libc.src.threads.cnd_signal
- libc.src.threads.cnd_timedwait
- libc.src.threads.cnd_wait
- libc.src.threads.mtx_destroy
- libc.src.threads.mtx_init
- libc.src.threads.mtx_lock
- libc.src.threads.mtx_trylock
- libc.src.threads.mtx_unlock
- libc.src.threads.thrd_create
- libc.src.threads.thrd_current
- libc.src.threads.thrd_detach
- libc.src.threads.thrd_equal
- libc.src.threads.thrd_exit
- libc.src.threads.thrd_join
- libc.src.threads.tss_create
- libc.src.threads.tss_delete
- libc.src.threads.tss_get
- libc.src.threads.tss_set
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.clock
- libc.src.time.clock_getcpuclockid
- libc.src.time.clock_getres
- libc.src.time.clock_gettime
- libc.src.time.clock_settime
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.nanosleep
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.time
- libc.src.time.timespec_get
- libc.src.time.timer_create
- libc.src.time.timer_delete
- libc.src.time.timer_getoverrun
- libc.src.time.timer_gettime
- libc.src.time.timer_settime
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # unistd.h entrypoints
- libc.src.unistd.__llvm_libc_syscall
- libc.src.unistd._exit
- libc.src.unistd.confstr
- libc.src.unistd.environ
- libc.src.unistd.execl
- libc.src.unistd.execlp
- libc.src.unistd.execv
- libc.src.unistd.execvp
- libc.src.unistd.execvpe
- libc.src.unistd.fork
- libc.src.unistd.getopt
- libc.src.unistd.optarg
- libc.src.unistd.opterr
- libc.src.unistd.optind
- libc.src.unistd.optopt
- libc.src.unistd.swab
- libc.src.unistd.sysconf
-
- # sys/select.h entrypoints
- libc.src.sys.select.pselect
- libc.src.sys.select.select
-
- # wchar.h entrypoints
- libc.src.wchar.mbrlen
- libc.src.wchar.mbsinit
- libc.src.wchar.mbrtowc
- libc.src.wchar.mbsrtowcs
- libc.src.wchar.mbsnrtowcs
- libc.src.wchar.wcrtomb
- libc.src.wchar.wcsrtombs
- libc.src.wchar.wcsnrtombs
- libc.src.wchar.fgetwc
- libc.src.wchar.fgetws
- libc.src.wchar.fputwc
- libc.src.wchar.fputws
- libc.src.wchar.fwide
- libc.src.wchar.getwc
- libc.src.wchar.getwchar
- libc.src.wchar.putwc
- libc.src.wchar.putwchar
- libc.src.wchar.ungetwc
-
- # nl_types.h entrypoints
- libc.src.nl_types.catopen
- libc.src.nl_types.catclose
- libc.src.nl_types.catgets
-
- # link.h entrypoints
- libc.src.link._r_debug
- libc.src.link.dl_iterate_phdr
- )
-endif()
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # fnmatch.h entrypoints
- libc.src.fnmatch.fnmatch
-
- # glob.h entrypoints
- libc.src.glob.glob
- libc.src.glob.globfree
-
- # grp.h entrypoints
- libc.src.grp.initgroups
- libc.src.grp.setgroups
-
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # net/if.h entrypoints
- libc.src.net.if_freenameindex
- libc.src.net.if_nameindex
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
-
- # sys/ptrace.h entrypoints
- libc.src.sys.ptrace.ptrace
-
- # unistd.h entrypoints
- libc.src.unistd.setegid
- libc.src.unistd.seteuid
- libc.src.unistd.setgid
- libc.src.unistd.setregid
- libc.src.unistd.setresgid
- libc.src.unistd.setresuid
- libc.src.unistd.setreuid
- libc.src.unistd.setuid
-
- # wchar.h entrypoints
- libc.src.wchar.swprintf
- )
- endif()
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # arpa/inet.h entrypoints
+ libc.src.arpa.inet.htonl
+ libc.src.arpa.inet.htons
+ libc.src.arpa.inet.inet_addr
+ libc.src.arpa.inet.inet_aton
+ libc.src.arpa.inet.inet_ntoa
+ libc.src.arpa.inet.inet_ntop
+ libc.src.arpa.inet.inet_pton
+ libc.src.arpa.inet.ntohl
+ libc.src.arpa.inet.ntohs
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # dlfcn.h entrypoints
+ libc.src.dlfcn.dladdr
+ libc.src.dlfcn.dlclose
+ libc.src.dlfcn.dlerror
+ libc.src.dlfcn.dlopen
+ libc.src.dlfcn.dlsym
+
+ # err.h entrypoints
+ libc.src.err.err
+ libc.src.err.verr
+ libc.src.err.errx
+ libc.src.err.verrx
+ libc.src.err.warn
+ libc.src.err.vwarn
+ libc.src.err.warnx
+ libc.src.err.vwarnx
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # fcntl.h entrypoints
+ libc.src.fcntl.creat
+ libc.src.fcntl.fallocate
+ libc.src.fcntl.fcntl
+ libc.src.fcntl.open
+ libc.src.fcntl.openat
+ libc.src.fcntl.posix_fadvise
+ libc.src.fcntl.posix_fadvise64
+ libc.src.fcntl.posix_fallocate
+
+ # grp.h entrypoints
+ libc.src.grp.endgrent
+ libc.src.grp.getgrent
+ libc.src.grp.getgrgid
+ libc.src.grp.getgrgid_r
+ libc.src.grp.getgrouplist
+ libc.src.grp.getgrnam
+ libc.src.grp.getgrnam_r
+ libc.src.grp.setgrent
+
+ # net/if.h entrypoints
+ libc.src.net.if_indextoname
+ libc.src.net.if_nametoindex
+
+ # netinet/ether.h entrypoints
+ libc.src.netinet.ether.ether_ntoa
+ libc.src.netinet.ether.ether_ntoa_r
+
+ # netinet/in.h entrypoints
+ libc.src.netinet.in6addr_any
+ libc.src.netinet.in6addr_loopback
+
+ # poll.h entrypoints
+ libc.src.poll.poll
+ libc.src.poll.ppoll
+
+ # pwd.h entrypoints
+ libc.src.pwd.endpwent
+ libc.src.pwd.getpwent
+ libc.src.pwd.getpwent_r
+ libc.src.pwd.getpwnam
+ libc.src.pwd.getpwnam_r
+ libc.src.pwd.getpwuid
+ libc.src.pwd.getpwuid_r
+ libc.src.pwd.setpwent
+
+ # sched.h entrypoints
+ libc.src.sched.getcpu
+ libc.src.sched.sched_get_priority_max
+ libc.src.sched.sched_get_priority_min
+ libc.src.sched.sched_getaffinity
+ libc.src.sched.sched_getcpu
+ libc.src.sched.sched_getparam
+ libc.src.sched.sched_getscheduler
+ libc.src.sched.sched_rr_get_interval
+ libc.src.sched.sched_setaffinity
+ libc.src.sched.sched_setparam
+ libc.src.sched.sched_setscheduler
+ libc.src.sched.sched_yield
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strsignal
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+ libc.src.inttypes.wcstoimax
+ libc.src.inttypes.wcstoumax
+
+ # libgen.h entrypoints
+ libc.src.libgen.basename
+ libc.src.libgen.dirname
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abs
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.getloadavg
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.mkdtemp
+ libc.src.stdlib.mkostemp
+ libc.src.stdlib.mkstemp
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realpath
+ libc.src.stdlib.srand
+ libc.src.stdlib.strfromd
+ libc.src.stdlib.strfromf
+ libc.src.stdlib.strfromf128
+ libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.posix_memalign
+ libc.src.stdlib.realloc
+
+ # stdio.h entrypoints
+ libc.src.stdio.fprintf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.printf
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.renameat
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.tmpfile
+ libc.src.stdio.tmpnam
+ libc.src.stdio.vsscanf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vasprintf
+
+ # sys/epoll.h entrypoints
+ libc.src.sys.epoll.epoll_create
+ libc.src.sys.epoll.epoll_create1
+ libc.src.sys.epoll.epoll_ctl
+ libc.src.sys.epoll.epoll_pwait
+ libc.src.sys.epoll.epoll_wait
+ # TODO: Need to check if pwait2 is available before providing.
+ # https://github.com/llvm/llvm-project/issues/80060
+ # libc.src.sys.epoll.epoll_pwait2
+
+ # sys/eventfd.h entrypoints
+ libc.src.sys.eventfd.eventfd
+
+ # sys/file.h entrypoints
+ libc.src.sys.file.flock
+
+ # sys/ioctl.h entrypoints
+ libc.src.sys.ioctl.ioctl
+
+ # sys/ipc.h entrypoints
+ libc.src.sys.ipc.ftok
+
+ # sys/mman.h entrypoints
+ libc.src.sys.mman.madvise
+ libc.src.sys.mman.memfd_create
+ libc.src.sys.mman.mincore
+ libc.src.sys.mman.mlock
+ libc.src.sys.mman.mlock2
+ libc.src.sys.mman.mlockall
+ libc.src.sys.mman.mmap
+ libc.src.sys.mman.mremap
+ libc.src.sys.mman.mprotect
+ libc.src.sys.mman.msync
+ libc.src.sys.mman.munlock
+ libc.src.sys.mman.munlockall
+ libc.src.sys.mman.munmap
+ libc.src.sys.mman.pkey_alloc
+ libc.src.sys.mman.pkey_free
+ libc.src.sys.mman.pkey_get
+ libc.src.sys.mman.pkey_mprotect
+ libc.src.sys.mman.pkey_set
+ libc.src.sys.mman.remap_file_pages
+ libc.src.sys.mman.posix_madvise
+ libc.src.sys.mman.shm_open
+ libc.src.sys.mman.shm_unlink
+
+ # sys/random.h entrypoints
+ libc.src.sys.random.getrandom
+ libc.src.sys.random.getentropy
+
+ # sys/resource.h entrypoints
+ libc.src.sys.resource.getpriority
+ libc.src.sys.resource.getrlimit
+ libc.src.sys.resource.getrusage
+ libc.src.sys.resource.setpriority
+ libc.src.sys.resource.setrlimit
+
+ # sys/sendfile.h entrypoints
+ libc.src.sys.sendfile.sendfile
+
+ # sys/socket.h entrypoints
+ libc.src.sys.socket.accept
+ libc.src.sys.socket.accept4
+ libc.src.sys.socket.bind
+ libc.src.sys.socket.connect
+ libc.src.sys.socket.getpeername
+ libc.src.sys.socket.getsockname
+ libc.src.sys.socket.getsockopt
+ libc.src.sys.socket.listen
+ libc.src.sys.socket.recv
+ libc.src.sys.socket.recvfrom
+ libc.src.sys.socket.send
+ libc.src.sys.socket.sendto
+ libc.src.sys.socket.setsockopt
+ libc.src.sys.socket.shutdown
+ libc.src.sys.socket.sockatmark
+ libc.src.sys.socket.socket
+ libc.src.sys.socket.socketpair
+ # TODO: These functions are not compatible with 64-bit musl. They need to
+ # be excluded if overlaying musl.
+ libc.src.sys.socket.recvmmsg
+ libc.src.sys.socket.recvmsg
+ libc.src.sys.socket.sendmmsg
+ libc.src.sys.socket.sendmsg
+
+ # sys/stat.h entrypoints
+ libc.src.sys.stat.chmod
+ libc.src.sys.stat.fchmod
+ libc.src.sys.stat.fchmodat
+ libc.src.sys.stat.fstat
+ libc.src.sys.stat.fstatat
+ libc.src.sys.stat.futimens
+ libc.src.sys.stat.lstat
+ libc.src.sys.stat.mkdir
+ libc.src.sys.stat.mkdirat
+ libc.src.sys.stat.mkfifo
+ libc.src.sys.stat.mkfifoat
+ libc.src.sys.stat.mknod
+ libc.src.sys.stat.mknodat
+ libc.src.sys.stat.stat
+ libc.src.sys.stat.umask
+ libc.src.sys.stat.utimensat
+
+ # sys/statfs.h entrypoints
+ libc.src.sys.statfs.fstatfs
+ libc.src.sys.statfs.statfs
+
+ # sys/statvfs.h entrypoints
+ libc.src.sys.statvfs.fstatvfs
+ libc.src.sys.statvfs.statvfs
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.utimes
+
+ # sys/sysinfo.h entrypoints
+ # Disabled due to QEMU test failures.
+ # libc.src.sys.sysinfo.sysinfo
+
+ # sys/utsname.h entrypoints
+ libc.src.sys.utsname.uname
+
+ # sys/wait.h entrypoints
+ libc.src.sys.wait.wait
+ libc.src.sys.wait.wait4
+ libc.src.sys.wait.waitid
+ libc.src.sys.wait.waitpid
+
+ # sys/prctl.h entrypoints
+ libc.src.sys.prctl.prctl
+
+ # sys/personality.h entrypoints
+ libc.src.sys.personality.personality
+
+ # sys/auxv.h entrypoints
+ libc.src.sys.auxv.getauxval
+
+ # sys/inotify.h entrypoints
+ libc.src.sys.inotify.inotify_add_watch
+ libc.src.sys.inotify.inotify_init
+ libc.src.sys.inotify.inotify_init1
+ libc.src.sys.inotify.inotify_rm_watch
+
+ # termios.h entrypoints
+ libc.src.termios.cfgetispeed
+ libc.src.termios.cfgetospeed
+ libc.src.termios.cfsetispeed
+ libc.src.termios.cfsetospeed
+ libc.src.termios.tcdrain
+ libc.src.termios.tcflow
+ libc.src.termios.tcflush
+ libc.src.termios.tcgetattr
+ libc.src.termios.tcgetsid
+ libc.src.termios.tcgetwinsize
+ libc.src.termios.tcsendbreak
+ libc.src.termios.tcsetattr
+ libc.src.termios.tcsetwinsize
+
+ # unistd.h entrypoints
+ libc.src.unistd.alarm
+ libc.src.unistd.access
+ libc.src.unistd.chdir
+ libc.src.unistd.chown
+ libc.src.unistd.chroot
+ libc.src.unistd.close
+ libc.src.unistd.dup
+ libc.src.unistd.dup2
+ libc.src.unistd.dup3
+ libc.src.unistd.execle
+ libc.src.unistd.execve
+ libc.src.unistd.faccessat
+ libc.src.unistd.fchdir
+ libc.src.unistd.fchown
+ libc.src.unistd.fchownat
+ libc.src.unistd.fdatasync
+ libc.src.unistd.fexecve
+ libc.src.unistd.fpathconf
+ libc.src.unistd.fsync
+ libc.src.unistd.ftruncate
+ libc.src.unistd.getcwd
+ libc.src.unistd.getegid
+ libc.src.unistd.getentropy
+ libc.src.unistd.geteuid
+ libc.src.unistd.gethostname
+ libc.src.unistd.getpagesize
+ libc.src.unistd.getpgid
+ libc.src.unistd.getpgrp
+ libc.src.unistd.getpid
+ libc.src.unistd.getppid
+ libc.src.unistd.getsid
+ libc.src.unistd.gettid
+ libc.src.unistd.getgid
+ libc.src.unistd.getuid
+ libc.src.unistd.isatty
+ libc.src.unistd.lchown
+ libc.src.unistd.link
+ libc.src.unistd.linkat
+ libc.src.unistd.lockf
+ libc.src.unistd.lseek
+ libc.src.unistd.nice
+ libc.src.unistd.pathconf
+ libc.src.unistd.pause
+ libc.src.unistd.pipe
+ libc.src.unistd.pipe2
+ libc.src.unistd.pread
+ libc.src.unistd.pwrite
+ libc.src.unistd.read
+ libc.src.unistd.readlink
+ libc.src.unistd.readlinkat
+ libc.src.unistd.rmdir
+ libc.src.unistd.setpgid
+ libc.src.unistd.setsid
+ libc.src.unistd.sleep
+ libc.src.unistd.symlink
+ libc.src.unistd.symlinkat
+ libc.src.unistd.sync
+ libc.src.unistd.syncfs
+ libc.src.unistd.tcgetpgrp
+ libc.src.unistd.tcsetpgrp
+ libc.src.unistd.truncate
+ libc.src.unistd.unlink
+ libc.src.unistd.unlinkat
+ libc.src.unistd.usleep
+ libc.src.unistd.write
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcslen
+ libc.src.wchar.wcsnlen
+ libc.src.wchar.wctob
+ libc.src.wchar.wmemmove
+ libc.src.wchar.wmemset
+ libc.src.wchar.wcschr
+ libc.src.wchar.wcsncmp
+ libc.src.wchar.wcsxfrm
+ libc.src.wchar.wcscmp
+ libc.src.wchar.wcscoll
+ libc.src.wchar.wcspbrk
+ libc.src.wchar.wcsrchr
+ libc.src.wchar.wcsspn
+ libc.src.wchar.wcscspn
+ libc.src.wchar.wcsdup
+ libc.src.wchar.wmemcmp
+ libc.src.wchar.wmempcpy
+ libc.src.wchar.wmemcpy
+ libc.src.wchar.wcsncpy
+ libc.src.wchar.wcscat
+ libc.src.wchar.wcsstr
+ libc.src.wchar.wcsncat
+ libc.src.wchar.wcslcat
+ libc.src.wchar.wcscpy
+ libc.src.wchar.wcslcpy
+ libc.src.wchar.wmemchr
+ libc.src.wchar.wcpcpy
+ libc.src.wchar.wcpncpy
+ libc.src.wchar.wcstod
+ libc.src.wchar.wcstof
+ libc.src.wchar.wcstok
+ libc.src.wchar.wcstol
+ libc.src.wchar.wcstold
+ libc.src.wchar.wcstoll
+ libc.src.wchar.wcstoul
+ libc.src.wchar.wcstoull
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+ libc.src.wctype.towlower
+ libc.src.wctype.towupper
+
+ # sys/uio.h entrypoints
+ libc.src.sys.uio.writev
+ libc.src.sys.uio.readv
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.setitimer
+ libc.src.sys.time.getitimer
+ libc.src.sys.time.gettimeofday
+)
+
+if(LLVM_LIBC_INCLUDE_SCUDO)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # malloc.h external entrypoints
+ libc.src.stdlib.mallopt
+ )
+endif()
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.acospif16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.asinpif16
+ libc.src.math.atanf16
+ libc.src.math.atan2f16
+ libc.src.math.atanhf16
+ libc.src.math.atanpif16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.erff16
+ libc.src.math.erfcf16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.rsqrtf
+ libc.src.math.rsqrtf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.atan2l
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ libc.src.stdfix.idivr
+ libc.src.stdfix.idivlr
+ libc.src.stdfix.idivk
+ libc.src.stdfix.idivlk
+ libc.src.stdfix.idivur
+ libc.src.stdfix.idivulr
+ libc.src.stdfix.idivuk
+ libc.src.stdfix.idivulk
+ libc.src.stdfix.rdivi
+ libc.src.stdfix.lrdivi
+ libc.src.stdfix.kdivi
+ libc.src.stdfix.lkdivi
+ libc.src.stdfix.urdivi
+ libc.src.stdfix.ulrdivi
+ libc.src.stdfix.ukdivi
+ libc.src.stdfix.ulkdivi
+ libc.src.stdfix.divir
+ libc.src.stdfix.divilr
+ libc.src.stdfix.divik
+ libc.src.stdfix.divilk
+ libc.src.stdfix.diviur
+ libc.src.stdfix.diviulr
+ libc.src.stdfix.diviuk
+ libc.src.stdfix.diviulk
+ )
+endif()
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.program_invocation_name
+ libc.src.errno.program_invocation_short_name
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # dirent.h entrypoints
+ libc.src.dirent.alphasort
+ libc.src.dirent.closedir
+ libc.src.dirent.dirfd
+ libc.src.dirent.opendir
+ libc.src.dirent.readdir
+ libc.src.dirent.scandir
+ libc.src.dirent.fdopendir
+
+ # pthread.h entrypoints
+ libc.src.pthread.__pthread_cleanup_pop
+ libc.src.pthread.__pthread_cleanup_push
+ libc.src.pthread.pthread_atfork
+ libc.src.pthread.pthread_attr_destroy
+ libc.src.pthread.pthread_attr_getdetachstate
+ libc.src.pthread.pthread_attr_getguardsize
+ libc.src.pthread.pthread_attr_getinheritsched
+ libc.src.pthread.pthread_attr_getschedparam
+ libc.src.pthread.pthread_attr_getschedpolicy
+ libc.src.pthread.pthread_attr_getscope
+ libc.src.pthread.pthread_attr_getstack
+ libc.src.pthread.pthread_attr_getstacksize
+ libc.src.pthread.pthread_attr_init
+ libc.src.pthread.pthread_attr_setdetachstate
+ libc.src.pthread.pthread_attr_setguardsize
+ libc.src.pthread.pthread_attr_setinheritsched
+ libc.src.pthread.pthread_attr_setschedparam
+ libc.src.pthread.pthread_attr_setschedpolicy
+ libc.src.pthread.pthread_attr_setscope
+ libc.src.pthread.pthread_attr_setstack
+ libc.src.pthread.pthread_attr_setstacksize
+ libc.src.pthread.pthread_condattr_destroy
+ libc.src.pthread.pthread_condattr_getclock
+ libc.src.pthread.pthread_condattr_getpshared
+ libc.src.pthread.pthread_condattr_init
+ libc.src.pthread.pthread_condattr_setclock
+ libc.src.pthread.pthread_condattr_setpshared
+ libc.src.pthread.pthread_cond_broadcast
+ libc.src.pthread.pthread_cond_clockwait
+ libc.src.pthread.pthread_cond_destroy
+ libc.src.pthread.pthread_cond_init
+ libc.src.pthread.pthread_cond_signal
+ libc.src.pthread.pthread_cond_timedwait
+ libc.src.pthread.pthread_cond_wait
+ libc.src.pthread.pthread_create
+ libc.src.pthread.pthread_detach
+ libc.src.pthread.pthread_equal
+ libc.src.pthread.pthread_exit
+ libc.src.pthread.pthread_getattr_np
+ libc.src.pthread.pthread_getname_np
+ libc.src.pthread.pthread_getschedparam
+ libc.src.pthread.pthread_getspecific
+ libc.src.pthread.pthread_getstack_np
+ libc.src.pthread.pthread_getthreadid_np
+ libc.src.pthread.pthread_getunique_np
+ libc.src.pthread.pthread_join
+ libc.src.pthread.pthread_key_create
+ libc.src.pthread.pthread_key_delete
+ libc.src.pthread.pthread_barrier_init
+ libc.src.pthread.pthread_barrier_wait
+ libc.src.pthread.pthread_barrier_destroy
+ libc.src.pthread.pthread_mutex_destroy
+ libc.src.pthread.pthread_mutex_init
+ libc.src.pthread.pthread_mutex_lock
+ libc.src.pthread.pthread_mutex_trylock
+ libc.src.pthread.pthread_mutex_unlock
+ libc.src.pthread.pthread_mutexattr_destroy
+ libc.src.pthread.pthread_mutexattr_getpshared
+ libc.src.pthread.pthread_mutexattr_getrobust
+ libc.src.pthread.pthread_mutexattr_gettype
+ libc.src.pthread.pthread_mutexattr_init
+ libc.src.pthread.pthread_mutexattr_setpshared
+ libc.src.pthread.pthread_mutexattr_setrobust
+ libc.src.pthread.pthread_mutexattr_settype
+ libc.src.pthread.pthread_once
+ libc.src.pthread.pthread_rwlock_clockrdlock
+ libc.src.pthread.pthread_rwlock_clockwrlock
+ libc.src.pthread.pthread_rwlock_destroy
+ libc.src.pthread.pthread_rwlock_init
+ libc.src.pthread.pthread_rwlock_rdlock
+ libc.src.pthread.pthread_rwlock_timedrdlock
+ libc.src.pthread.pthread_rwlock_timedwrlock
+ libc.src.pthread.pthread_rwlock_tryrdlock
+ libc.src.pthread.pthread_rwlock_trywrlock
+ libc.src.pthread.pthread_rwlock_unlock
+ libc.src.pthread.pthread_rwlock_wrlock
+ libc.src.pthread.pthread_rwlockattr_destroy
+ libc.src.pthread.pthread_rwlockattr_getkind_np
+ libc.src.pthread.pthread_rwlockattr_getpshared
+ libc.src.pthread.pthread_rwlockattr_init
+ libc.src.pthread.pthread_rwlockattr_setkind_np
+ libc.src.pthread.pthread_rwlockattr_setpshared
+ libc.src.pthread.pthread_spin_destroy
+ libc.src.pthread.pthread_spin_init
+ libc.src.pthread.pthread_spin_lock
+ libc.src.pthread.pthread_spin_trylock
+ libc.src.pthread.pthread_spin_unlock
+ libc.src.pthread.pthread_self
+ libc.src.pthread.pthread_setname_np
+ libc.src.pthread.pthread_setschedparam
+ libc.src.pthread.pthread_setspecific
+
+ # sched.h entrypoints
+ libc.src.sched.clone
+ libc.src.sched.__sched_andcpuset
+ libc.src.sched.__sched_clrcpuset
+ libc.src.sched.__sched_cpualloc
+ libc.src.sched.__sched_cpuequal
+ libc.src.sched.__sched_cpufree
+ libc.src.sched.__sched_getcpucount
+ libc.src.sched.__sched_getcpuisset
+ libc.src.sched.__sched_orcpuset
+ libc.src.sched.__sched_setcpuset
+ libc.src.sched.__sched_setcpuzero
+ libc.src.sched.__sched_xorcpuset
+
+ # semaphore.h entrypoints
+ libc.src.semaphore.sem_clockwait
+ libc.src.semaphore.sem_close
+ libc.src.semaphore.sem_destroy
+ libc.src.semaphore.sem_getvalue
+ libc.src.semaphore.sem_init
+ libc.src.semaphore.sem_open
+ libc.src.semaphore.sem_post
+ libc.src.semaphore.sem_timedwait
+ libc.src.semaphore.sem_trywait
+ libc.src.semaphore.sem_unlink
+ libc.src.semaphore.sem_wait
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.clearerr_unlocked
+ libc.src.stdio.fclose
+ libc.src.stdio.fdopen
+ libc.src.stdio.feof
+ libc.src.stdio.feof_unlocked
+ libc.src.stdio.ferror
+ libc.src.stdio.ferror_unlocked
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgetc_unlocked
+ libc.src.stdio.fgetpos
+ libc.src.stdio.fgets
+ libc.src.stdio.fileno
+ libc.src.stdio.flockfile
+ libc.src.stdio.fmemopen
+ libc.src.stdio.fopen
+ libc.src.stdio.freopen
+ libc.src.stdio.fopencookie
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fread_unlocked
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.fsetpos
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.funlockfile
+ libc.src.stdio.fwrite
+ libc.src.stdio.fwrite_unlocked
+ libc.src.stdio.getc
+ libc.src.stdio.getc_unlocked
+ libc.src.stdio.getchar
+ libc.src.stdio.getchar_unlocked
+ libc.src.stdio.pclose
+ libc.src.stdio.perror
+ libc.src.stdio.popen
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.rewind
+ libc.src.stdio.setbuf
+ libc.src.stdio.setvbuf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.__cxa_thread_atexit_impl
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.atexit
+ libc.src.stdlib.clearenv
+ libc.src.stdlib.exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.putenv
+ libc.src.stdlib.secure_getenv
+ libc.src.stdlib.setenv
+ libc.src.stdlib.system
+ libc.src.stdlib.unsetenv
+ libc.src.stdlib.mbstowcs
+ libc.src.stdlib.mbtowc
+ libc.src.stdlib.mblen
+ libc.src.stdlib.quick_exit
+ libc.src.stdlib.wcstombs
+ libc.src.stdlib.wctomb
+
+ # signal.h entrypoints
+ libc.src.signal.kill
+ libc.src.signal.pthread_kill
+ libc.src.signal.pthread_sigmask
+ libc.src.signal.raise
+ libc.src.signal.sigaction
+ libc.src.signal.sigaddset
+ libc.src.signal.sigaltstack
+ libc.src.signal.sigdelset
+ libc.src.signal.sigemptyset
+ libc.src.signal.sigfillset
+ libc.src.signal.sigismember
+ libc.src.signal.signal
+ libc.src.signal.sigprocmask
+
+ # spawn.h entrypoints
+ libc.src.spawn.posix_spawn
+ libc.src.spawn.posix_spawn_file_actions_addclose
+ libc.src.spawn.posix_spawn_file_actions_adddup2
+ libc.src.spawn.posix_spawn_file_actions_addopen
+ libc.src.spawn.posix_spawn_file_actions_destroy
+ libc.src.spawn.posix_spawn_file_actions_init
+
+ # search.h entrypoints
+ libc.src.search.hcreate
+ libc.src.search.hcreate_r
+ libc.src.search.hdestroy
+ libc.src.search.hdestroy_r
+ libc.src.search.hsearch
+ libc.src.search.hsearch_r
+ libc.src.search.insque
+ libc.src.search.lfind
+ libc.src.search.lsearch
+ libc.src.search.remque
+ libc.src.search.tdelete
+ libc.src.search.tdestroy
+ libc.src.search.tfind
+ libc.src.search.tsearch
+ libc.src.search.twalk
+ libc.src.search.twalk_r
+
+ # threads.h entrypoints
+ libc.src.threads.call_once
+ libc.src.threads.cnd_broadcast
+ libc.src.threads.cnd_destroy
+ libc.src.threads.cnd_init
+ libc.src.threads.cnd_signal
+ libc.src.threads.cnd_timedwait
+ libc.src.threads.cnd_wait
+ libc.src.threads.mtx_destroy
+ libc.src.threads.mtx_init
+ libc.src.threads.mtx_lock
+ libc.src.threads.mtx_trylock
+ libc.src.threads.mtx_unlock
+ libc.src.threads.thrd_create
+ libc.src.threads.thrd_current
+ libc.src.threads.thrd_detach
+ libc.src.threads.thrd_equal
+ libc.src.threads.thrd_exit
+ libc.src.threads.thrd_join
+ libc.src.threads.tss_create
+ libc.src.threads.tss_delete
+ libc.src.threads.tss_get
+ libc.src.threads.tss_set
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.clock
+ libc.src.time.clock_getcpuclockid
+ libc.src.time.clock_getres
+ libc.src.time.clock_gettime
+ libc.src.time.clock_settime
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.nanosleep
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.time
+ libc.src.time.timespec_get
+ libc.src.time.timer_create
+ libc.src.time.timer_delete
+ libc.src.time.timer_getoverrun
+ libc.src.time.timer_gettime
+ libc.src.time.timer_settime
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # unistd.h entrypoints
+ libc.src.unistd.__llvm_libc_syscall
+ libc.src.unistd._exit
+ libc.src.unistd.confstr
+ libc.src.unistd.environ
+ libc.src.unistd.execl
+ libc.src.unistd.execlp
+ libc.src.unistd.execv
+ libc.src.unistd.execvp
+ libc.src.unistd.execvpe
+ libc.src.unistd.fork
+ libc.src.unistd.getopt
+ libc.src.unistd.optarg
+ libc.src.unistd.opterr
+ libc.src.unistd.optind
+ libc.src.unistd.optopt
+ libc.src.unistd.swab
+ libc.src.unistd.sysconf
+
+ # sys/select.h entrypoints
+ libc.src.sys.select.pselect
+ libc.src.sys.select.select
+
+ # wchar.h entrypoints
+ libc.src.wchar.mbrlen
+ libc.src.wchar.mbsinit
+ libc.src.wchar.mbrtowc
+ libc.src.wchar.mbsrtowcs
+ libc.src.wchar.mbsnrtowcs
+ libc.src.wchar.wcrtomb
+ libc.src.wchar.wcsrtombs
+ libc.src.wchar.wcsnrtombs
+ libc.src.wchar.fgetwc
+ libc.src.wchar.fgetws
+ libc.src.wchar.fputwc
+ libc.src.wchar.fputws
+ libc.src.wchar.fwide
+ libc.src.wchar.getwc
+ libc.src.wchar.getwchar
+ libc.src.wchar.putwc
+ libc.src.wchar.putwchar
+ libc.src.wchar.ungetwc
+
+ # nl_types.h entrypoints
+ libc.src.nl_types.catopen
+ libc.src.nl_types.catclose
+ libc.src.nl_types.catgets
+
+ # link.h entrypoints
+ libc.src.link._r_debug
+ libc.src.link.dl_iterate_phdr
+ )
+endif()
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # fnmatch.h entrypoints
+ libc.src.fnmatch.fnmatch
+
+ # glob.h entrypoints
+ libc.src.glob.glob
+ libc.src.glob.globfree
+
+ # grp.h entrypoints
+ libc.src.grp.initgroups
+ libc.src.grp.setgroups
+
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # net/if.h entrypoints
+ libc.src.net.if_freenameindex
+ libc.src.net.if_nameindex
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+
+ # sys/ptrace.h entrypoints
+ libc.src.sys.ptrace.ptrace
+
+ # unistd.h entrypoints
+ libc.src.unistd.setegid
+ libc.src.unistd.seteuid
+ libc.src.unistd.setgid
+ libc.src.unistd.setregid
+ libc.src.unistd.setresgid
+ libc.src.unistd.setresuid
+ libc.src.unistd.setreuid
+ libc.src.unistd.setuid
+
+ # wchar.h entrypoints
+ libc.src.wchar.swprintf
+ )
+ endif()
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index f195135c766c13..99e0bbce29274c 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -1,1849 +1,1849 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # arpa/inet.h entrypoints
- libc.src.arpa.inet.htonl
- libc.src.arpa.inet.htons
- libc.src.arpa.inet.inet_addr
- libc.src.arpa.inet.inet_aton
- libc.src.arpa.inet.inet_ntoa
- libc.src.arpa.inet.inet_ntop
- libc.src.arpa.inet.inet_pton
- libc.src.arpa.inet.ntohl
- libc.src.arpa.inet.ntohs
-
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # dlfcn.h entrypoints
- libc.src.dlfcn.dladdr
- libc.src.dlfcn.dlclose
- libc.src.dlfcn.dlerror
- libc.src.dlfcn.dlopen
- libc.src.dlfcn.dlsym
-
- # err.h entrypoints
- libc.src.err.err
- libc.src.err.verr
- libc.src.err.errx
- libc.src.err.verrx
- libc.src.err.warn
- libc.src.err.vwarn
- libc.src.err.warnx
- libc.src.err.vwarnx
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # fcntl.h entrypoints
- libc.src.fcntl.creat
- libc.src.fcntl.fallocate
- libc.src.fcntl.fcntl
- libc.src.fcntl.open
- libc.src.fcntl.openat
- libc.src.fcntl.posix_fadvise
- libc.src.fcntl.posix_fadvise64
- libc.src.fcntl.posix_fallocate
-
- # grp.h entrypoints
- libc.src.grp.endgrent
- libc.src.grp.getgrent
- libc.src.grp.getgrgid
- libc.src.grp.getgrgid_r
- libc.src.grp.getgrouplist
- libc.src.grp.getgrnam
- libc.src.grp.getgrnam_r
- libc.src.grp.setgrent
-
- # net/if.h entrypoints
- libc.src.net.if_indextoname
- libc.src.net.if_nametoindex
-
- # netinet/ether.h entrypoints
- libc.src.netinet.ether.ether_ntoa
- libc.src.netinet.ether.ether_ntoa_r
-
- # netinet/in.h entrypoints
- libc.src.netinet.in6addr_any
- libc.src.netinet.in6addr_loopback
-
- # poll.h entrypoints
- libc.src.poll.poll
- libc.src.poll.ppoll
-
- # pwd.h entrypoints
- libc.src.pwd.endpwent
- libc.src.pwd.getpwent
- libc.src.pwd.getpwent_r
- libc.src.pwd.getpwnam
- libc.src.pwd.getpwnam_r
- libc.src.pwd.getpwuid
- libc.src.pwd.getpwuid_r
- libc.src.pwd.setpwent
-
- # sched.h entrypoints
- libc.src.sched.getcpu
- libc.src.sched.sched_get_priority_max
- libc.src.sched.sched_get_priority_min
- libc.src.sched.sched_getaffinity
- libc.src.sched.sched_getcpu
- libc.src.sched.sched_getparam
- libc.src.sched.sched_getscheduler
- libc.src.sched.sched_rr_get_interval
- libc.src.sched.sched_setaffinity
- libc.src.sched.sched_setparam
- libc.src.sched.sched_setscheduler
- libc.src.sched.sched_yield
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.memset_explicit
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcoll
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strdup
- libc.src.string.strerror
- libc.src.string.strerror_r
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strndup
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strsep
- libc.src.string.strsignal
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
- libc.src.string.strxfrm
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.ffs
- libc.src.strings.ffsl
- libc.src.strings.ffsll
- libc.src.strings.index
- libc.src.strings.rindex
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
- libc.src.inttypes.wcstoimax
- libc.src.inttypes.wcstoumax
-
- # libgen.h entrypoints
- libc.src.libgen.basename
- libc.src.libgen.dirname
-
- # stdbit.h entrypoints
- libc.src.stdbit.stdc_bit_ceil_uc
- libc.src.stdbit.stdc_bit_ceil_ui
- libc.src.stdbit.stdc_bit_ceil_ul
- libc.src.stdbit.stdc_bit_ceil_ull
- libc.src.stdbit.stdc_bit_ceil_us
- libc.src.stdbit.stdc_bit_floor_uc
- libc.src.stdbit.stdc_bit_floor_ui
- libc.src.stdbit.stdc_bit_floor_ul
- libc.src.stdbit.stdc_bit_floor_ull
- libc.src.stdbit.stdc_bit_floor_us
- libc.src.stdbit.stdc_bit_width_uc
- libc.src.stdbit.stdc_bit_width_ui
- libc.src.stdbit.stdc_bit_width_ul
- libc.src.stdbit.stdc_bit_width_ull
- libc.src.stdbit.stdc_bit_width_us
- libc.src.stdbit.stdc_count_ones_uc
- libc.src.stdbit.stdc_count_ones_ui
- libc.src.stdbit.stdc_count_ones_ul
- libc.src.stdbit.stdc_count_ones_ull
- libc.src.stdbit.stdc_count_ones_us
- libc.src.stdbit.stdc_count_zeros_uc
- libc.src.stdbit.stdc_count_zeros_ui
- libc.src.stdbit.stdc_count_zeros_ul
- libc.src.stdbit.stdc_count_zeros_ull
- libc.src.stdbit.stdc_count_zeros_us
- libc.src.stdbit.stdc_first_leading_one_uc
- libc.src.stdbit.stdc_first_leading_one_ui
- libc.src.stdbit.stdc_first_leading_one_ul
- libc.src.stdbit.stdc_first_leading_one_ull
- libc.src.stdbit.stdc_first_leading_one_us
- libc.src.stdbit.stdc_first_leading_zero_uc
- libc.src.stdbit.stdc_first_leading_zero_ui
- libc.src.stdbit.stdc_first_leading_zero_ul
- libc.src.stdbit.stdc_first_leading_zero_ull
- libc.src.stdbit.stdc_first_leading_zero_us
- libc.src.stdbit.stdc_first_trailing_one_uc
- libc.src.stdbit.stdc_first_trailing_one_ui
- libc.src.stdbit.stdc_first_trailing_one_ul
- libc.src.stdbit.stdc_first_trailing_one_ull
- libc.src.stdbit.stdc_first_trailing_one_us
- libc.src.stdbit.stdc_first_trailing_zero_uc
- libc.src.stdbit.stdc_first_trailing_zero_ui
- libc.src.stdbit.stdc_first_trailing_zero_ul
- libc.src.stdbit.stdc_first_trailing_zero_ull
- libc.src.stdbit.stdc_first_trailing_zero_us
- libc.src.stdbit.stdc_has_single_bit_uc
- libc.src.stdbit.stdc_has_single_bit_ui
- libc.src.stdbit.stdc_has_single_bit_ul
- libc.src.stdbit.stdc_has_single_bit_ull
- libc.src.stdbit.stdc_has_single_bit_us
- libc.src.stdbit.stdc_leading_ones_uc
- libc.src.stdbit.stdc_leading_ones_ui
- libc.src.stdbit.stdc_leading_ones_ul
- libc.src.stdbit.stdc_leading_ones_ull
- libc.src.stdbit.stdc_leading_ones_us
- libc.src.stdbit.stdc_leading_zeros_uc
- libc.src.stdbit.stdc_leading_zeros_ui
- libc.src.stdbit.stdc_leading_zeros_ul
- libc.src.stdbit.stdc_leading_zeros_ull
- libc.src.stdbit.stdc_leading_zeros_us
- libc.src.stdbit.stdc_trailing_ones_uc
- libc.src.stdbit.stdc_trailing_ones_ui
- libc.src.stdbit.stdc_trailing_ones_ul
- libc.src.stdbit.stdc_trailing_ones_ull
- libc.src.stdbit.stdc_trailing_ones_us
- libc.src.stdbit.stdc_trailing_zeros_uc
- libc.src.stdbit.stdc_trailing_zeros_ui
- libc.src.stdbit.stdc_trailing_zeros_ul
- libc.src.stdbit.stdc_trailing_zeros_ull
- libc.src.stdbit.stdc_trailing_zeros_us
-
- # stdlib.h entrypoints
- libc.src.stdlib.a64l
- libc.src.stdlib.abs
- libc.src.stdlib.atof
- libc.src.stdlib.atoi
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.getloadavg
- libc.src.stdlib.l64a
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.mkdtemp
- libc.src.stdlib.mkostemp
- libc.src.stdlib.mkstemp
- libc.src.stdlib.qsort
- libc.src.stdlib.qsort_r
- libc.src.stdlib.rand
- libc.src.stdlib.realpath
- libc.src.stdlib.srand
- libc.src.stdlib.strfromd
- libc.src.stdlib.strfromf
- libc.src.stdlib.strfromf128
- libc.src.stdlib.strfroml
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.calloc
- libc.src.stdlib.free
- libc.src.stdlib.malloc
- libc.src.stdlib.posix_memalign
- libc.src.stdlib.realloc
-
- # stdio.h entrypoints
- libc.src.stdio.fprintf
- libc.src.stdio.fscanf
- libc.src.stdio.vfscanf
- libc.src.stdio.printf
- libc.src.stdio.remove
- libc.src.stdio.rename
- libc.src.stdio.renameat
- libc.src.stdio.scanf
- libc.src.stdio.vscanf
- libc.src.stdio.snprintf
- libc.src.stdio.sprintf
- libc.src.stdio.asprintf
- libc.src.stdio.sscanf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.tmpfile
- libc.src.stdio.tmpnam
- libc.src.stdio.vsscanf
- libc.src.stdio.vfprintf
- libc.src.stdio.vprintf
- libc.src.stdio.vsnprintf
- libc.src.stdio.vsprintf
- libc.src.stdio.vasprintf
-
- # sys/epoll.h entrypoints
- libc.src.sys.epoll.epoll_create
- libc.src.sys.epoll.epoll_create1
- libc.src.sys.epoll.epoll_ctl
- libc.src.sys.epoll.epoll_pwait
- libc.src.sys.epoll.epoll_wait
- # TODO: Need to check if pwait2 is available before providing.
- # https://github.com/llvm/llvm-project/issues/80060
- # libc.src.sys.epoll.epoll_pwait2
-
- # sys/eventfd.h entrypoints
- libc.src.sys.eventfd.eventfd
-
- # sys/file.h entrypoints
- libc.src.sys.file.flock
-
- # sys/ioctl.h entrypoints
- libc.src.sys.ioctl.ioctl
-
- # sys/ipc.h entrypoints
- libc.src.sys.ipc.ftok
-
- # sys/mman.h entrypoints
- libc.src.sys.mman.madvise
- libc.src.sys.mman.memfd_create
- libc.src.sys.mman.mincore
- libc.src.sys.mman.mlock
- libc.src.sys.mman.mlock2
- libc.src.sys.mman.mlockall
- libc.src.sys.mman.mmap
- libc.src.sys.mman.mremap
- libc.src.sys.mman.mprotect
- libc.src.sys.mman.msync
- libc.src.sys.mman.munlock
- libc.src.sys.mman.munlockall
- libc.src.sys.mman.munmap
- libc.src.sys.mman.pkey_alloc
- libc.src.sys.mman.pkey_free
- libc.src.sys.mman.pkey_get
- libc.src.sys.mman.pkey_mprotect
- libc.src.sys.mman.pkey_set
- libc.src.sys.mman.remap_file_pages
- libc.src.sys.mman.posix_madvise
- libc.src.sys.mman.shm_open
- libc.src.sys.mman.shm_unlink
-
- # sys/random.h entrypoints
- libc.src.sys.random.getrandom
- libc.src.sys.random.getentropy
-
- # sys/resource.h entrypoints
- libc.src.sys.resource.getpriority
- libc.src.sys.resource.getrlimit
- libc.src.sys.resource.getrusage
- libc.src.sys.resource.setpriority
- libc.src.sys.resource.setrlimit
-
- # sys/sem.h entrypoints
- libc.src.sys.sem.semget
- libc.src.sys.sem.semctl
- libc.src.sys.sem.semop
-
- # sys/sendfile.h entrypoints
- libc.src.sys.sendfile.sendfile
-
- # sys/socket.h entrypoints
- libc.src.sys.socket.accept
- libc.src.sys.socket.accept4
- libc.src.sys.socket.bind
- libc.src.sys.socket.connect
- libc.src.sys.socket.getpeername
- libc.src.sys.socket.getsockname
- libc.src.sys.socket.getsockopt
- libc.src.sys.socket.listen
- libc.src.sys.socket.recv
- libc.src.sys.socket.recvfrom
- libc.src.sys.socket.send
- libc.src.sys.socket.sendto
- libc.src.sys.socket.setsockopt
- libc.src.sys.socket.shutdown
- libc.src.sys.socket.sockatmark
- libc.src.sys.socket.socket
- libc.src.sys.socket.socketpair
- # TODO: These functions are not compatible with 64-bit musl. They need to
- # be excluded if overlaying musl.
- libc.src.sys.socket.recvmmsg
- libc.src.sys.socket.recvmsg
- libc.src.sys.socket.sendmmsg
- libc.src.sys.socket.sendmsg
-
- # sys/stat.h entrypoints
- libc.src.sys.stat.chmod
- libc.src.sys.stat.fchmod
- libc.src.sys.stat.fchmodat
- libc.src.sys.stat.fstat
- libc.src.sys.stat.fstatat
- libc.src.sys.stat.futimens
- libc.src.sys.stat.lstat
- libc.src.sys.stat.mkdir
- libc.src.sys.stat.mkdirat
- libc.src.sys.stat.mkfifo
- libc.src.sys.stat.mkfifoat
- libc.src.sys.stat.mknod
- libc.src.sys.stat.mknodat
- libc.src.sys.stat.stat
- libc.src.sys.stat.umask
- libc.src.sys.stat.utimensat
-
- # sys/statfs.h entrypoints
- libc.src.sys.statfs.fstatfs
- libc.src.sys.statfs.statfs
-
- # sys/statvfs.h entrypoints
- libc.src.sys.statvfs.fstatvfs
- libc.src.sys.statvfs.statvfs
-
- # sys/time.h entrypoints
- libc.src.sys.time.utimes
-
- # sys/sysinfo.h entrypoints
- libc.src.sys.sysinfo.sysinfo
-
- # sys/utsname.h entrypoints
- libc.src.sys.utsname.uname
-
- # sys/wait.h entrypoints
- libc.src.sys.wait.wait
- libc.src.sys.wait.wait4
- libc.src.sys.wait.waitid
- libc.src.sys.wait.waitpid
-
- # sys/xattr.h entrypoints
- libc.src.sys.xattr.fgetxattr
- libc.src.sys.xattr.flistxattr
- libc.src.sys.xattr.fsetxattr
- libc.src.sys.xattr.getxattr
- libc.src.sys.xattr.lgetxattr
- libc.src.sys.xattr.listxattr
- libc.src.sys.xattr.llistxattr
- libc.src.sys.xattr.lsetxattr
- libc.src.sys.xattr.setxattr
-
- # sys/prctl.h entrypoints
- libc.src.sys.prctl.prctl
-
- # sys/personality.h entrypoints
- libc.src.sys.personality.personality
-
- # sys/auxv.h entrypoints
- libc.src.sys.auxv.getauxval
-
- # sys/sysmacros.h entrypoints
- libc.src.sys.sysmacros.makedev
- libc.src.sys.sysmacros.major
- libc.src.sys.sysmacros.minor
-
- # sys/inotify.h entrypoints
- libc.src.sys.inotify.inotify_add_watch
- libc.src.sys.inotify.inotify_init
- libc.src.sys.inotify.inotify_init1
- libc.src.sys.inotify.inotify_rm_watch
-
- # termios.h entrypoints
- libc.src.termios.cfgetispeed
- libc.src.termios.cfgetospeed
- libc.src.termios.cfsetispeed
- libc.src.termios.cfsetospeed
- libc.src.termios.tcdrain
- libc.src.termios.tcflow
- libc.src.termios.tcflush
- libc.src.termios.tcgetattr
- libc.src.termios.tcgetsid
- libc.src.termios.tcgetwinsize
- libc.src.termios.tcsendbreak
- libc.src.termios.tcsetattr
- libc.src.termios.tcsetwinsize
-
- # unistd.h entrypoints
- libc.src.unistd.alarm
- libc.src.unistd.access
- libc.src.unistd.chdir
- libc.src.unistd.chown
- libc.src.unistd.chroot
- libc.src.unistd.close
- libc.src.unistd.dup
- libc.src.unistd.dup2
- libc.src.unistd.dup3
- libc.src.unistd.execle
- libc.src.unistd.execve
- libc.src.unistd.faccessat
- libc.src.unistd.fchdir
- libc.src.unistd.fchown
- libc.src.unistd.fchownat
- libc.src.unistd.fdatasync
- libc.src.unistd.fexecve
- libc.src.unistd.fpathconf
- libc.src.unistd.fsync
- libc.src.unistd.ftruncate
- libc.src.unistd.getcwd
- libc.src.unistd.getegid
- libc.src.unistd.getentropy
- libc.src.unistd.geteuid
- libc.src.unistd.gethostname
- libc.src.unistd.getpagesize
- libc.src.unistd.getpgid
- libc.src.unistd.getpgrp
- libc.src.unistd.getpid
- libc.src.unistd.getppid
- libc.src.unistd.getsid
- libc.src.unistd.gettid
- libc.src.unistd.getgid
- libc.src.unistd.getuid
- libc.src.unistd.isatty
- libc.src.unistd.lchown
- libc.src.unistd.link
- libc.src.unistd.linkat
- libc.src.unistd.lockf
- libc.src.unistd.lseek
- libc.src.unistd.nice
- libc.src.unistd.pathconf
- libc.src.unistd.pause
- libc.src.unistd.pipe
- libc.src.unistd.pipe2
- libc.src.unistd.pread
- libc.src.unistd.pwrite
- libc.src.unistd.read
- libc.src.unistd.readlink
- libc.src.unistd.readlinkat
- libc.src.unistd.rmdir
- libc.src.unistd.setpgid
- libc.src.unistd.setsid
- libc.src.unistd.sleep
- libc.src.unistd.symlink
- libc.src.unistd.symlinkat
- libc.src.unistd.sync
- libc.src.unistd.syncfs
- libc.src.unistd.tcgetpgrp
- libc.src.unistd.tcsetpgrp
- libc.src.unistd.truncate
- libc.src.unistd.unlink
- libc.src.unistd.unlinkat
- libc.src.unistd.usleep
- libc.src.unistd.write
-
- # wchar.h entrypoints
- libc.src.wchar.btowc
- libc.src.wchar.wcscasecmp
- libc.src.wchar.wcsncasecmp
- libc.src.wchar.wcslen
- libc.src.wchar.wcsnlen
- libc.src.wchar.wctob
- libc.src.wchar.wmemmove
- libc.src.wchar.wmemset
- libc.src.wchar.wcschr
- libc.src.wchar.wcsncmp
- libc.src.wchar.wcsxfrm
- libc.src.wchar.wcscmp
- libc.src.wchar.wcscoll
- libc.src.wchar.wcspbrk
- libc.src.wchar.wcsrchr
- libc.src.wchar.wcsspn
- libc.src.wchar.wcscspn
- libc.src.wchar.wcsdup
- libc.src.wchar.wmemcmp
- libc.src.wchar.wmempcpy
- libc.src.wchar.wmemcpy
- libc.src.wchar.wcsncpy
- libc.src.wchar.wcscat
- libc.src.wchar.wcsstr
- libc.src.wchar.wcsncat
- libc.src.wchar.wcslcat
- libc.src.wchar.wcscpy
- libc.src.wchar.wcslcpy
- libc.src.wchar.wmemchr
- libc.src.wchar.wcpcpy
- libc.src.wchar.wcpncpy
- libc.src.wchar.wcstod
- libc.src.wchar.wcstof
- libc.src.wchar.wcstok
- libc.src.wchar.wcstol
- libc.src.wchar.wcstold
- libc.src.wchar.wcstoll
- libc.src.wchar.wcstoul
- libc.src.wchar.wcstoull
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
- libc.src.wctype.towlower
- libc.src.wctype.towupper
-
- # sys/uio.h entrypoints
- libc.src.sys.uio.writev
- libc.src.sys.uio.readv
-
- # sys/time.h entrypoints
- libc.src.sys.time.setitimer
- libc.src.sys.time.getitimer
- libc.src.sys.time.gettimeofday
-)
-
-if(LLVM_LIBC_INCLUDE_SCUDO)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # malloc.h external entrypoints
- libc.src.stdlib.mallopt
- )
-endif()
-
-set(TARGET_LIBM_ENTRYPOINTS
- # complex.h entrypoints
- libc.src.complex.cabs
- libc.src.complex.cabsf
- libc.src.complex.carg
- libc.src.complex.cargf
- libc.src.complex.creal
- libc.src.complex.crealf
- libc.src.complex.creall
- libc.src.complex.cimag
- libc.src.complex.cimagf
- libc.src.complex.cimagl
- libc.src.complex.conj
- libc.src.complex.conjf
- libc.src.complex.conjl
- libc.src.complex.cproj
- libc.src.complex.cprojf
- libc.src.complex.cprojl
-
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.canonicalize
- libc.src.math.canonicalizef
- libc.src.math.canonicalizel
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignf80
- libc.src.math.copysignl
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.cospif
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dmull
- libc.src.math.dsqrtl
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp10m1f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.exp2m1f
- libc.src.math.expf
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsf80
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fadd
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaximum
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magf128
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaxl
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_mag_numl
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magf128
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminl
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.fmul
- libc.src.math.fmull
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fromfp
- libc.src.math.fromfpf
- libc.src.math.fromfpl
- libc.src.math.fromfpx
- libc.src.math.fromfpxf
- libc.src.math.fromfpxl
- libc.src.math.fsqrt
- libc.src.math.fsqrtl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.getpayload
- libc.src.math.getpayloadf
- libc.src.math.getpayloadl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonical
- libc.src.math.iscanonicalf
- libc.src.math.iscanonicalf128
- libc.src.math.iscanonicall
- libc.src.math.isnan
- libc.src.math.isnanf
- libc.src.math.isnanf128
- libc.src.math.isnanl
- libc.src.math.issignaling
- libc.src.math.issignalingf
- libc.src.math.issignalingf128
- libc.src.math.issignalingl
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llogb
- libc.src.math.llogbf
- libc.src.math.llogbl
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.logf
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nextdown
- libc.src.math.nextdownf
- libc.src.math.nextdownl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.nextup
- libc.src.math.nextupf
- libc.src.math.nextupl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainder
- libc.src.math.remainderf
- libc.src.math.remainderl
- libc.src.math.remquo
- libc.src.math.remquof
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundeven
- libc.src.math.roundevenf
- libc.src.math.roundevenf128
- libc.src.math.roundevenl
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.setpayload
- libc.src.math.setpayloadf
- libc.src.math.setpayloadl
- libc.src.math.setpayloadsig
- libc.src.math.setpayloadsigf
- libc.src.math.setpayloadsigl
- libc.src.math.sin
- libc.src.math.sincos
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sinpif
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.totalorder
- libc.src.math.totalorderf
- libc.src.math.totalorderl
- libc.src.math.totalordermag
- libc.src.math.totalordermagf
- libc.src.math.totalordermagl
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
- libc.src.math.ufromfp
- libc.src.math.ufromfpf
- libc.src.math.ufromfpl
- libc.src.math.ufromfpx
- libc.src.math.ufromfpxf
- libc.src.math.ufromfpxl
-)
-
-if(LIBC_TYPES_HAS_CFLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float16 entrypoints
- libc.src.complex.crealf16
- libc.src.complex.cimagf16
- libc.src.complex.conjf16
- libc.src.complex.cprojf16
- )
-endif()
-
-if(LIBC_TYPES_HAS_FLOAT16)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float16 entrypoints
- libc.src.math.acosf16
- libc.src.math.acoshf16
- libc.src.math.acospif16
- libc.src.math.asinf16
- libc.src.math.asinhf16
- libc.src.math.asinpif16
- libc.src.math.atanf16
- libc.src.math.atan2f16
- libc.src.math.atanhf16
- libc.src.math.atanpif16
- libc.src.math.canonicalizef16
- libc.src.math.cbrtf16
- libc.src.math.ceilf16
- libc.src.math.copysignf16
- libc.src.math.cosf16
- libc.src.math.coshf16
- libc.src.math.cospif16
- libc.src.math.erff16
- libc.src.math.erfcf16
- libc.src.math.exp10f16
- libc.src.math.exp10m1f16
- libc.src.math.exp2f16
- libc.src.math.exp2m1f16
- libc.src.math.expf16
- libc.src.math.expm1f16
- libc.src.math.f16add
- libc.src.math.f16addf
- libc.src.math.f16addl
- libc.src.math.f16div
- libc.src.math.f16divf
- libc.src.math.f16divl
- libc.src.math.f16fma
- libc.src.math.f16fmaf
- libc.src.math.f16fmal
- libc.src.math.f16mul
- libc.src.math.f16mulf
- libc.src.math.f16mull
- libc.src.math.f16sqrt
- libc.src.math.f16sqrtf
- libc.src.math.f16sqrtl
- libc.src.math.f16sub
- libc.src.math.f16subf
- libc.src.math.f16subl
- libc.src.math.fabsf16
- libc.src.math.fdimf16
- libc.src.math.floorf16
- libc.src.math.fmaf16
- libc.src.math.fmaxf16
- libc.src.math.fmaximum_mag_numf16
- libc.src.math.fmaximum_magf16
- libc.src.math.fmaximum_numf16
- libc.src.math.fmaximumf16
- libc.src.math.fminf16
- libc.src.math.fminimum_mag_numf16
- libc.src.math.fminimum_magf16
- libc.src.math.fminimum_numf16
- libc.src.math.fminimumf16
- libc.src.math.fmodf16
- libc.src.math.frexpf16
- libc.src.math.fromfpf16
- libc.src.math.fromfpxf16
- libc.src.math.getpayloadf16
- libc.src.math.hypotf16
- libc.src.math.ilogbf16
- libc.src.math.iscanonicalf16
- libc.src.math.isnanf16
- libc.src.math.issignalingf16
- libc.src.math.ldexpf16
- libc.src.math.lgammaf16
- libc.src.math.llogbf16
- libc.src.math.llrintf16
- libc.src.math.llroundf16
- libc.src.math.log10f16
- libc.src.math.log10p1f16
- libc.src.math.log2f16
- libc.src.math.log2p1f16
- libc.src.math.logbf16
- libc.src.math.logf16
- libc.src.math.lrintf16
- libc.src.math.lroundf16
- libc.src.math.modff16
- libc.src.math.nanf16
- libc.src.math.nearbyintf16
- libc.src.math.nextafterf16
- libc.src.math.nextdownf16
- libc.src.math.nexttowardf16
- libc.src.math.nextupf16
- libc.src.math.remainderf16
- libc.src.math.remquof16
- libc.src.math.rintf16
- libc.src.math.roundevenf16
- libc.src.math.roundf16
- libc.src.math.rsqrtf
- libc.src.math.rsqrtf16
- libc.src.math.scalblnf16
- libc.src.math.scalbnf16
- libc.src.math.setpayloadf16
- libc.src.math.setpayloadsigf16
- libc.src.math.sinf16
- libc.src.math.sinhf16
- libc.src.math.sinpif16
- libc.src.math.sqrtf16
- libc.src.math.tanf16
- libc.src.math.tanhf16
- libc.src.math.tanpif16
- libc.src.math.totalorderf16
- libc.src.math.totalordermagf16
- libc.src.math.truncf16
- libc.src.math.ufromfpf16
- libc.src.math.ufromfpxf16
- )
-
- if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 mixed _Float16 and _Float128 entrypoints
- libc.src.math.f16addf128
- libc.src.math.f16divf128
- libc.src.math.f16fmaf128
- libc.src.math.f16mulf128
- libc.src.math.f16sqrtf128
- libc.src.math.f16subf128
- )
- endif()
-endif()
-
-if(LIBC_TYPES_HAS_CFLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # complex.h C23 _Complex _Float128 entrypoints
- libc.src.complex.crealf128
- libc.src.complex.cimagf128
- libc.src.complex.conjf128
- libc.src.complex.cprojf128
- )
-endif()
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C23 _Float128 entrypoints
- libc.src.math.atan2l
- libc.src.math.canonicalizef128
- libc.src.math.daddf128
- libc.src.math.ddivf128
- libc.src.math.dfmaf128
- libc.src.math.dmulf128
- libc.src.math.dsqrtf128
- libc.src.math.dsubf128
- libc.src.math.faddf128
- libc.src.math.fdivf128
- libc.src.math.ffmaf128
- libc.src.math.fmodf128
- libc.src.math.fmulf128
- libc.src.math.frexpf128
- libc.src.math.fromfpf128
- libc.src.math.fromfpxf128
- libc.src.math.fsqrtf128
- libc.src.math.fsubf128
- libc.src.math.getpayloadf128
- libc.src.math.ilogbf128
- libc.src.math.ldexpf128
- libc.src.math.llogbf128
- libc.src.math.logbf128
- libc.src.math.modff128
- libc.src.math.nanf128
- libc.src.math.nextafterf128
- libc.src.math.nextdownf128
- libc.src.math.nextupf128
- libc.src.math.remainderf128
- libc.src.math.remquof128
- libc.src.math.scalblnf128
- libc.src.math.scalbnf128
- libc.src.math.setpayloadf128
- libc.src.math.setpayloadsigf128
- libc.src.math.totalorderf128
- libc.src.math.totalordermagf128
- libc.src.math.ufromfpf128
- libc.src.math.ufromfpxf128
- )
-endif()
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # math.h C++23 mixed bfloat16 and _Float128 entrypoints
- libc.src.math.bf16addf128
- libc.src.math.bf16divf128
- libc.src.math.bf16fmaf128
- libc.src.math.bf16mulf128
- libc.src.math.bf16subf128
- )
-endif()
-
-if(LIBC_COMPILER_HAS_FIXED_POINT)
- list(APPEND TARGET_LIBM_ENTRYPOINTS
- # stdfix.h _Fract and _Accum entrypoints
- libc.src.stdfix.abshk
- libc.src.stdfix.abshr
- libc.src.stdfix.absk
- libc.src.stdfix.abslk
- libc.src.stdfix.abslr
- libc.src.stdfix.absr
- libc.src.stdfix.exphk
- libc.src.stdfix.expk
- libc.src.stdfix.roundhk
- libc.src.stdfix.roundhr
- libc.src.stdfix.roundk
- libc.src.stdfix.roundlk
- libc.src.stdfix.roundlr
- libc.src.stdfix.roundr
- libc.src.stdfix.rounduhk
- libc.src.stdfix.rounduhr
- libc.src.stdfix.rounduk
- libc.src.stdfix.roundulk
- libc.src.stdfix.roundulr
- libc.src.stdfix.roundur
- libc.src.stdfix.sqrtuhk
- libc.src.stdfix.sqrtuhr
- libc.src.stdfix.sqrtuk
- libc.src.stdfix.sqrtur
- # libc.src.stdfix.sqrtulk
- libc.src.stdfix.sqrtulr
- libc.src.stdfix.uhksqrtus
- libc.src.stdfix.uksqrtui
- libc.src.stdfix.hrbits
- libc.src.stdfix.uhrbits
- libc.src.stdfix.rbits
- libc.src.stdfix.urbits
- libc.src.stdfix.lrbits
- libc.src.stdfix.ulrbits
- libc.src.stdfix.hkbits
- libc.src.stdfix.uhkbits
- libc.src.stdfix.kbits
- libc.src.stdfix.ukbits
- libc.src.stdfix.lkbits
- libc.src.stdfix.ulkbits
- libc.src.stdfix.bitshr
- libc.src.stdfix.bitsr
- libc.src.stdfix.bitslr
- libc.src.stdfix.bitshk
- libc.src.stdfix.bitsk
- libc.src.stdfix.bitslk
- libc.src.stdfix.bitsuhr
- libc.src.stdfix.bitsur
- libc.src.stdfix.bitsulr
- libc.src.stdfix.bitsuhk
- libc.src.stdfix.bitsuk
- libc.src.stdfix.bitsulk
- libc.src.stdfix.countlshr
- libc.src.stdfix.countlsr
- libc.src.stdfix.countlslr
- libc.src.stdfix.countlshk
- libc.src.stdfix.countlsk
- libc.src.stdfix.countlslk
- libc.src.stdfix.countlsuhr
- libc.src.stdfix.countlsur
- libc.src.stdfix.countlsulr
- libc.src.stdfix.countlsuhk
- libc.src.stdfix.countlsuk
- libc.src.stdfix.countlsulk
- libc.src.stdfix.idivr
- libc.src.stdfix.idivlr
- libc.src.stdfix.idivk
- libc.src.stdfix.idivlk
- libc.src.stdfix.idivur
- libc.src.stdfix.idivulr
- libc.src.stdfix.idivuk
- libc.src.stdfix.idivulk
- libc.src.stdfix.rdivi
- libc.src.stdfix.lrdivi
- libc.src.stdfix.kdivi
- libc.src.stdfix.lkdivi
- libc.src.stdfix.urdivi
- libc.src.stdfix.ulrdivi
- libc.src.stdfix.ukdivi
- libc.src.stdfix.ulkdivi
- libc.src.stdfix.divir
- libc.src.stdfix.divilr
- libc.src.stdfix.divik
- libc.src.stdfix.divilk
- libc.src.stdfix.diviur
- libc.src.stdfix.diviulr
- libc.src.stdfix.diviuk
- libc.src.stdfix.diviulk
- )
-endif()
-
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum_l
- libc.src.ctype.isalpha_l
- libc.src.ctype.isblank_l
- libc.src.ctype.iscntrl_l
- libc.src.ctype.isdigit_l
- libc.src.ctype.isgraph_l
- libc.src.ctype.islower_l
- libc.src.ctype.isprint_l
- libc.src.ctype.ispunct_l
- libc.src.ctype.isspace_l
- libc.src.ctype.isupper_l
- libc.src.ctype.isxdigit_l
- libc.src.ctype.tolower_l
- libc.src.ctype.toupper_l
-
- # errno.h entrypoints
- libc.src.errno.program_invocation_name
- libc.src.errno.program_invocation_short_name
-
- # stdlib.h entrypoints
- libc.src.stdlib.strtod_l
- libc.src.stdlib.strtof_l
- libc.src.stdlib.strtol_l
- libc.src.stdlib.strtold_l
- libc.src.stdlib.strtoll_l
- libc.src.stdlib.strtoul_l
- libc.src.stdlib.strtoull_l
-
- # string.h entrypoints
- libc.src.string.strcoll_l
- libc.src.string.strxfrm_l
-
- # strings.h entrypoints
- libc.src.strings.strcasecmp_l
- libc.src.strings.strncasecmp_l
-
- # assert.h entrypoints
- libc.src.assert.__assert_fail
-
- # compiler entrypoints (no corresponding header)
- libc.src.compiler.__stack_chk_fail
-
- # dirent.h entrypoints
- libc.src.dirent.alphasort
- libc.src.dirent.closedir
- libc.src.dirent.dirfd
- libc.src.dirent.opendir
- libc.src.dirent.readdir
- libc.src.dirent.scandir
- libc.src.dirent.fdopendir
-
- # pthread.h entrypoints
- libc.src.pthread.__pthread_cleanup_pop
- libc.src.pthread.__pthread_cleanup_push
- libc.src.pthread.pthread_atfork
- libc.src.pthread.pthread_attr_destroy
- libc.src.pthread.pthread_attr_getdetachstate
- libc.src.pthread.pthread_attr_getguardsize
- libc.src.pthread.pthread_attr_getinheritsched
- libc.src.pthread.pthread_attr_getschedparam
- libc.src.pthread.pthread_attr_getschedpolicy
- libc.src.pthread.pthread_attr_getscope
- libc.src.pthread.pthread_attr_getstack
- libc.src.pthread.pthread_attr_getstacksize
- libc.src.pthread.pthread_attr_init
- libc.src.pthread.pthread_attr_setdetachstate
- libc.src.pthread.pthread_attr_setguardsize
- libc.src.pthread.pthread_attr_setinheritsched
- libc.src.pthread.pthread_attr_setschedparam
- libc.src.pthread.pthread_attr_setschedpolicy
- libc.src.pthread.pthread_attr_setscope
- libc.src.pthread.pthread_attr_setstack
- libc.src.pthread.pthread_attr_setstacksize
- libc.src.pthread.pthread_condattr_destroy
- libc.src.pthread.pthread_condattr_getclock
- libc.src.pthread.pthread_condattr_getpshared
- libc.src.pthread.pthread_condattr_init
- libc.src.pthread.pthread_condattr_setclock
- libc.src.pthread.pthread_condattr_setpshared
- libc.src.pthread.pthread_cond_broadcast
- libc.src.pthread.pthread_cond_clockwait
- libc.src.pthread.pthread_cond_destroy
- libc.src.pthread.pthread_cond_init
- libc.src.pthread.pthread_cond_signal
- libc.src.pthread.pthread_cond_timedwait
- libc.src.pthread.pthread_cond_wait
- libc.src.pthread.pthread_create
- libc.src.pthread.pthread_detach
- libc.src.pthread.pthread_equal
- libc.src.pthread.pthread_exit
- libc.src.pthread.pthread_getattr_np
- libc.src.pthread.pthread_getname_np
- libc.src.pthread.pthread_getschedparam
- libc.src.pthread.pthread_getspecific
- libc.src.pthread.pthread_getstack_np
- libc.src.pthread.pthread_getthreadid_np
- libc.src.pthread.pthread_getunique_np
- libc.src.pthread.pthread_join
- libc.src.pthread.pthread_key_create
- libc.src.pthread.pthread_key_delete
- libc.src.pthread.pthread_barrier_init
- libc.src.pthread.pthread_barrier_wait
- libc.src.pthread.pthread_barrier_destroy
- libc.src.pthread.pthread_mutex_destroy
- libc.src.pthread.pthread_mutex_init
- libc.src.pthread.pthread_mutex_lock
- libc.src.pthread.pthread_mutex_trylock
- libc.src.pthread.pthread_mutex_unlock
- libc.src.pthread.pthread_mutexattr_destroy
- libc.src.pthread.pthread_mutexattr_getpshared
- libc.src.pthread.pthread_mutexattr_getrobust
- libc.src.pthread.pthread_mutexattr_gettype
- libc.src.pthread.pthread_mutexattr_init
- libc.src.pthread.pthread_mutexattr_setpshared
- libc.src.pthread.pthread_mutexattr_setrobust
- libc.src.pthread.pthread_mutexattr_settype
- libc.src.pthread.pthread_once
- libc.src.pthread.pthread_rwlock_clockrdlock
- libc.src.pthread.pthread_rwlock_clockwrlock
- libc.src.pthread.pthread_rwlock_destroy
- libc.src.pthread.pthread_rwlock_init
- libc.src.pthread.pthread_rwlock_rdlock
- libc.src.pthread.pthread_rwlock_timedrdlock
- libc.src.pthread.pthread_rwlock_timedwrlock
- libc.src.pthread.pthread_rwlock_tryrdlock
- libc.src.pthread.pthread_rwlock_trywrlock
- libc.src.pthread.pthread_rwlock_unlock
- libc.src.pthread.pthread_rwlock_wrlock
- libc.src.pthread.pthread_rwlockattr_destroy
- libc.src.pthread.pthread_rwlockattr_getkind_np
- libc.src.pthread.pthread_rwlockattr_getpshared
- libc.src.pthread.pthread_rwlockattr_init
- libc.src.pthread.pthread_rwlockattr_setkind_np
- libc.src.pthread.pthread_rwlockattr_setpshared
- libc.src.pthread.pthread_spin_destroy
- libc.src.pthread.pthread_spin_init
- libc.src.pthread.pthread_spin_lock
- libc.src.pthread.pthread_spin_trylock
- libc.src.pthread.pthread_spin_unlock
- libc.src.pthread.pthread_self
- libc.src.pthread.pthread_setname_np
- libc.src.pthread.pthread_setschedparam
- libc.src.pthread.pthread_setspecific
-
- # sched.h entrypoints
- libc.src.sched.clone
- libc.src.sched.__sched_andcpuset
- libc.src.sched.__sched_clrcpuset
- libc.src.sched.__sched_cpualloc
- libc.src.sched.__sched_cpuequal
- libc.src.sched.__sched_cpufree
- libc.src.sched.__sched_getcpucount
- libc.src.sched.__sched_getcpuisset
- libc.src.sched.__sched_orcpuset
- libc.src.sched.__sched_setcpuset
- libc.src.sched.__sched_setcpuzero
- libc.src.sched.__sched_xorcpuset
-
- # semaphore.h entrypoints
- libc.src.semaphore.sem_clockwait
- libc.src.semaphore.sem_close
- libc.src.semaphore.sem_destroy
- libc.src.semaphore.sem_getvalue
- libc.src.semaphore.sem_init
- libc.src.semaphore.sem_open
- libc.src.semaphore.sem_post
- libc.src.semaphore.sem_timedwait
- libc.src.semaphore.sem_trywait
- libc.src.semaphore.sem_unlink
- libc.src.semaphore.sem_wait
-
- # setjmp.h entrypoints
- libc.src.setjmp.longjmp
- libc.src.setjmp.setjmp
- libc.src.setjmp.siglongjmp
- libc.src.setjmp.sigsetjmp
-
- # ucontext.h entrypoints
- libc.src.ucontext.getcontext
- libc.src.ucontext.setcontext
-
- # stdio.h entrypoints
- libc.src.stdio.clearerr
- libc.src.stdio.clearerr_unlocked
- libc.src.stdio.fclose
- libc.src.stdio.fdopen
- libc.src.stdio.feof
- libc.src.stdio.feof_unlocked
- libc.src.stdio.ferror
- libc.src.stdio.ferror_unlocked
- libc.src.stdio.fflush
- libc.src.stdio.fgetc
- libc.src.stdio.fgetc_unlocked
- libc.src.stdio.fgetpos
- libc.src.stdio.fgets
- libc.src.stdio.fileno
- libc.src.stdio.flockfile
- libc.src.stdio.fmemopen
- libc.src.stdio.fopen
- libc.src.stdio.freopen
- libc.src.stdio.fopencookie
- libc.src.stdio.fputc
- libc.src.stdio.fputs
- libc.src.stdio.fread
- libc.src.stdio.fread_unlocked
- libc.src.stdio.fseek
- libc.src.stdio.fseeko
- libc.src.stdio.fsetpos
- libc.src.stdio.ftell
- libc.src.stdio.ftello
- libc.src.stdio.funlockfile
- libc.src.stdio.fwrite
- libc.src.stdio.fwrite_unlocked
- libc.src.stdio.getc
- libc.src.stdio.getc_unlocked
- libc.src.stdio.getchar
- libc.src.stdio.getchar_unlocked
- libc.src.stdio.pclose
- libc.src.stdio.perror
- libc.src.stdio.popen
- libc.src.stdio.putc
- libc.src.stdio.putchar
- libc.src.stdio.puts
- libc.src.stdio.rewind
- libc.src.stdio.setbuf
- libc.src.stdio.setvbuf
- libc.src.stdio.stderr
- libc.src.stdio.stdin
- libc.src.stdio.stdout
- libc.src.stdio.ungetc
-
- # stdlib.h entrypoints
- libc.src.stdlib.__cxa_thread_atexit_impl
- libc.src.stdlib._Exit
- libc.src.stdlib.abort
- libc.src.stdlib.at_quick_exit
- libc.src.stdlib.atexit
- libc.src.stdlib.clearenv
- libc.src.stdlib.exit
- libc.src.stdlib.getenv
- libc.src.stdlib.putenv
- libc.src.stdlib.secure_getenv
- libc.src.stdlib.setenv
- libc.src.stdlib.unsetenv
- libc.src.stdlib.mbstowcs
- libc.src.stdlib.mbtowc
- libc.src.stdlib.mblen
- libc.src.stdlib.quick_exit
- libc.src.stdlib.system
- libc.src.stdlib.wcstombs
- libc.src.stdlib.wctomb
-
- # signal.h entrypoints
- libc.src.signal.kill
- libc.src.signal.pthread_kill
- libc.src.signal.pthread_sigmask
- libc.src.signal.raise
- libc.src.signal.sigaction
- libc.src.signal.sigaddset
- libc.src.signal.sigaltstack
- libc.src.signal.sigdelset
- libc.src.signal.sigemptyset
- libc.src.signal.sigfillset
- libc.src.signal.sigismember
- libc.src.signal.signal
- libc.src.signal.sigprocmask
-
- # spawn.h entrypoints
- libc.src.spawn.posix_spawn
- libc.src.spawn.posix_spawn_file_actions_addclose
- libc.src.spawn.posix_spawn_file_actions_adddup2
- libc.src.spawn.posix_spawn_file_actions_addopen
- libc.src.spawn.posix_spawn_file_actions_destroy
- libc.src.spawn.posix_spawn_file_actions_init
-
- # search.h entrypoints
- libc.src.search.hcreate
- libc.src.search.hcreate_r
- libc.src.search.hdestroy
- libc.src.search.hdestroy_r
- libc.src.search.hsearch
- libc.src.search.hsearch_r
- libc.src.search.insque
- libc.src.search.lfind
- libc.src.search.lsearch
- libc.src.search.remque
- libc.src.search.tdelete
- libc.src.search.tdestroy
- libc.src.search.tfind
- libc.src.search.tsearch
- libc.src.search.twalk
- libc.src.search.twalk_r
-
- # threads.h entrypoints
- libc.src.threads.call_once
- libc.src.threads.cnd_broadcast
- libc.src.threads.cnd_destroy
- libc.src.threads.cnd_init
- libc.src.threads.cnd_signal
- libc.src.threads.cnd_timedwait
- libc.src.threads.cnd_wait
- libc.src.threads.mtx_destroy
- libc.src.threads.mtx_init
- libc.src.threads.mtx_lock
- libc.src.threads.mtx_trylock
- libc.src.threads.mtx_unlock
- libc.src.threads.thrd_create
- libc.src.threads.thrd_current
- libc.src.threads.thrd_detach
- libc.src.threads.thrd_equal
- libc.src.threads.thrd_exit
- libc.src.threads.thrd_join
- libc.src.threads.tss_create
- libc.src.threads.tss_delete
- libc.src.threads.tss_get
- libc.src.threads.tss_set
-
- # time.h entrypoints
- libc.src.time.asctime
- libc.src.time.asctime_r
- libc.src.time.ctime
- libc.src.time.ctime_r
- libc.src.time.clock
- libc.src.time.clock_getcpuclockid
- libc.src.time.clock_getres
- libc.src.time.clock_gettime
- libc.src.time.clock_settime
- libc.src.time.difftime
- libc.src.time.gmtime
- libc.src.time.gmtime_r
- libc.src.time.localtime
- libc.src.time.localtime_r
- libc.src.time.mktime
- libc.src.time.nanosleep
- libc.src.time.strftime
- libc.src.time.strftime_l
- libc.src.time.time
- libc.src.time.timespec_get
- libc.src.time.timer_create
- libc.src.time.timer_delete
- libc.src.time.timer_getoverrun
- libc.src.time.timer_gettime
- libc.src.time.timer_settime
-
- # locale.h entrypoints
- libc.src.locale.localeconv
- libc.src.locale.duplocale
- libc.src.locale.freelocale
- libc.src.locale.localeconv
- libc.src.locale.newlocale
- libc.src.locale.setlocale
- libc.src.locale.uselocale
-
- # unistd.h entrypoints
- libc.src.unistd.__llvm_libc_syscall
- libc.src.unistd._exit
- libc.src.unistd.confstr
- libc.src.unistd.environ
- libc.src.unistd.execl
- libc.src.unistd.execlp
- libc.src.unistd.execv
- libc.src.unistd.execvp
- libc.src.unistd.execvpe
- libc.src.unistd.fork
- libc.src.unistd.getopt
- libc.src.unistd.optarg
- libc.src.unistd.opterr
- libc.src.unistd.optind
- libc.src.unistd.optopt
- libc.src.unistd.swab
- libc.src.unistd.sysconf
-
- # sys/select.h entrypoints
- libc.src.sys.select.pselect
- libc.src.sys.select.select
-
- # wchar.h entrypoints
- libc.src.wchar.mbrlen
- libc.src.wchar.mbsinit
- libc.src.wchar.mbrtowc
- libc.src.wchar.mbsrtowcs
- libc.src.wchar.mbsnrtowcs
- libc.src.wchar.wcrtomb
- libc.src.wchar.wcsrtombs
- libc.src.wchar.wcsnrtombs
- libc.src.wchar.fgetwc
- libc.src.wchar.fgetws
- libc.src.wchar.fputwc
- libc.src.wchar.fputws
- libc.src.wchar.fwide
- libc.src.wchar.getwc
- libc.src.wchar.getwchar
- libc.src.wchar.putwc
- libc.src.wchar.putwchar
- libc.src.wchar.ungetwc
-
- # nl_types.h entrypoints
- libc.src.nl_types.catopen
- libc.src.nl_types.catclose
- libc.src.nl_types.catgets
-
- # link.h entrypoints
- libc.src.link._r_debug
- libc.src.link.dl_iterate_phdr
- )
-endif()
-
-if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
- if(LLVM_LIBC_FULL_BUILD)
- list(APPEND TARGET_LIBC_ENTRYPOINTS
- # fnmatch.h entrypoints
- libc.src.fnmatch.fnmatch
-
- # glob.h entrypoints
- libc.src.glob.glob
- libc.src.glob.globfree
-
- # grp.h entrypoints
- libc.src.grp.initgroups
- libc.src.grp.setgroups
-
- # libintl.h entrypoints
- libc.src.libintl.bind_textdomain_codeset
- libc.src.libintl.bindtextdomain
- libc.src.libintl.dcgettext
- libc.src.libintl.dcgettext_l
- libc.src.libintl.dcngettext
- libc.src.libintl.dcngettext_l
- libc.src.libintl.dgettext
- libc.src.libintl.dgettext_l
- libc.src.libintl.dngettext
- libc.src.libintl.dngettext_l
- libc.src.libintl.gettext
- libc.src.libintl.gettext_l
- libc.src.libintl.ngettext
- libc.src.libintl.ngettext_l
- libc.src.libintl.textdomain
-
- # net/if.h entrypoints
- libc.src.net.if_freenameindex
- libc.src.net.if_nameindex
-
- # netdb.h entrypoints
- libc.src.netdb.freeaddrinfo
- libc.src.netdb.gai_strerror
- libc.src.netdb.getaddrinfo
-
- # regex.h entrypoints
- libc.src.regex.regcomp
- libc.src.regex.regexec
- libc.src.regex.regerror
- libc.src.regex.regfree
-
- # sys/ptrace.h entrypoints
- libc.src.sys.ptrace.ptrace
-
- # time.h entrypoints
- libc.src.time.strptime
- libc.src.time.tz_variables
- libc.src.time.tzset
-
- # unistd.h entrypoints
- libc.src.unistd.setegid
- libc.src.unistd.seteuid
- libc.src.unistd.setgid
- libc.src.unistd.setregid
- libc.src.unistd.setresgid
- libc.src.unistd.setresuid
- libc.src.unistd.setreuid
- libc.src.unistd.setuid
-
- # wchar.h entrypoints
- libc.src.wchar.swprintf
- )
- endif()
-endif()
-
-set(TARGET_LIBMVEC_ENTRYPOINTS)
-
-if(LIBC_COMPILER_HAS_EXT_VECTOR_TYPE)
-list(APPEND TARGET_LIBMVEC_ENTRYPOINTS
- libc.src.mathvec.acosf
- libc.src.mathvec.acoshf
- libc.src.mathvec.acospif
- libc.src.mathvec.asinf
- libc.src.mathvec.asinhf
- libc.src.mathvec.asinpif
- libc.src.mathvec.atanf
- libc.src.mathvec.atanhf
- libc.src.mathvec.cbrtf
- libc.src.mathvec.cosf
- libc.src.mathvec.coshf
- libc.src.mathvec.cospif
- libc.src.mathvec.erff
- libc.src.mathvec.exp2f
- libc.src.mathvec.exp2m1f
- libc.src.mathvec.exp10f
- libc.src.mathvec.exp10m1f
- libc.src.mathvec.expf
- libc.src.mathvec.expm1f
- libc.src.mathvec.log10f
- libc.src.mathvec.log1pf
- libc.src.mathvec.log2f
- libc.src.mathvec.logf
- libc.src.mathvec.rsqrtf
- libc.src.mathvec.sinf
- libc.src.mathvec.sinhf
- libc.src.mathvec.sinpif
- libc.src.mathvec.sqrtf
- libc.src.mathvec.tanf
- libc.src.mathvec.tanhf
- libc.src.mathvec.tanpif
- )
-endif()
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
- ${TARGET_LIBMVEC_ENTRYPOINTS}
-)
+set(TARGET_LIBC_ENTRYPOINTS
+ # arpa/inet.h entrypoints
+ libc.src.arpa.inet.htonl
+ libc.src.arpa.inet.htons
+ libc.src.arpa.inet.inet_addr
+ libc.src.arpa.inet.inet_aton
+ libc.src.arpa.inet.inet_ntoa
+ libc.src.arpa.inet.inet_ntop
+ libc.src.arpa.inet.inet_pton
+ libc.src.arpa.inet.ntohl
+ libc.src.arpa.inet.ntohs
+
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # dlfcn.h entrypoints
+ libc.src.dlfcn.dladdr
+ libc.src.dlfcn.dlclose
+ libc.src.dlfcn.dlerror
+ libc.src.dlfcn.dlopen
+ libc.src.dlfcn.dlsym
+
+ # err.h entrypoints
+ libc.src.err.err
+ libc.src.err.verr
+ libc.src.err.errx
+ libc.src.err.verrx
+ libc.src.err.warn
+ libc.src.err.vwarn
+ libc.src.err.warnx
+ libc.src.err.vwarnx
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # fcntl.h entrypoints
+ libc.src.fcntl.creat
+ libc.src.fcntl.fallocate
+ libc.src.fcntl.fcntl
+ libc.src.fcntl.open
+ libc.src.fcntl.openat
+ libc.src.fcntl.posix_fadvise
+ libc.src.fcntl.posix_fadvise64
+ libc.src.fcntl.posix_fallocate
+
+ # grp.h entrypoints
+ libc.src.grp.endgrent
+ libc.src.grp.getgrent
+ libc.src.grp.getgrgid
+ libc.src.grp.getgrgid_r
+ libc.src.grp.getgrouplist
+ libc.src.grp.getgrnam
+ libc.src.grp.getgrnam_r
+ libc.src.grp.setgrent
+
+ # net/if.h entrypoints
+ libc.src.net.if_indextoname
+ libc.src.net.if_nametoindex
+
+ # netinet/ether.h entrypoints
+ libc.src.netinet.ether.ether_ntoa
+ libc.src.netinet.ether.ether_ntoa_r
+
+ # netinet/in.h entrypoints
+ libc.src.netinet.in6addr_any
+ libc.src.netinet.in6addr_loopback
+
+ # poll.h entrypoints
+ libc.src.poll.poll
+ libc.src.poll.ppoll
+
+ # pwd.h entrypoints
+ libc.src.pwd.endpwent
+ libc.src.pwd.getpwent
+ libc.src.pwd.getpwent_r
+ libc.src.pwd.getpwnam
+ libc.src.pwd.getpwnam_r
+ libc.src.pwd.getpwuid
+ libc.src.pwd.getpwuid_r
+ libc.src.pwd.setpwent
+
+ # sched.h entrypoints
+ libc.src.sched.getcpu
+ libc.src.sched.sched_get_priority_max
+ libc.src.sched.sched_get_priority_min
+ libc.src.sched.sched_getaffinity
+ libc.src.sched.sched_getcpu
+ libc.src.sched.sched_getparam
+ libc.src.sched.sched_getscheduler
+ libc.src.sched.sched_rr_get_interval
+ libc.src.sched.sched_setaffinity
+ libc.src.sched.sched_setparam
+ libc.src.sched.sched_setscheduler
+ libc.src.sched.sched_yield
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.memset_explicit
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcoll
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strdup
+ libc.src.string.strerror
+ libc.src.string.strerror_r
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strndup
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strsep
+ libc.src.string.strsignal
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+ libc.src.string.strxfrm
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.ffs
+ libc.src.strings.ffsl
+ libc.src.strings.ffsll
+ libc.src.strings.index
+ libc.src.strings.rindex
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+ libc.src.inttypes.wcstoimax
+ libc.src.inttypes.wcstoumax
+
+ # libgen.h entrypoints
+ libc.src.libgen.basename
+ libc.src.libgen.dirname
+
+ # stdbit.h entrypoints
+ libc.src.stdbit.stdc_bit_ceil_uc
+ libc.src.stdbit.stdc_bit_ceil_ui
+ libc.src.stdbit.stdc_bit_ceil_ul
+ libc.src.stdbit.stdc_bit_ceil_ull
+ libc.src.stdbit.stdc_bit_ceil_us
+ libc.src.stdbit.stdc_bit_floor_uc
+ libc.src.stdbit.stdc_bit_floor_ui
+ libc.src.stdbit.stdc_bit_floor_ul
+ libc.src.stdbit.stdc_bit_floor_ull
+ libc.src.stdbit.stdc_bit_floor_us
+ libc.src.stdbit.stdc_bit_width_uc
+ libc.src.stdbit.stdc_bit_width_ui
+ libc.src.stdbit.stdc_bit_width_ul
+ libc.src.stdbit.stdc_bit_width_ull
+ libc.src.stdbit.stdc_bit_width_us
+ libc.src.stdbit.stdc_count_ones_uc
+ libc.src.stdbit.stdc_count_ones_ui
+ libc.src.stdbit.stdc_count_ones_ul
+ libc.src.stdbit.stdc_count_ones_ull
+ libc.src.stdbit.stdc_count_ones_us
+ libc.src.stdbit.stdc_count_zeros_uc
+ libc.src.stdbit.stdc_count_zeros_ui
+ libc.src.stdbit.stdc_count_zeros_ul
+ libc.src.stdbit.stdc_count_zeros_ull
+ libc.src.stdbit.stdc_count_zeros_us
+ libc.src.stdbit.stdc_first_leading_one_uc
+ libc.src.stdbit.stdc_first_leading_one_ui
+ libc.src.stdbit.stdc_first_leading_one_ul
+ libc.src.stdbit.stdc_first_leading_one_ull
+ libc.src.stdbit.stdc_first_leading_one_us
+ libc.src.stdbit.stdc_first_leading_zero_uc
+ libc.src.stdbit.stdc_first_leading_zero_ui
+ libc.src.stdbit.stdc_first_leading_zero_ul
+ libc.src.stdbit.stdc_first_leading_zero_ull
+ libc.src.stdbit.stdc_first_leading_zero_us
+ libc.src.stdbit.stdc_first_trailing_one_uc
+ libc.src.stdbit.stdc_first_trailing_one_ui
+ libc.src.stdbit.stdc_first_trailing_one_ul
+ libc.src.stdbit.stdc_first_trailing_one_ull
+ libc.src.stdbit.stdc_first_trailing_one_us
+ libc.src.stdbit.stdc_first_trailing_zero_uc
+ libc.src.stdbit.stdc_first_trailing_zero_ui
+ libc.src.stdbit.stdc_first_trailing_zero_ul
+ libc.src.stdbit.stdc_first_trailing_zero_ull
+ libc.src.stdbit.stdc_first_trailing_zero_us
+ libc.src.stdbit.stdc_has_single_bit_uc
+ libc.src.stdbit.stdc_has_single_bit_ui
+ libc.src.stdbit.stdc_has_single_bit_ul
+ libc.src.stdbit.stdc_has_single_bit_ull
+ libc.src.stdbit.stdc_has_single_bit_us
+ libc.src.stdbit.stdc_leading_ones_uc
+ libc.src.stdbit.stdc_leading_ones_ui
+ libc.src.stdbit.stdc_leading_ones_ul
+ libc.src.stdbit.stdc_leading_ones_ull
+ libc.src.stdbit.stdc_leading_ones_us
+ libc.src.stdbit.stdc_leading_zeros_uc
+ libc.src.stdbit.stdc_leading_zeros_ui
+ libc.src.stdbit.stdc_leading_zeros_ul
+ libc.src.stdbit.stdc_leading_zeros_ull
+ libc.src.stdbit.stdc_leading_zeros_us
+ libc.src.stdbit.stdc_trailing_ones_uc
+ libc.src.stdbit.stdc_trailing_ones_ui
+ libc.src.stdbit.stdc_trailing_ones_ul
+ libc.src.stdbit.stdc_trailing_ones_ull
+ libc.src.stdbit.stdc_trailing_ones_us
+ libc.src.stdbit.stdc_trailing_zeros_uc
+ libc.src.stdbit.stdc_trailing_zeros_ui
+ libc.src.stdbit.stdc_trailing_zeros_ul
+ libc.src.stdbit.stdc_trailing_zeros_ull
+ libc.src.stdbit.stdc_trailing_zeros_us
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.a64l
+ libc.src.stdlib.abs
+ libc.src.stdlib.atof
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.getloadavg
+ libc.src.stdlib.l64a
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.mkdtemp
+ libc.src.stdlib.mkostemp
+ libc.src.stdlib.mkstemp
+ libc.src.stdlib.qsort
+ libc.src.stdlib.qsort_r
+ libc.src.stdlib.rand
+ libc.src.stdlib.realpath
+ libc.src.stdlib.srand
+ libc.src.stdlib.strfromd
+ libc.src.stdlib.strfromf
+ libc.src.stdlib.strfromf128
+ libc.src.stdlib.strfroml
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.free
+ libc.src.stdlib.malloc
+ libc.src.stdlib.posix_memalign
+ libc.src.stdlib.realloc
+
+ # stdio.h entrypoints
+ libc.src.stdio.fprintf
+ libc.src.stdio.fscanf
+ libc.src.stdio.vfscanf
+ libc.src.stdio.printf
+ libc.src.stdio.remove
+ libc.src.stdio.rename
+ libc.src.stdio.renameat
+ libc.src.stdio.scanf
+ libc.src.stdio.vscanf
+ libc.src.stdio.snprintf
+ libc.src.stdio.sprintf
+ libc.src.stdio.asprintf
+ libc.src.stdio.sscanf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.tmpfile
+ libc.src.stdio.tmpnam
+ libc.src.stdio.vsscanf
+ libc.src.stdio.vfprintf
+ libc.src.stdio.vprintf
+ libc.src.stdio.vsnprintf
+ libc.src.stdio.vsprintf
+ libc.src.stdio.vasprintf
+
+ # sys/epoll.h entrypoints
+ libc.src.sys.epoll.epoll_create
+ libc.src.sys.epoll.epoll_create1
+ libc.src.sys.epoll.epoll_ctl
+ libc.src.sys.epoll.epoll_pwait
+ libc.src.sys.epoll.epoll_wait
+ # TODO: Need to check if pwait2 is available before providing.
+ # https://github.com/llvm/llvm-project/issues/80060
+ # libc.src.sys.epoll.epoll_pwait2
+
+ # sys/eventfd.h entrypoints
+ libc.src.sys.eventfd.eventfd
+
+ # sys/file.h entrypoints
+ libc.src.sys.file.flock
+
+ # sys/ioctl.h entrypoints
+ libc.src.sys.ioctl.ioctl
+
+ # sys/ipc.h entrypoints
+ libc.src.sys.ipc.ftok
+
+ # sys/mman.h entrypoints
+ libc.src.sys.mman.madvise
+ libc.src.sys.mman.memfd_create
+ libc.src.sys.mman.mincore
+ libc.src.sys.mman.mlock
+ libc.src.sys.mman.mlock2
+ libc.src.sys.mman.mlockall
+ libc.src.sys.mman.mmap
+ libc.src.sys.mman.mremap
+ libc.src.sys.mman.mprotect
+ libc.src.sys.mman.msync
+ libc.src.sys.mman.munlock
+ libc.src.sys.mman.munlockall
+ libc.src.sys.mman.munmap
+ libc.src.sys.mman.pkey_alloc
+ libc.src.sys.mman.pkey_free
+ libc.src.sys.mman.pkey_get
+ libc.src.sys.mman.pkey_mprotect
+ libc.src.sys.mman.pkey_set
+ libc.src.sys.mman.remap_file_pages
+ libc.src.sys.mman.posix_madvise
+ libc.src.sys.mman.shm_open
+ libc.src.sys.mman.shm_unlink
+
+ # sys/random.h entrypoints
+ libc.src.sys.random.getrandom
+ libc.src.sys.random.getentropy
+
+ # sys/resource.h entrypoints
+ libc.src.sys.resource.getpriority
+ libc.src.sys.resource.getrlimit
+ libc.src.sys.resource.getrusage
+ libc.src.sys.resource.setpriority
+ libc.src.sys.resource.setrlimit
+
+ # sys/sem.h entrypoints
+ libc.src.sys.sem.semget
+ libc.src.sys.sem.semctl
+ libc.src.sys.sem.semop
+
+ # sys/sendfile.h entrypoints
+ libc.src.sys.sendfile.sendfile
+
+ # sys/socket.h entrypoints
+ libc.src.sys.socket.accept
+ libc.src.sys.socket.accept4
+ libc.src.sys.socket.bind
+ libc.src.sys.socket.connect
+ libc.src.sys.socket.getpeername
+ libc.src.sys.socket.getsockname
+ libc.src.sys.socket.getsockopt
+ libc.src.sys.socket.listen
+ libc.src.sys.socket.recv
+ libc.src.sys.socket.recvfrom
+ libc.src.sys.socket.send
+ libc.src.sys.socket.sendto
+ libc.src.sys.socket.setsockopt
+ libc.src.sys.socket.shutdown
+ libc.src.sys.socket.sockatmark
+ libc.src.sys.socket.socket
+ libc.src.sys.socket.socketpair
+ # TODO: These functions are not compatible with 64-bit musl. They need to
+ # be excluded if overlaying musl.
+ libc.src.sys.socket.recvmmsg
+ libc.src.sys.socket.recvmsg
+ libc.src.sys.socket.sendmmsg
+ libc.src.sys.socket.sendmsg
+
+ # sys/stat.h entrypoints
+ libc.src.sys.stat.chmod
+ libc.src.sys.stat.fchmod
+ libc.src.sys.stat.fchmodat
+ libc.src.sys.stat.fstat
+ libc.src.sys.stat.fstatat
+ libc.src.sys.stat.futimens
+ libc.src.sys.stat.lstat
+ libc.src.sys.stat.mkdir
+ libc.src.sys.stat.mkdirat
+ libc.src.sys.stat.mkfifo
+ libc.src.sys.stat.mkfifoat
+ libc.src.sys.stat.mknod
+ libc.src.sys.stat.mknodat
+ libc.src.sys.stat.stat
+ libc.src.sys.stat.umask
+ libc.src.sys.stat.utimensat
+
+ # sys/statfs.h entrypoints
+ libc.src.sys.statfs.fstatfs
+ libc.src.sys.statfs.statfs
+
+ # sys/statvfs.h entrypoints
+ libc.src.sys.statvfs.fstatvfs
+ libc.src.sys.statvfs.statvfs
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.utimes
+
+ # sys/sysinfo.h entrypoints
+ libc.src.sys.sysinfo.sysinfo
+
+ # sys/utsname.h entrypoints
+ libc.src.sys.utsname.uname
+
+ # sys/wait.h entrypoints
+ libc.src.sys.wait.wait
+ libc.src.sys.wait.wait4
+ libc.src.sys.wait.waitid
+ libc.src.sys.wait.waitpid
+
+ # sys/xattr.h entrypoints
+ libc.src.sys.xattr.fgetxattr
+ libc.src.sys.xattr.flistxattr
+ libc.src.sys.xattr.fsetxattr
+ libc.src.sys.xattr.getxattr
+ libc.src.sys.xattr.lgetxattr
+ libc.src.sys.xattr.listxattr
+ libc.src.sys.xattr.llistxattr
+ libc.src.sys.xattr.lsetxattr
+ libc.src.sys.xattr.setxattr
+
+ # sys/prctl.h entrypoints
+ libc.src.sys.prctl.prctl
+
+ # sys/personality.h entrypoints
+ libc.src.sys.personality.personality
+
+ # sys/auxv.h entrypoints
+ libc.src.sys.auxv.getauxval
+
+ # sys/sysmacros.h entrypoints
+ libc.src.sys.sysmacros.makedev
+ libc.src.sys.sysmacros.major
+ libc.src.sys.sysmacros.minor
+
+ # sys/inotify.h entrypoints
+ libc.src.sys.inotify.inotify_add_watch
+ libc.src.sys.inotify.inotify_init
+ libc.src.sys.inotify.inotify_init1
+ libc.src.sys.inotify.inotify_rm_watch
+
+ # termios.h entrypoints
+ libc.src.termios.cfgetispeed
+ libc.src.termios.cfgetospeed
+ libc.src.termios.cfsetispeed
+ libc.src.termios.cfsetospeed
+ libc.src.termios.tcdrain
+ libc.src.termios.tcflow
+ libc.src.termios.tcflush
+ libc.src.termios.tcgetattr
+ libc.src.termios.tcgetsid
+ libc.src.termios.tcgetwinsize
+ libc.src.termios.tcsendbreak
+ libc.src.termios.tcsetattr
+ libc.src.termios.tcsetwinsize
+
+ # unistd.h entrypoints
+ libc.src.unistd.alarm
+ libc.src.unistd.access
+ libc.src.unistd.chdir
+ libc.src.unistd.chown
+ libc.src.unistd.chroot
+ libc.src.unistd.close
+ libc.src.unistd.dup
+ libc.src.unistd.dup2
+ libc.src.unistd.dup3
+ libc.src.unistd.execle
+ libc.src.unistd.execve
+ libc.src.unistd.faccessat
+ libc.src.unistd.fchdir
+ libc.src.unistd.fchown
+ libc.src.unistd.fchownat
+ libc.src.unistd.fdatasync
+ libc.src.unistd.fexecve
+ libc.src.unistd.fpathconf
+ libc.src.unistd.fsync
+ libc.src.unistd.ftruncate
+ libc.src.unistd.getcwd
+ libc.src.unistd.getegid
+ libc.src.unistd.getentropy
+ libc.src.unistd.geteuid
+ libc.src.unistd.gethostname
+ libc.src.unistd.getpagesize
+ libc.src.unistd.getpgid
+ libc.src.unistd.getpgrp
+ libc.src.unistd.getpid
+ libc.src.unistd.getppid
+ libc.src.unistd.getsid
+ libc.src.unistd.gettid
+ libc.src.unistd.getgid
+ libc.src.unistd.getuid
+ libc.src.unistd.isatty
+ libc.src.unistd.lchown
+ libc.src.unistd.link
+ libc.src.unistd.linkat
+ libc.src.unistd.lockf
+ libc.src.unistd.lseek
+ libc.src.unistd.nice
+ libc.src.unistd.pathconf
+ libc.src.unistd.pause
+ libc.src.unistd.pipe
+ libc.src.unistd.pipe2
+ libc.src.unistd.pread
+ libc.src.unistd.pwrite
+ libc.src.unistd.read
+ libc.src.unistd.readlink
+ libc.src.unistd.readlinkat
+ libc.src.unistd.rmdir
+ libc.src.unistd.setpgid
+ libc.src.unistd.setsid
+ libc.src.unistd.sleep
+ libc.src.unistd.symlink
+ libc.src.unistd.symlinkat
+ libc.src.unistd.sync
+ libc.src.unistd.syncfs
+ libc.src.unistd.tcgetpgrp
+ libc.src.unistd.tcsetpgrp
+ libc.src.unistd.truncate
+ libc.src.unistd.unlink
+ libc.src.unistd.unlinkat
+ libc.src.unistd.usleep
+ libc.src.unistd.write
+
+ # wchar.h entrypoints
+ libc.src.wchar.btowc
+ libc.src.wchar.wcscasecmp
+ libc.src.wchar.wcsncasecmp
+ libc.src.wchar.wcslen
+ libc.src.wchar.wcsnlen
+ libc.src.wchar.wctob
+ libc.src.wchar.wmemmove
+ libc.src.wchar.wmemset
+ libc.src.wchar.wcschr
+ libc.src.wchar.wcsncmp
+ libc.src.wchar.wcsxfrm
+ libc.src.wchar.wcscmp
+ libc.src.wchar.wcscoll
+ libc.src.wchar.wcspbrk
+ libc.src.wchar.wcsrchr
+ libc.src.wchar.wcsspn
+ libc.src.wchar.wcscspn
+ libc.src.wchar.wcsdup
+ libc.src.wchar.wmemcmp
+ libc.src.wchar.wmempcpy
+ libc.src.wchar.wmemcpy
+ libc.src.wchar.wcsncpy
+ libc.src.wchar.wcscat
+ libc.src.wchar.wcsstr
+ libc.src.wchar.wcsncat
+ libc.src.wchar.wcslcat
+ libc.src.wchar.wcscpy
+ libc.src.wchar.wcslcpy
+ libc.src.wchar.wmemchr
+ libc.src.wchar.wcpcpy
+ libc.src.wchar.wcpncpy
+ libc.src.wchar.wcstod
+ libc.src.wchar.wcstof
+ libc.src.wchar.wcstok
+ libc.src.wchar.wcstol
+ libc.src.wchar.wcstold
+ libc.src.wchar.wcstoll
+ libc.src.wchar.wcstoul
+ libc.src.wchar.wcstoull
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+ libc.src.wctype.towlower
+ libc.src.wctype.towupper
+
+ # sys/uio.h entrypoints
+ libc.src.sys.uio.writev
+ libc.src.sys.uio.readv
+
+ # sys/time.h entrypoints
+ libc.src.sys.time.setitimer
+ libc.src.sys.time.getitimer
+ libc.src.sys.time.gettimeofday
+)
+
+if(LLVM_LIBC_INCLUDE_SCUDO)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # malloc.h external entrypoints
+ libc.src.stdlib.mallopt
+ )
+endif()
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # complex.h entrypoints
+ libc.src.complex.cabs
+ libc.src.complex.cabsf
+ libc.src.complex.carg
+ libc.src.complex.cargf
+ libc.src.complex.creal
+ libc.src.complex.crealf
+ libc.src.complex.creall
+ libc.src.complex.cimag
+ libc.src.complex.cimagf
+ libc.src.complex.cimagl
+ libc.src.complex.conj
+ libc.src.complex.conjf
+ libc.src.complex.conjl
+ libc.src.complex.cproj
+ libc.src.complex.cprojf
+ libc.src.complex.cprojl
+
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.canonicalize
+ libc.src.math.canonicalizef
+ libc.src.math.canonicalizel
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.cospif
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dmull
+ libc.src.math.dsqrtl
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp10m1f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.exp2m1f
+ libc.src.math.expf
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fadd
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaximum
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaxl
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminl
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.fmul
+ libc.src.math.fmull
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fromfp
+ libc.src.math.fromfpf
+ libc.src.math.fromfpl
+ libc.src.math.fromfpx
+ libc.src.math.fromfpxf
+ libc.src.math.fromfpxl
+ libc.src.math.fsqrt
+ libc.src.math.fsqrtl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.getpayload
+ libc.src.math.getpayloadf
+ libc.src.math.getpayloadl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonical
+ libc.src.math.iscanonicalf
+ libc.src.math.iscanonicalf128
+ libc.src.math.iscanonicall
+ libc.src.math.isnan
+ libc.src.math.isnanf
+ libc.src.math.isnanf128
+ libc.src.math.isnanl
+ libc.src.math.issignaling
+ libc.src.math.issignalingf
+ libc.src.math.issignalingf128
+ libc.src.math.issignalingl
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llogb
+ libc.src.math.llogbf
+ libc.src.math.llogbl
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.logf
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nextdown
+ libc.src.math.nextdownf
+ libc.src.math.nextdownl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.nextup
+ libc.src.math.nextupf
+ libc.src.math.nextupl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainder
+ libc.src.math.remainderf
+ libc.src.math.remainderl
+ libc.src.math.remquo
+ libc.src.math.remquof
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundeven
+ libc.src.math.roundevenf
+ libc.src.math.roundevenf128
+ libc.src.math.roundevenl
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.setpayload
+ libc.src.math.setpayloadf
+ libc.src.math.setpayloadl
+ libc.src.math.setpayloadsig
+ libc.src.math.setpayloadsigf
+ libc.src.math.setpayloadsigl
+ libc.src.math.sin
+ libc.src.math.sincos
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sinpif
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.totalorder
+ libc.src.math.totalorderf
+ libc.src.math.totalorderl
+ libc.src.math.totalordermag
+ libc.src.math.totalordermagf
+ libc.src.math.totalordermagl
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+ libc.src.math.ufromfp
+ libc.src.math.ufromfpf
+ libc.src.math.ufromfpl
+ libc.src.math.ufromfpx
+ libc.src.math.ufromfpxf
+ libc.src.math.ufromfpxl
+)
+
+if(LIBC_TYPES_HAS_CFLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float16 entrypoints
+ libc.src.complex.crealf16
+ libc.src.complex.cimagf16
+ libc.src.complex.conjf16
+ libc.src.complex.cprojf16
+ )
+endif()
+
+if(LIBC_TYPES_HAS_FLOAT16)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float16 entrypoints
+ libc.src.math.acosf16
+ libc.src.math.acoshf16
+ libc.src.math.acospif16
+ libc.src.math.asinf16
+ libc.src.math.asinhf16
+ libc.src.math.asinpif16
+ libc.src.math.atanf16
+ libc.src.math.atan2f16
+ libc.src.math.atanhf16
+ libc.src.math.atanpif16
+ libc.src.math.canonicalizef16
+ libc.src.math.cbrtf16
+ libc.src.math.ceilf16
+ libc.src.math.copysignf16
+ libc.src.math.cosf16
+ libc.src.math.coshf16
+ libc.src.math.cospif16
+ libc.src.math.erff16
+ libc.src.math.erfcf16
+ libc.src.math.exp10f16
+ libc.src.math.exp10m1f16
+ libc.src.math.exp2f16
+ libc.src.math.exp2m1f16
+ libc.src.math.expf16
+ libc.src.math.expm1f16
+ libc.src.math.f16add
+ libc.src.math.f16addf
+ libc.src.math.f16addl
+ libc.src.math.f16div
+ libc.src.math.f16divf
+ libc.src.math.f16divl
+ libc.src.math.f16fma
+ libc.src.math.f16fmaf
+ libc.src.math.f16fmal
+ libc.src.math.f16mul
+ libc.src.math.f16mulf
+ libc.src.math.f16mull
+ libc.src.math.f16sqrt
+ libc.src.math.f16sqrtf
+ libc.src.math.f16sqrtl
+ libc.src.math.f16sub
+ libc.src.math.f16subf
+ libc.src.math.f16subl
+ libc.src.math.fabsf16
+ libc.src.math.fdimf16
+ libc.src.math.floorf16
+ libc.src.math.fmaf16
+ libc.src.math.fmaxf16
+ libc.src.math.fmaximum_mag_numf16
+ libc.src.math.fmaximum_magf16
+ libc.src.math.fmaximum_numf16
+ libc.src.math.fmaximumf16
+ libc.src.math.fminf16
+ libc.src.math.fminimum_mag_numf16
+ libc.src.math.fminimum_magf16
+ libc.src.math.fminimum_numf16
+ libc.src.math.fminimumf16
+ libc.src.math.fmodf16
+ libc.src.math.frexpf16
+ libc.src.math.fromfpf16
+ libc.src.math.fromfpxf16
+ libc.src.math.getpayloadf16
+ libc.src.math.hypotf16
+ libc.src.math.ilogbf16
+ libc.src.math.iscanonicalf16
+ libc.src.math.isnanf16
+ libc.src.math.issignalingf16
+ libc.src.math.ldexpf16
+ libc.src.math.lgammaf16
+ libc.src.math.llogbf16
+ libc.src.math.llrintf16
+ libc.src.math.llroundf16
+ libc.src.math.log10f16
+ libc.src.math.log10p1f16
+ libc.src.math.log2f16
+ libc.src.math.log2p1f16
+ libc.src.math.logbf16
+ libc.src.math.logf16
+ libc.src.math.lrintf16
+ libc.src.math.lroundf16
+ libc.src.math.modff16
+ libc.src.math.nanf16
+ libc.src.math.nearbyintf16
+ libc.src.math.nextafterf16
+ libc.src.math.nextdownf16
+ libc.src.math.nexttowardf16
+ libc.src.math.nextupf16
+ libc.src.math.remainderf16
+ libc.src.math.remquof16
+ libc.src.math.rintf16
+ libc.src.math.roundevenf16
+ libc.src.math.roundf16
+ libc.src.math.rsqrtf
+ libc.src.math.rsqrtf16
+ libc.src.math.scalblnf16
+ libc.src.math.scalbnf16
+ libc.src.math.setpayloadf16
+ libc.src.math.setpayloadsigf16
+ libc.src.math.sinf16
+ libc.src.math.sinhf16
+ libc.src.math.sinpif16
+ libc.src.math.sqrtf16
+ libc.src.math.tanf16
+ libc.src.math.tanhf16
+ libc.src.math.tanpif16
+ libc.src.math.totalorderf16
+ libc.src.math.totalordermagf16
+ libc.src.math.truncf16
+ libc.src.math.ufromfpf16
+ libc.src.math.ufromfpxf16
+ )
+
+ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 mixed _Float16 and _Float128 entrypoints
+ libc.src.math.f16addf128
+ libc.src.math.f16divf128
+ libc.src.math.f16fmaf128
+ libc.src.math.f16mulf128
+ libc.src.math.f16sqrtf128
+ libc.src.math.f16subf128
+ )
+ endif()
+endif()
+
+if(LIBC_TYPES_HAS_CFLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # complex.h C23 _Complex _Float128 entrypoints
+ libc.src.complex.crealf128
+ libc.src.complex.cimagf128
+ libc.src.complex.conjf128
+ libc.src.complex.cprojf128
+ )
+endif()
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C23 _Float128 entrypoints
+ libc.src.math.atan2l
+ libc.src.math.canonicalizef128
+ libc.src.math.daddf128
+ libc.src.math.ddivf128
+ libc.src.math.dfmaf128
+ libc.src.math.dmulf128
+ libc.src.math.dsqrtf128
+ libc.src.math.dsubf128
+ libc.src.math.faddf128
+ libc.src.math.fdivf128
+ libc.src.math.ffmaf128
+ libc.src.math.fmodf128
+ libc.src.math.fmulf128
+ libc.src.math.frexpf128
+ libc.src.math.fromfpf128
+ libc.src.math.fromfpxf128
+ libc.src.math.fsqrtf128
+ libc.src.math.fsubf128
+ libc.src.math.getpayloadf128
+ libc.src.math.ilogbf128
+ libc.src.math.ldexpf128
+ libc.src.math.llogbf128
+ libc.src.math.logbf128
+ libc.src.math.modff128
+ libc.src.math.nanf128
+ libc.src.math.nextafterf128
+ libc.src.math.nextdownf128
+ libc.src.math.nextupf128
+ libc.src.math.remainderf128
+ libc.src.math.remquof128
+ libc.src.math.scalblnf128
+ libc.src.math.scalbnf128
+ libc.src.math.setpayloadf128
+ libc.src.math.setpayloadsigf128
+ libc.src.math.totalorderf128
+ libc.src.math.totalordermagf128
+ libc.src.math.ufromfpf128
+ libc.src.math.ufromfpxf128
+ )
+endif()
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # math.h C++23 mixed bfloat16 and _Float128 entrypoints
+ libc.src.math.bf16addf128
+ libc.src.math.bf16divf128
+ libc.src.math.bf16fmaf128
+ libc.src.math.bf16mulf128
+ libc.src.math.bf16subf128
+ )
+endif()
+
+if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # stdfix.h _Fract and _Accum entrypoints
+ libc.src.stdfix.abshk
+ libc.src.stdfix.abshr
+ libc.src.stdfix.absk
+ libc.src.stdfix.abslk
+ libc.src.stdfix.abslr
+ libc.src.stdfix.absr
+ libc.src.stdfix.exphk
+ libc.src.stdfix.expk
+ libc.src.stdfix.roundhk
+ libc.src.stdfix.roundhr
+ libc.src.stdfix.roundk
+ libc.src.stdfix.roundlk
+ libc.src.stdfix.roundlr
+ libc.src.stdfix.roundr
+ libc.src.stdfix.rounduhk
+ libc.src.stdfix.rounduhr
+ libc.src.stdfix.rounduk
+ libc.src.stdfix.roundulk
+ libc.src.stdfix.roundulr
+ libc.src.stdfix.roundur
+ libc.src.stdfix.sqrtuhk
+ libc.src.stdfix.sqrtuhr
+ libc.src.stdfix.sqrtuk
+ libc.src.stdfix.sqrtur
+ # libc.src.stdfix.sqrtulk
+ libc.src.stdfix.sqrtulr
+ libc.src.stdfix.uhksqrtus
+ libc.src.stdfix.uksqrtui
+ libc.src.stdfix.hrbits
+ libc.src.stdfix.uhrbits
+ libc.src.stdfix.rbits
+ libc.src.stdfix.urbits
+ libc.src.stdfix.lrbits
+ libc.src.stdfix.ulrbits
+ libc.src.stdfix.hkbits
+ libc.src.stdfix.uhkbits
+ libc.src.stdfix.kbits
+ libc.src.stdfix.ukbits
+ libc.src.stdfix.lkbits
+ libc.src.stdfix.ulkbits
+ libc.src.stdfix.bitshr
+ libc.src.stdfix.bitsr
+ libc.src.stdfix.bitslr
+ libc.src.stdfix.bitshk
+ libc.src.stdfix.bitsk
+ libc.src.stdfix.bitslk
+ libc.src.stdfix.bitsuhr
+ libc.src.stdfix.bitsur
+ libc.src.stdfix.bitsulr
+ libc.src.stdfix.bitsuhk
+ libc.src.stdfix.bitsuk
+ libc.src.stdfix.bitsulk
+ libc.src.stdfix.countlshr
+ libc.src.stdfix.countlsr
+ libc.src.stdfix.countlslr
+ libc.src.stdfix.countlshk
+ libc.src.stdfix.countlsk
+ libc.src.stdfix.countlslk
+ libc.src.stdfix.countlsuhr
+ libc.src.stdfix.countlsur
+ libc.src.stdfix.countlsulr
+ libc.src.stdfix.countlsuhk
+ libc.src.stdfix.countlsuk
+ libc.src.stdfix.countlsulk
+ libc.src.stdfix.idivr
+ libc.src.stdfix.idivlr
+ libc.src.stdfix.idivk
+ libc.src.stdfix.idivlk
+ libc.src.stdfix.idivur
+ libc.src.stdfix.idivulr
+ libc.src.stdfix.idivuk
+ libc.src.stdfix.idivulk
+ libc.src.stdfix.rdivi
+ libc.src.stdfix.lrdivi
+ libc.src.stdfix.kdivi
+ libc.src.stdfix.lkdivi
+ libc.src.stdfix.urdivi
+ libc.src.stdfix.ulrdivi
+ libc.src.stdfix.ukdivi
+ libc.src.stdfix.ulkdivi
+ libc.src.stdfix.divir
+ libc.src.stdfix.divilr
+ libc.src.stdfix.divik
+ libc.src.stdfix.divilk
+ libc.src.stdfix.diviur
+ libc.src.stdfix.diviulr
+ libc.src.stdfix.diviuk
+ libc.src.stdfix.diviulk
+ )
+endif()
+
+if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum_l
+ libc.src.ctype.isalpha_l
+ libc.src.ctype.isblank_l
+ libc.src.ctype.iscntrl_l
+ libc.src.ctype.isdigit_l
+ libc.src.ctype.isgraph_l
+ libc.src.ctype.islower_l
+ libc.src.ctype.isprint_l
+ libc.src.ctype.ispunct_l
+ libc.src.ctype.isspace_l
+ libc.src.ctype.isupper_l
+ libc.src.ctype.isxdigit_l
+ libc.src.ctype.tolower_l
+ libc.src.ctype.toupper_l
+
+ # errno.h entrypoints
+ libc.src.errno.program_invocation_name
+ libc.src.errno.program_invocation_short_name
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.strtod_l
+ libc.src.stdlib.strtof_l
+ libc.src.stdlib.strtol_l
+ libc.src.stdlib.strtold_l
+ libc.src.stdlib.strtoll_l
+ libc.src.stdlib.strtoul_l
+ libc.src.stdlib.strtoull_l
+
+ # string.h entrypoints
+ libc.src.string.strcoll_l
+ libc.src.string.strxfrm_l
+
+ # strings.h entrypoints
+ libc.src.strings.strcasecmp_l
+ libc.src.strings.strncasecmp_l
+
+ # assert.h entrypoints
+ libc.src.assert.__assert_fail
+
+ # compiler entrypoints (no corresponding header)
+ libc.src.compiler.__stack_chk_fail
+
+ # dirent.h entrypoints
+ libc.src.dirent.alphasort
+ libc.src.dirent.closedir
+ libc.src.dirent.dirfd
+ libc.src.dirent.opendir
+ libc.src.dirent.readdir
+ libc.src.dirent.scandir
+ libc.src.dirent.fdopendir
+
+ # pthread.h entrypoints
+ libc.src.pthread.__pthread_cleanup_pop
+ libc.src.pthread.__pthread_cleanup_push
+ libc.src.pthread.pthread_atfork
+ libc.src.pthread.pthread_attr_destroy
+ libc.src.pthread.pthread_attr_getdetachstate
+ libc.src.pthread.pthread_attr_getguardsize
+ libc.src.pthread.pthread_attr_getinheritsched
+ libc.src.pthread.pthread_attr_getschedparam
+ libc.src.pthread.pthread_attr_getschedpolicy
+ libc.src.pthread.pthread_attr_getscope
+ libc.src.pthread.pthread_attr_getstack
+ libc.src.pthread.pthread_attr_getstacksize
+ libc.src.pthread.pthread_attr_init
+ libc.src.pthread.pthread_attr_setdetachstate
+ libc.src.pthread.pthread_attr_setguardsize
+ libc.src.pthread.pthread_attr_setinheritsched
+ libc.src.pthread.pthread_attr_setschedparam
+ libc.src.pthread.pthread_attr_setschedpolicy
+ libc.src.pthread.pthread_attr_setscope
+ libc.src.pthread.pthread_attr_setstack
+ libc.src.pthread.pthread_attr_setstacksize
+ libc.src.pthread.pthread_condattr_destroy
+ libc.src.pthread.pthread_condattr_getclock
+ libc.src.pthread.pthread_condattr_getpshared
+ libc.src.pthread.pthread_condattr_init
+ libc.src.pthread.pthread_condattr_setclock
+ libc.src.pthread.pthread_condattr_setpshared
+ libc.src.pthread.pthread_cond_broadcast
+ libc.src.pthread.pthread_cond_clockwait
+ libc.src.pthread.pthread_cond_destroy
+ libc.src.pthread.pthread_cond_init
+ libc.src.pthread.pthread_cond_signal
+ libc.src.pthread.pthread_cond_timedwait
+ libc.src.pthread.pthread_cond_wait
+ libc.src.pthread.pthread_create
+ libc.src.pthread.pthread_detach
+ libc.src.pthread.pthread_equal
+ libc.src.pthread.pthread_exit
+ libc.src.pthread.pthread_getattr_np
+ libc.src.pthread.pthread_getname_np
+ libc.src.pthread.pthread_getschedparam
+ libc.src.pthread.pthread_getspecific
+ libc.src.pthread.pthread_getstack_np
+ libc.src.pthread.pthread_getthreadid_np
+ libc.src.pthread.pthread_getunique_np
+ libc.src.pthread.pthread_join
+ libc.src.pthread.pthread_key_create
+ libc.src.pthread.pthread_key_delete
+ libc.src.pthread.pthread_barrier_init
+ libc.src.pthread.pthread_barrier_wait
+ libc.src.pthread.pthread_barrier_destroy
+ libc.src.pthread.pthread_mutex_destroy
+ libc.src.pthread.pthread_mutex_init
+ libc.src.pthread.pthread_mutex_lock
+ libc.src.pthread.pthread_mutex_trylock
+ libc.src.pthread.pthread_mutex_unlock
+ libc.src.pthread.pthread_mutexattr_destroy
+ libc.src.pthread.pthread_mutexattr_getpshared
+ libc.src.pthread.pthread_mutexattr_getrobust
+ libc.src.pthread.pthread_mutexattr_gettype
+ libc.src.pthread.pthread_mutexattr_init
+ libc.src.pthread.pthread_mutexattr_setpshared
+ libc.src.pthread.pthread_mutexattr_setrobust
+ libc.src.pthread.pthread_mutexattr_settype
+ libc.src.pthread.pthread_once
+ libc.src.pthread.pthread_rwlock_clockrdlock
+ libc.src.pthread.pthread_rwlock_clockwrlock
+ libc.src.pthread.pthread_rwlock_destroy
+ libc.src.pthread.pthread_rwlock_init
+ libc.src.pthread.pthread_rwlock_rdlock
+ libc.src.pthread.pthread_rwlock_timedrdlock
+ libc.src.pthread.pthread_rwlock_timedwrlock
+ libc.src.pthread.pthread_rwlock_tryrdlock
+ libc.src.pthread.pthread_rwlock_trywrlock
+ libc.src.pthread.pthread_rwlock_unlock
+ libc.src.pthread.pthread_rwlock_wrlock
+ libc.src.pthread.pthread_rwlockattr_destroy
+ libc.src.pthread.pthread_rwlockattr_getkind_np
+ libc.src.pthread.pthread_rwlockattr_getpshared
+ libc.src.pthread.pthread_rwlockattr_init
+ libc.src.pthread.pthread_rwlockattr_setkind_np
+ libc.src.pthread.pthread_rwlockattr_setpshared
+ libc.src.pthread.pthread_spin_destroy
+ libc.src.pthread.pthread_spin_init
+ libc.src.pthread.pthread_spin_lock
+ libc.src.pthread.pthread_spin_trylock
+ libc.src.pthread.pthread_spin_unlock
+ libc.src.pthread.pthread_self
+ libc.src.pthread.pthread_setname_np
+ libc.src.pthread.pthread_setschedparam
+ libc.src.pthread.pthread_setspecific
+
+ # sched.h entrypoints
+ libc.src.sched.clone
+ libc.src.sched.__sched_andcpuset
+ libc.src.sched.__sched_clrcpuset
+ libc.src.sched.__sched_cpualloc
+ libc.src.sched.__sched_cpuequal
+ libc.src.sched.__sched_cpufree
+ libc.src.sched.__sched_getcpucount
+ libc.src.sched.__sched_getcpuisset
+ libc.src.sched.__sched_orcpuset
+ libc.src.sched.__sched_setcpuset
+ libc.src.sched.__sched_setcpuzero
+ libc.src.sched.__sched_xorcpuset
+
+ # semaphore.h entrypoints
+ libc.src.semaphore.sem_clockwait
+ libc.src.semaphore.sem_close
+ libc.src.semaphore.sem_destroy
+ libc.src.semaphore.sem_getvalue
+ libc.src.semaphore.sem_init
+ libc.src.semaphore.sem_open
+ libc.src.semaphore.sem_post
+ libc.src.semaphore.sem_timedwait
+ libc.src.semaphore.sem_trywait
+ libc.src.semaphore.sem_unlink
+ libc.src.semaphore.sem_wait
+
+ # setjmp.h entrypoints
+ libc.src.setjmp.longjmp
+ libc.src.setjmp.setjmp
+ libc.src.setjmp.siglongjmp
+ libc.src.setjmp.sigsetjmp
+
+ # ucontext.h entrypoints
+ libc.src.ucontext.getcontext
+ libc.src.ucontext.setcontext
+
+ # stdio.h entrypoints
+ libc.src.stdio.clearerr
+ libc.src.stdio.clearerr_unlocked
+ libc.src.stdio.fclose
+ libc.src.stdio.fdopen
+ libc.src.stdio.feof
+ libc.src.stdio.feof_unlocked
+ libc.src.stdio.ferror
+ libc.src.stdio.ferror_unlocked
+ libc.src.stdio.fflush
+ libc.src.stdio.fgetc
+ libc.src.stdio.fgetc_unlocked
+ libc.src.stdio.fgetpos
+ libc.src.stdio.fgets
+ libc.src.stdio.fileno
+ libc.src.stdio.flockfile
+ libc.src.stdio.fmemopen
+ libc.src.stdio.fopen
+ libc.src.stdio.freopen
+ libc.src.stdio.fopencookie
+ libc.src.stdio.fputc
+ libc.src.stdio.fputs
+ libc.src.stdio.fread
+ libc.src.stdio.fread_unlocked
+ libc.src.stdio.fseek
+ libc.src.stdio.fseeko
+ libc.src.stdio.fsetpos
+ libc.src.stdio.ftell
+ libc.src.stdio.ftello
+ libc.src.stdio.funlockfile
+ libc.src.stdio.fwrite
+ libc.src.stdio.fwrite_unlocked
+ libc.src.stdio.getc
+ libc.src.stdio.getc_unlocked
+ libc.src.stdio.getchar
+ libc.src.stdio.getchar_unlocked
+ libc.src.stdio.pclose
+ libc.src.stdio.perror
+ libc.src.stdio.popen
+ libc.src.stdio.putc
+ libc.src.stdio.putchar
+ libc.src.stdio.puts
+ libc.src.stdio.rewind
+ libc.src.stdio.setbuf
+ libc.src.stdio.setvbuf
+ libc.src.stdio.stderr
+ libc.src.stdio.stdin
+ libc.src.stdio.stdout
+ libc.src.stdio.ungetc
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.__cxa_thread_atexit_impl
+ libc.src.stdlib._Exit
+ libc.src.stdlib.abort
+ libc.src.stdlib.at_quick_exit
+ libc.src.stdlib.atexit
+ libc.src.stdlib.clearenv
+ libc.src.stdlib.exit
+ libc.src.stdlib.getenv
+ libc.src.stdlib.putenv
+ libc.src.stdlib.secure_getenv
+ libc.src.stdlib.setenv
+ libc.src.stdlib.unsetenv
+ libc.src.stdlib.mbstowcs
+ libc.src.stdlib.mbtowc
+ libc.src.stdlib.mblen
+ libc.src.stdlib.quick_exit
+ libc.src.stdlib.system
+ libc.src.stdlib.wcstombs
+ libc.src.stdlib.wctomb
+
+ # signal.h entrypoints
+ libc.src.signal.kill
+ libc.src.signal.pthread_kill
+ libc.src.signal.pthread_sigmask
+ libc.src.signal.raise
+ libc.src.signal.sigaction
+ libc.src.signal.sigaddset
+ libc.src.signal.sigaltstack
+ libc.src.signal.sigdelset
+ libc.src.signal.sigemptyset
+ libc.src.signal.sigfillset
+ libc.src.signal.sigismember
+ libc.src.signal.signal
+ libc.src.signal.sigprocmask
+
+ # spawn.h entrypoints
+ libc.src.spawn.posix_spawn
+ libc.src.spawn.posix_spawn_file_actions_addclose
+ libc.src.spawn.posix_spawn_file_actions_adddup2
+ libc.src.spawn.posix_spawn_file_actions_addopen
+ libc.src.spawn.posix_spawn_file_actions_destroy
+ libc.src.spawn.posix_spawn_file_actions_init
+
+ # search.h entrypoints
+ libc.src.search.hcreate
+ libc.src.search.hcreate_r
+ libc.src.search.hdestroy
+ libc.src.search.hdestroy_r
+ libc.src.search.hsearch
+ libc.src.search.hsearch_r
+ libc.src.search.insque
+ libc.src.search.lfind
+ libc.src.search.lsearch
+ libc.src.search.remque
+ libc.src.search.tdelete
+ libc.src.search.tdestroy
+ libc.src.search.tfind
+ libc.src.search.tsearch
+ libc.src.search.twalk
+ libc.src.search.twalk_r
+
+ # threads.h entrypoints
+ libc.src.threads.call_once
+ libc.src.threads.cnd_broadcast
+ libc.src.threads.cnd_destroy
+ libc.src.threads.cnd_init
+ libc.src.threads.cnd_signal
+ libc.src.threads.cnd_timedwait
+ libc.src.threads.cnd_wait
+ libc.src.threads.mtx_destroy
+ libc.src.threads.mtx_init
+ libc.src.threads.mtx_lock
+ libc.src.threads.mtx_trylock
+ libc.src.threads.mtx_unlock
+ libc.src.threads.thrd_create
+ libc.src.threads.thrd_current
+ libc.src.threads.thrd_detach
+ libc.src.threads.thrd_equal
+ libc.src.threads.thrd_exit
+ libc.src.threads.thrd_join
+ libc.src.threads.tss_create
+ libc.src.threads.tss_delete
+ libc.src.threads.tss_get
+ libc.src.threads.tss_set
+
+ # time.h entrypoints
+ libc.src.time.asctime
+ libc.src.time.asctime_r
+ libc.src.time.ctime
+ libc.src.time.ctime_r
+ libc.src.time.clock
+ libc.src.time.clock_getcpuclockid
+ libc.src.time.clock_getres
+ libc.src.time.clock_gettime
+ libc.src.time.clock_settime
+ libc.src.time.difftime
+ libc.src.time.gmtime
+ libc.src.time.gmtime_r
+ libc.src.time.localtime
+ libc.src.time.localtime_r
+ libc.src.time.mktime
+ libc.src.time.nanosleep
+ libc.src.time.strftime
+ libc.src.time.strftime_l
+ libc.src.time.time
+ libc.src.time.timespec_get
+ libc.src.time.timer_create
+ libc.src.time.timer_delete
+ libc.src.time.timer_getoverrun
+ libc.src.time.timer_gettime
+ libc.src.time.timer_settime
+
+ # locale.h entrypoints
+ libc.src.locale.localeconv
+ libc.src.locale.duplocale
+ libc.src.locale.freelocale
+ libc.src.locale.localeconv
+ libc.src.locale.newlocale
+ libc.src.locale.setlocale
+ libc.src.locale.uselocale
+
+ # unistd.h entrypoints
+ libc.src.unistd.__llvm_libc_syscall
+ libc.src.unistd._exit
+ libc.src.unistd.confstr
+ libc.src.unistd.environ
+ libc.src.unistd.execl
+ libc.src.unistd.execlp
+ libc.src.unistd.execv
+ libc.src.unistd.execvp
+ libc.src.unistd.execvpe
+ libc.src.unistd.fork
+ libc.src.unistd.getopt
+ libc.src.unistd.optarg
+ libc.src.unistd.opterr
+ libc.src.unistd.optind
+ libc.src.unistd.optopt
+ libc.src.unistd.swab
+ libc.src.unistd.sysconf
+
+ # sys/select.h entrypoints
+ libc.src.sys.select.pselect
+ libc.src.sys.select.select
+
+ # wchar.h entrypoints
+ libc.src.wchar.mbrlen
+ libc.src.wchar.mbsinit
+ libc.src.wchar.mbrtowc
+ libc.src.wchar.mbsrtowcs
+ libc.src.wchar.mbsnrtowcs
+ libc.src.wchar.wcrtomb
+ libc.src.wchar.wcsrtombs
+ libc.src.wchar.wcsnrtombs
+ libc.src.wchar.fgetwc
+ libc.src.wchar.fgetws
+ libc.src.wchar.fputwc
+ libc.src.wchar.fputws
+ libc.src.wchar.fwide
+ libc.src.wchar.getwc
+ libc.src.wchar.getwchar
+ libc.src.wchar.putwc
+ libc.src.wchar.putwchar
+ libc.src.wchar.ungetwc
+
+ # nl_types.h entrypoints
+ libc.src.nl_types.catopen
+ libc.src.nl_types.catclose
+ libc.src.nl_types.catgets
+
+ # link.h entrypoints
+ libc.src.link._r_debug
+ libc.src.link.dl_iterate_phdr
+ )
+endif()
+
+if(LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS)
+ if(LLVM_LIBC_FULL_BUILD)
+ list(APPEND TARGET_LIBC_ENTRYPOINTS
+ # fnmatch.h entrypoints
+ libc.src.fnmatch.fnmatch
+
+ # glob.h entrypoints
+ libc.src.glob.glob
+ libc.src.glob.globfree
+
+ # grp.h entrypoints
+ libc.src.grp.initgroups
+ libc.src.grp.setgroups
+
+ # libintl.h entrypoints
+ libc.src.libintl.bind_textdomain_codeset
+ libc.src.libintl.bindtextdomain
+ libc.src.libintl.dcgettext
+ libc.src.libintl.dcgettext_l
+ libc.src.libintl.dcngettext
+ libc.src.libintl.dcngettext_l
+ libc.src.libintl.dgettext
+ libc.src.libintl.dgettext_l
+ libc.src.libintl.dngettext
+ libc.src.libintl.dngettext_l
+ libc.src.libintl.gettext
+ libc.src.libintl.gettext_l
+ libc.src.libintl.ngettext
+ libc.src.libintl.ngettext_l
+ libc.src.libintl.textdomain
+
+ # net/if.h entrypoints
+ libc.src.net.if_freenameindex
+ libc.src.net.if_nameindex
+
+ # netdb.h entrypoints
+ libc.src.netdb.freeaddrinfo
+ libc.src.netdb.gai_strerror
+ libc.src.netdb.getaddrinfo
+
+ # regex.h entrypoints
+ libc.src.regex.regcomp
+ libc.src.regex.regexec
+ libc.src.regex.regerror
+ libc.src.regex.regfree
+
+ # sys/ptrace.h entrypoints
+ libc.src.sys.ptrace.ptrace
+
+ # time.h entrypoints
+ libc.src.time.strptime
+ libc.src.time.tz_variables
+ libc.src.time.tzset
+
+ # unistd.h entrypoints
+ libc.src.unistd.setegid
+ libc.src.unistd.seteuid
+ libc.src.unistd.setgid
+ libc.src.unistd.setregid
+ libc.src.unistd.setresgid
+ libc.src.unistd.setresuid
+ libc.src.unistd.setreuid
+ libc.src.unistd.setuid
+
+ # wchar.h entrypoints
+ libc.src.wchar.swprintf
+ )
+ endif()
+endif()
+
+set(TARGET_LIBMVEC_ENTRYPOINTS)
+
+if(LIBC_COMPILER_HAS_EXT_VECTOR_TYPE)
+list(APPEND TARGET_LIBMVEC_ENTRYPOINTS
+ libc.src.mathvec.acosf
+ libc.src.mathvec.acoshf
+ libc.src.mathvec.acospif
+ libc.src.mathvec.asinf
+ libc.src.mathvec.asinhf
+ libc.src.mathvec.asinpif
+ libc.src.mathvec.atanf
+ libc.src.mathvec.atanhf
+ libc.src.mathvec.cbrtf
+ libc.src.mathvec.cosf
+ libc.src.mathvec.coshf
+ libc.src.mathvec.cospif
+ libc.src.mathvec.erff
+ libc.src.mathvec.exp2f
+ libc.src.mathvec.exp2m1f
+ libc.src.mathvec.exp10f
+ libc.src.mathvec.exp10m1f
+ libc.src.mathvec.expf
+ libc.src.mathvec.expm1f
+ libc.src.mathvec.log10f
+ libc.src.mathvec.log1pf
+ libc.src.mathvec.log2f
+ libc.src.mathvec.logf
+ libc.src.mathvec.rsqrtf
+ libc.src.mathvec.sinf
+ libc.src.mathvec.sinhf
+ libc.src.mathvec.sinpif
+ libc.src.mathvec.sqrtf
+ libc.src.mathvec.tanf
+ libc.src.mathvec.tanhf
+ libc.src.mathvec.tanpif
+ )
+endif()
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+ ${TARGET_LIBMVEC_ENTRYPOINTS}
+)
diff --git a/libc/config/windows/entrypoints.txt b/libc/config/windows/entrypoints.txt
index 21cb255f802709..4de3e7013bb4d6 100644
--- a/libc/config/windows/entrypoints.txt
+++ b/libc/config/windows/entrypoints.txt
@@ -1,442 +1,442 @@
-set(TARGET_LIBC_ENTRYPOINTS
- # ctype.h entrypoints
- libc.src.ctype.isalnum
- libc.src.ctype.isalpha
- libc.src.ctype.isascii
- libc.src.ctype.isblank
- libc.src.ctype.iscntrl
- libc.src.ctype.isdigit
- libc.src.ctype.isgraph
- libc.src.ctype.islower
- libc.src.ctype.isprint
- libc.src.ctype.ispunct
- libc.src.ctype.isspace
- libc.src.ctype.isupper
- libc.src.ctype.isxdigit
- libc.src.ctype.toascii
- libc.src.ctype.tolower
- libc.src.ctype.toupper
-
- # string.h entrypoints
- libc.src.string.memccpy
- libc.src.string.memchr
- libc.src.string.memcmp
- libc.src.string.memcpy
- libc.src.string.memmem
- libc.src.string.memmove
- libc.src.string.mempcpy
- libc.src.string.memrchr
- libc.src.string.memset
- libc.src.string.stpcpy
- libc.src.string.stpncpy
- libc.src.string.strcasestr
- libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
- libc.src.string.strcmp
- libc.src.string.strcpy
- libc.src.string.strcspn
- libc.src.string.strlcat
- libc.src.string.strlcpy
- libc.src.string.strlen
- libc.src.string.strncat
- libc.src.string.strncmp
- libc.src.string.strncpy
- libc.src.string.strnlen
- libc.src.string.strnlen_s
- libc.src.string.strpbrk
- libc.src.string.strrchr
- libc.src.string.strspn
- libc.src.string.strstr
- libc.src.string.strtok
- libc.src.string.strtok_r
-
- # string.h entrypoints that depend on malloc
- libc.src.string.strdup
- libc.src.string.strndup
-
- # strings.h entrypoints
- libc.src.strings.bcmp
- libc.src.strings.bcopy
- libc.src.strings.bzero
- libc.src.strings.strcasecmp
- libc.src.strings.strncasecmp
-
- # inttypes.h entrypoints
- libc.src.inttypes.imaxabs
- libc.src.inttypes.imaxdiv
- libc.src.inttypes.strtoimax
- libc.src.inttypes.strtoumax
-
- # stdlib.h entrypoints
- libc.src.stdlib.abs
- libc.src.stdlib.atoi
- libc.src.stdlib.atof
- libc.src.stdlib.atol
- libc.src.stdlib.atoll
- libc.src.stdlib.bsearch
- libc.src.stdlib.div
- libc.src.stdlib.labs
- libc.src.stdlib.ldiv
- libc.src.stdlib.llabs
- libc.src.stdlib.lldiv
- libc.src.stdlib.memalignment
- libc.src.stdlib.qsort
- libc.src.stdlib.strtod
- libc.src.stdlib.strtof
- libc.src.stdlib.strtol
- libc.src.stdlib.strtold
- libc.src.stdlib.strtoll
- libc.src.stdlib.strtoul
- libc.src.stdlib.strtoull
-
- # stdlib.h external entrypoints
- libc.src.stdlib.malloc
- libc.src.stdlib.calloc
- libc.src.stdlib.realloc
- libc.src.stdlib.aligned_alloc
- libc.src.stdlib.free
-
- # errno.h entrypoints
- libc.src.errno.errno
-
- # time.h entrypoints
- libc.src.time.time
- libc.src.time.clock_getres
-
- # unistd.h entrypoints
- libc.src.unistd.getentropy
-
- # wctype.h entrypoints
- libc.src.wctype.iswalpha
- libc.src.wctype.iswupper
- libc.src.wctype.iswalnum
- libc.src.wctype.iswgraph
- libc.src.wctype.iswcntrl
- libc.src.wctype.iswdigit
- libc.src.wctype.iswlower
- libc.src.wctype.iswspace
- libc.src.wctype.iswblank
- libc.src.wctype.iswxdigit
- libc.src.wctype.iswpunct
- libc.src.wctype.iswprint
- libc.src.wctype.iswctype
- libc.src.wctype.wctype
-)
-
-set(TARGET_LIBM_ENTRYPOINTS
- # fenv.h entrypoints
- libc.src.fenv.feclearexcept
- libc.src.fenv.fedisableexcept
- libc.src.fenv.feenableexcept
- libc.src.fenv.fegetenv
- libc.src.fenv.fegetexcept
- libc.src.fenv.fegetexceptflag
- libc.src.fenv.fegetround
- libc.src.fenv.feholdexcept
- libc.src.fenv.fesetenv
- libc.src.fenv.fesetexcept
- libc.src.fenv.fesetexceptflag
- libc.src.fenv.fesetround
- libc.src.fenv.feraiseexcept
- libc.src.fenv.fetestexcept
- libc.src.fenv.fetestexceptflag
- libc.src.fenv.feupdateenv
-
- # math.h entrypoints
- libc.src.math.acos
- libc.src.math.acosf
- libc.src.math.acoshf
- libc.src.math.acospif
- libc.src.math.asin
- libc.src.math.asinf
- libc.src.math.asinhf
- libc.src.math.asinpi
- libc.src.math.asinpif
- libc.src.math.atan2
- libc.src.math.atan2f
- libc.src.math.atan2f128
- libc.src.math.atan
- libc.src.math.atanf
- libc.src.math.atanhf
- libc.src.math.cbrt
- libc.src.math.cbrtf
- libc.src.math.cbrtbf16
- libc.src.math.copysign
- libc.src.math.copysignf
- libc.src.math.copysignf128
- libc.src.math.copysignf80
- libc.src.math.copysignl
- libc.src.math.ceil
- libc.src.math.ceilf
- libc.src.math.ceilf128
- libc.src.math.ceill
- libc.src.math.cos
- libc.src.math.cosf
- libc.src.math.coshf
- libc.src.math.daddl
- libc.src.math.ddivl
- libc.src.math.dfmal
- libc.src.math.dsubl
- libc.src.math.erff
- libc.src.math.exp
- libc.src.math.expf
- libc.src.math.exp10
- libc.src.math.exp10f
- libc.src.math.exp2
- libc.src.math.exp2f
- libc.src.math.expm1
- libc.src.math.expm1f
- libc.src.math.fabs
- libc.src.math.fabsf
- libc.src.math.fabsf128
- libc.src.math.fabsf80
- libc.src.math.fabsl
- libc.src.math.fadd
- libc.src.math.faddl
- libc.src.math.fdim
- libc.src.math.fdimf
- libc.src.math.fdimf128
- libc.src.math.fdiml
- libc.src.math.fdiv
- libc.src.math.fdivl
- libc.src.math.ffma
- libc.src.math.ffmal
- libc.src.math.floor
- libc.src.math.floorf
- libc.src.math.floorf128
- libc.src.math.floorl
- libc.src.math.fma
- libc.src.math.fmabf16
- libc.src.math.fmaf
- libc.src.math.fmaximum_mag_numf128
- libc.src.math.fmaximum_magf128
- libc.src.math.fmin
- libc.src.math.fminf
- libc.src.math.fminf128
- libc.src.math.fminimum_mag_numf128
- libc.src.math.fminimum_magf128
- libc.src.math.fminl
- libc.src.math.fmax
- libc.src.math.fmaxf
- libc.src.math.fmaxf128
- libc.src.math.fmaxl
- libc.src.math.fmaximum
- libc.src.math.fmaximumf
- libc.src.math.fmaximumf128
- libc.src.math.fmaximuml
- libc.src.math.fmaximum_num
- libc.src.math.fmaximum_numf
- libc.src.math.fmaximum_numf128
- libc.src.math.fmaximum_numl
- libc.src.math.fmaximum_mag
- libc.src.math.fmaximum_magf
- libc.src.math.fmaximum_magl
- libc.src.math.fmaximum_mag_num
- libc.src.math.fmaximum_mag_numf
- libc.src.math.fmaximum_mag_numl
- libc.src.math.fminimum
- libc.src.math.fminimumf
- libc.src.math.fminimumf128
- libc.src.math.fminimuml
- libc.src.math.fminimum_num
- libc.src.math.fminimum_numf
- libc.src.math.fminimum_numf128
- libc.src.math.fminimum_numl
- libc.src.math.fminimum_mag
- libc.src.math.fminimum_magf
- libc.src.math.fminimum_magl
- libc.src.math.fminimum_mag_num
- libc.src.math.fminimum_mag_numf
- libc.src.math.fminimum_mag_numl
- libc.src.math.fmul
- libc.src.math.fmod
- libc.src.math.fmodf
- libc.src.math.fmodl
- libc.src.math.frexp
- libc.src.math.frexpf
- libc.src.math.frexpl
- libc.src.math.fsub
- libc.src.math.fsubl
- libc.src.math.hypot
- libc.src.math.hypotf
- libc.src.math.ilogb
- libc.src.math.ilogbf
- libc.src.math.ilogbl
- libc.src.math.iscanonicalf128
- libc.src.math.isnanf128
- libc.src.math.issignalingf128
- libc.src.math.ldexp
- libc.src.math.ldexpf
- libc.src.math.ldexpl
- libc.src.math.lgammaf
- libc.src.math.llrint
- libc.src.math.llrintf
- libc.src.math.llrintf128
- libc.src.math.llrintl
- libc.src.math.llround
- libc.src.math.llroundf
- libc.src.math.llroundf128
- libc.src.math.llroundl
- libc.src.math.log10
- libc.src.math.log10f
- libc.src.math.log1p
- libc.src.math.log1pf
- libc.src.math.log2
- libc.src.math.log2f
- libc.src.math.log
- libc.src.math.logf
- libc.src.math.logb
- libc.src.math.logbf
- libc.src.math.logbl
- libc.src.math.lrint
- libc.src.math.lrintf
- libc.src.math.lrintf128
- libc.src.math.lrintl
- libc.src.math.lround
- libc.src.math.lroundf
- libc.src.math.lroundf128
- libc.src.math.lroundl
- libc.src.math.modf
- libc.src.math.modff
- libc.src.math.modfl
- libc.src.math.nan
- libc.src.math.nanf
- libc.src.math.nanl
- libc.src.math.nearbyint
- libc.src.math.nearbyintf
- libc.src.math.nearbyintf128
- libc.src.math.nearbyintl
- libc.src.math.nextafter
- libc.src.math.nextafterf
- libc.src.math.nextafterl
- libc.src.math.nexttoward
- libc.src.math.nexttowardf
- libc.src.math.nexttowardl
- libc.src.math.pow
- libc.src.math.powf
- libc.src.math.remainderf
- libc.src.math.remainder
- libc.src.math.remainderl
- libc.src.math.remquof
- libc.src.math.remquo
- libc.src.math.remquol
- libc.src.math.rint
- libc.src.math.rintf
- libc.src.math.rintf128
- libc.src.math.rintl
- libc.src.math.round
- libc.src.math.roundevenf128
- libc.src.math.roundf
- libc.src.math.roundf128
- libc.src.math.roundl
- libc.src.math.scalbln
- libc.src.math.scalblnf
- libc.src.math.scalblnl
- libc.src.math.scalbn
- libc.src.math.scalbnf
- libc.src.math.scalbnl
- libc.src.math.sin
- libc.src.math.sincosf
- libc.src.math.sincosf
- libc.src.math.sinf
- libc.src.math.sinhf
- libc.src.math.sqrt
- libc.src.math.sqrtf
- libc.src.math.sqrtf128
- libc.src.math.sqrtl
- libc.src.math.tan
- libc.src.math.tanf
- libc.src.math.tanhf
- libc.src.math.tanpif
- libc.src.math.trunc
- libc.src.math.truncf
- libc.src.math.truncf128
- libc.src.math.truncl
-)
-
-list(APPEND TARGET_LIBM_ENTRYPOINTS
- # bfloat16 entrypoints
- libc.src.math.atanbf16
- libc.src.math.acosbf16
- libc.src.math.asinbf16
- libc.src.math.bf16add
- libc.src.math.bf16addf
- libc.src.math.bf16addl
- libc.src.math.bf16div
- libc.src.math.bf16divf
- libc.src.math.bf16divl
- libc.src.math.bf16fma
- libc.src.math.bf16fmaf
- libc.src.math.bf16fmal
- libc.src.math.bf16mul
- libc.src.math.bf16mulf
- libc.src.math.bf16mull
- libc.src.math.bf16sub
- libc.src.math.bf16subf
- libc.src.math.bf16subl
- libc.src.math.canonicalizebf16
- libc.src.math.ceilbf16
- libc.src.math.copysignbf16
- libc.src.math.exp2bf16
- libc.src.math.expbf16
- libc.src.math.fabsbf16
- libc.src.math.fdimbf16
- libc.src.math.floorbf16
- libc.src.math.fmaxbf16
- libc.src.math.fmaximumbf16
- libc.src.math.fmaximum_magbf16
- libc.src.math.fmaximum_mag_numbf16
- libc.src.math.fmaximum_numbf16
- libc.src.math.fminbf16
- libc.src.math.fminimumbf16
- libc.src.math.fminimum_magbf16
- libc.src.math.fminimum_mag_numbf16
- libc.src.math.fminimum_numbf16
- libc.src.math.fmodbf16
- libc.src.math.frexpbf16
- libc.src.math.fromfpbf16
- libc.src.math.fromfpxbf16
- libc.src.math.getpayloadbf16
- libc.src.math.hypotbf16
- libc.src.math.ilogbbf16
- libc.src.math.iscanonicalbf16
- libc.src.math.issignalingbf16
- libc.src.math.ldexpbf16
- libc.src.math.llogbbf16
- libc.src.math.llrintbf16
- libc.src.math.llroundbf16
- libc.src.math.log_bf16
- libc.src.math.logbbf16
- libc.src.math.lrintbf16
- libc.src.math.lroundbf16
- libc.src.math.modfbf16
- libc.src.math.nanbf16
- libc.src.math.nearbyintbf16
- libc.src.math.nextafterbf16
- libc.src.math.nextdownbf16
- libc.src.math.nexttowardbf16
- libc.src.math.nextupbf16
- libc.src.math.remainderbf16
- libc.src.math.remquobf16
- libc.src.math.rintbf16
- libc.src.math.roundbf16
- libc.src.math.roundevenbf16
- libc.src.math.scalblnbf16
- libc.src.math.scalbnbf16
- libc.src.math.setpayloadbf16
- libc.src.math.setpayloadsigbf16
- libc.src.math.sqrtbf16
- libc.src.math.tanbf16
- libc.src.math.truncbf16
- libc.src.math.totalorderbf16
- libc.src.math.totalordermagbf16
- libc.src.math.ufromfpbf16
- libc.src.math.ufromfpxbf16
-)
-
-set(TARGET_LLVMLIBC_ENTRYPOINTS
- ${TARGET_LIBC_ENTRYPOINTS}
- ${TARGET_LIBM_ENTRYPOINTS}
-)
-
+set(TARGET_LIBC_ENTRYPOINTS
+ # ctype.h entrypoints
+ libc.src.ctype.isalnum
+ libc.src.ctype.isalpha
+ libc.src.ctype.isascii
+ libc.src.ctype.isblank
+ libc.src.ctype.iscntrl
+ libc.src.ctype.isdigit
+ libc.src.ctype.isgraph
+ libc.src.ctype.islower
+ libc.src.ctype.isprint
+ libc.src.ctype.ispunct
+ libc.src.ctype.isspace
+ libc.src.ctype.isupper
+ libc.src.ctype.isxdigit
+ libc.src.ctype.toascii
+ libc.src.ctype.tolower
+ libc.src.ctype.toupper
+
+ # string.h entrypoints
+ libc.src.string.memccpy
+ libc.src.string.memchr
+ libc.src.string.memcmp
+ libc.src.string.memcpy
+ libc.src.string.memmem
+ libc.src.string.memmove
+ libc.src.string.mempcpy
+ libc.src.string.memrchr
+ libc.src.string.memset
+ libc.src.string.stpcpy
+ libc.src.string.stpncpy
+ libc.src.string.strcasestr
+ libc.src.string.strcat
+ libc.src.string.strchr
+ libc.src.string.strchrnul
+ libc.src.string.strcmp
+ libc.src.string.strcpy
+ libc.src.string.strcspn
+ libc.src.string.strlcat
+ libc.src.string.strlcpy
+ libc.src.string.strlen
+ libc.src.string.strncat
+ libc.src.string.strncmp
+ libc.src.string.strncpy
+ libc.src.string.strnlen
+ libc.src.string.strnlen_s
+ libc.src.string.strpbrk
+ libc.src.string.strrchr
+ libc.src.string.strspn
+ libc.src.string.strstr
+ libc.src.string.strtok
+ libc.src.string.strtok_r
+
+ # string.h entrypoints that depend on malloc
+ libc.src.string.strdup
+ libc.src.string.strndup
+
+ # strings.h entrypoints
+ libc.src.strings.bcmp
+ libc.src.strings.bcopy
+ libc.src.strings.bzero
+ libc.src.strings.strcasecmp
+ libc.src.strings.strncasecmp
+
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
+ # stdlib.h entrypoints
+ libc.src.stdlib.abs
+ libc.src.stdlib.atoi
+ libc.src.stdlib.atof
+ libc.src.stdlib.atol
+ libc.src.stdlib.atoll
+ libc.src.stdlib.bsearch
+ libc.src.stdlib.div
+ libc.src.stdlib.labs
+ libc.src.stdlib.ldiv
+ libc.src.stdlib.llabs
+ libc.src.stdlib.lldiv
+ libc.src.stdlib.memalignment
+ libc.src.stdlib.qsort
+ libc.src.stdlib.strtod
+ libc.src.stdlib.strtof
+ libc.src.stdlib.strtol
+ libc.src.stdlib.strtold
+ libc.src.stdlib.strtoll
+ libc.src.stdlib.strtoul
+ libc.src.stdlib.strtoull
+
+ # stdlib.h external entrypoints
+ libc.src.stdlib.malloc
+ libc.src.stdlib.calloc
+ libc.src.stdlib.realloc
+ libc.src.stdlib.aligned_alloc
+ libc.src.stdlib.free
+
+ # errno.h entrypoints
+ libc.src.errno.errno
+
+ # time.h entrypoints
+ libc.src.time.time
+ libc.src.time.clock_getres
+
+ # unistd.h entrypoints
+ libc.src.unistd.getentropy
+
+ # wctype.h entrypoints
+ libc.src.wctype.iswalpha
+ libc.src.wctype.iswupper
+ libc.src.wctype.iswalnum
+ libc.src.wctype.iswgraph
+ libc.src.wctype.iswcntrl
+ libc.src.wctype.iswdigit
+ libc.src.wctype.iswlower
+ libc.src.wctype.iswspace
+ libc.src.wctype.iswblank
+ libc.src.wctype.iswxdigit
+ libc.src.wctype.iswpunct
+ libc.src.wctype.iswprint
+ libc.src.wctype.iswctype
+ libc.src.wctype.wctype
+)
+
+set(TARGET_LIBM_ENTRYPOINTS
+ # fenv.h entrypoints
+ libc.src.fenv.feclearexcept
+ libc.src.fenv.fedisableexcept
+ libc.src.fenv.feenableexcept
+ libc.src.fenv.fegetenv
+ libc.src.fenv.fegetexcept
+ libc.src.fenv.fegetexceptflag
+ libc.src.fenv.fegetround
+ libc.src.fenv.feholdexcept
+ libc.src.fenv.fesetenv
+ libc.src.fenv.fesetexcept
+ libc.src.fenv.fesetexceptflag
+ libc.src.fenv.fesetround
+ libc.src.fenv.feraiseexcept
+ libc.src.fenv.fetestexcept
+ libc.src.fenv.fetestexceptflag
+ libc.src.fenv.feupdateenv
+
+ # math.h entrypoints
+ libc.src.math.acos
+ libc.src.math.acosf
+ libc.src.math.acoshf
+ libc.src.math.acospif
+ libc.src.math.asin
+ libc.src.math.asinf
+ libc.src.math.asinhf
+ libc.src.math.asinpi
+ libc.src.math.asinpif
+ libc.src.math.atan2
+ libc.src.math.atan2f
+ libc.src.math.atan2f128
+ libc.src.math.atan
+ libc.src.math.atanf
+ libc.src.math.atanhf
+ libc.src.math.cbrt
+ libc.src.math.cbrtf
+ libc.src.math.cbrtbf16
+ libc.src.math.copysign
+ libc.src.math.copysignf
+ libc.src.math.copysignf128
+ libc.src.math.copysignf80
+ libc.src.math.copysignl
+ libc.src.math.ceil
+ libc.src.math.ceilf
+ libc.src.math.ceilf128
+ libc.src.math.ceill
+ libc.src.math.cos
+ libc.src.math.cosf
+ libc.src.math.coshf
+ libc.src.math.daddl
+ libc.src.math.ddivl
+ libc.src.math.dfmal
+ libc.src.math.dsubl
+ libc.src.math.erff
+ libc.src.math.exp
+ libc.src.math.expf
+ libc.src.math.exp10
+ libc.src.math.exp10f
+ libc.src.math.exp2
+ libc.src.math.exp2f
+ libc.src.math.expm1
+ libc.src.math.expm1f
+ libc.src.math.fabs
+ libc.src.math.fabsf
+ libc.src.math.fabsf128
+ libc.src.math.fabsf80
+ libc.src.math.fabsl
+ libc.src.math.fadd
+ libc.src.math.faddl
+ libc.src.math.fdim
+ libc.src.math.fdimf
+ libc.src.math.fdimf128
+ libc.src.math.fdiml
+ libc.src.math.fdiv
+ libc.src.math.fdivl
+ libc.src.math.ffma
+ libc.src.math.ffmal
+ libc.src.math.floor
+ libc.src.math.floorf
+ libc.src.math.floorf128
+ libc.src.math.floorl
+ libc.src.math.fma
+ libc.src.math.fmabf16
+ libc.src.math.fmaf
+ libc.src.math.fmaximum_mag_numf128
+ libc.src.math.fmaximum_magf128
+ libc.src.math.fmin
+ libc.src.math.fminf
+ libc.src.math.fminf128
+ libc.src.math.fminimum_mag_numf128
+ libc.src.math.fminimum_magf128
+ libc.src.math.fminl
+ libc.src.math.fmax
+ libc.src.math.fmaxf
+ libc.src.math.fmaxf128
+ libc.src.math.fmaxl
+ libc.src.math.fmaximum
+ libc.src.math.fmaximumf
+ libc.src.math.fmaximumf128
+ libc.src.math.fmaximuml
+ libc.src.math.fmaximum_num
+ libc.src.math.fmaximum_numf
+ libc.src.math.fmaximum_numf128
+ libc.src.math.fmaximum_numl
+ libc.src.math.fmaximum_mag
+ libc.src.math.fmaximum_magf
+ libc.src.math.fmaximum_magl
+ libc.src.math.fmaximum_mag_num
+ libc.src.math.fmaximum_mag_numf
+ libc.src.math.fmaximum_mag_numl
+ libc.src.math.fminimum
+ libc.src.math.fminimumf
+ libc.src.math.fminimumf128
+ libc.src.math.fminimuml
+ libc.src.math.fminimum_num
+ libc.src.math.fminimum_numf
+ libc.src.math.fminimum_numf128
+ libc.src.math.fminimum_numl
+ libc.src.math.fminimum_mag
+ libc.src.math.fminimum_magf
+ libc.src.math.fminimum_magl
+ libc.src.math.fminimum_mag_num
+ libc.src.math.fminimum_mag_numf
+ libc.src.math.fminimum_mag_numl
+ libc.src.math.fmul
+ libc.src.math.fmod
+ libc.src.math.fmodf
+ libc.src.math.fmodl
+ libc.src.math.frexp
+ libc.src.math.frexpf
+ libc.src.math.frexpl
+ libc.src.math.fsub
+ libc.src.math.fsubl
+ libc.src.math.hypot
+ libc.src.math.hypotf
+ libc.src.math.ilogb
+ libc.src.math.ilogbf
+ libc.src.math.ilogbl
+ libc.src.math.iscanonicalf128
+ libc.src.math.isnanf128
+ libc.src.math.issignalingf128
+ libc.src.math.ldexp
+ libc.src.math.ldexpf
+ libc.src.math.ldexpl
+ libc.src.math.lgammaf
+ libc.src.math.llrint
+ libc.src.math.llrintf
+ libc.src.math.llrintf128
+ libc.src.math.llrintl
+ libc.src.math.llround
+ libc.src.math.llroundf
+ libc.src.math.llroundf128
+ libc.src.math.llroundl
+ libc.src.math.log10
+ libc.src.math.log10f
+ libc.src.math.log1p
+ libc.src.math.log1pf
+ libc.src.math.log2
+ libc.src.math.log2f
+ libc.src.math.log
+ libc.src.math.logf
+ libc.src.math.logb
+ libc.src.math.logbf
+ libc.src.math.logbl
+ libc.src.math.lrint
+ libc.src.math.lrintf
+ libc.src.math.lrintf128
+ libc.src.math.lrintl
+ libc.src.math.lround
+ libc.src.math.lroundf
+ libc.src.math.lroundf128
+ libc.src.math.lroundl
+ libc.src.math.modf
+ libc.src.math.modff
+ libc.src.math.modfl
+ libc.src.math.nan
+ libc.src.math.nanf
+ libc.src.math.nanl
+ libc.src.math.nearbyint
+ libc.src.math.nearbyintf
+ libc.src.math.nearbyintf128
+ libc.src.math.nearbyintl
+ libc.src.math.nextafter
+ libc.src.math.nextafterf
+ libc.src.math.nextafterl
+ libc.src.math.nexttoward
+ libc.src.math.nexttowardf
+ libc.src.math.nexttowardl
+ libc.src.math.pow
+ libc.src.math.powf
+ libc.src.math.remainderf
+ libc.src.math.remainder
+ libc.src.math.remainderl
+ libc.src.math.remquof
+ libc.src.math.remquo
+ libc.src.math.remquol
+ libc.src.math.rint
+ libc.src.math.rintf
+ libc.src.math.rintf128
+ libc.src.math.rintl
+ libc.src.math.round
+ libc.src.math.roundevenf128
+ libc.src.math.roundf
+ libc.src.math.roundf128
+ libc.src.math.roundl
+ libc.src.math.scalbln
+ libc.src.math.scalblnf
+ libc.src.math.scalblnl
+ libc.src.math.scalbn
+ libc.src.math.scalbnf
+ libc.src.math.scalbnl
+ libc.src.math.sin
+ libc.src.math.sincosf
+ libc.src.math.sincosf
+ libc.src.math.sinf
+ libc.src.math.sinhf
+ libc.src.math.sqrt
+ libc.src.math.sqrtf
+ libc.src.math.sqrtf128
+ libc.src.math.sqrtl
+ libc.src.math.tan
+ libc.src.math.tanf
+ libc.src.math.tanhf
+ libc.src.math.tanpif
+ libc.src.math.trunc
+ libc.src.math.truncf
+ libc.src.math.truncf128
+ libc.src.math.truncl
+)
+
+list(APPEND TARGET_LIBM_ENTRYPOINTS
+ # bfloat16 entrypoints
+ libc.src.math.atanbf16
+ libc.src.math.acosbf16
+ libc.src.math.asinbf16
+ libc.src.math.bf16add
+ libc.src.math.bf16addf
+ libc.src.math.bf16addl
+ libc.src.math.bf16div
+ libc.src.math.bf16divf
+ libc.src.math.bf16divl
+ libc.src.math.bf16fma
+ libc.src.math.bf16fmaf
+ libc.src.math.bf16fmal
+ libc.src.math.bf16mul
+ libc.src.math.bf16mulf
+ libc.src.math.bf16mull
+ libc.src.math.bf16sub
+ libc.src.math.bf16subf
+ libc.src.math.bf16subl
+ libc.src.math.canonicalizebf16
+ libc.src.math.ceilbf16
+ libc.src.math.copysignbf16
+ libc.src.math.exp2bf16
+ libc.src.math.expbf16
+ libc.src.math.fabsbf16
+ libc.src.math.fdimbf16
+ libc.src.math.floorbf16
+ libc.src.math.fmaxbf16
+ libc.src.math.fmaximumbf16
+ libc.src.math.fmaximum_magbf16
+ libc.src.math.fmaximum_mag_numbf16
+ libc.src.math.fmaximum_numbf16
+ libc.src.math.fminbf16
+ libc.src.math.fminimumbf16
+ libc.src.math.fminimum_magbf16
+ libc.src.math.fminimum_mag_numbf16
+ libc.src.math.fminimum_numbf16
+ libc.src.math.fmodbf16
+ libc.src.math.frexpbf16
+ libc.src.math.fromfpbf16
+ libc.src.math.fromfpxbf16
+ libc.src.math.getpayloadbf16
+ libc.src.math.hypotbf16
+ libc.src.math.ilogbbf16
+ libc.src.math.iscanonicalbf16
+ libc.src.math.issignalingbf16
+ libc.src.math.ldexpbf16
+ libc.src.math.llogbbf16
+ libc.src.math.llrintbf16
+ libc.src.math.llroundbf16
+ libc.src.math.log_bf16
+ libc.src.math.logbbf16
+ libc.src.math.lrintbf16
+ libc.src.math.lroundbf16
+ libc.src.math.modfbf16
+ libc.src.math.nanbf16
+ libc.src.math.nearbyintbf16
+ libc.src.math.nextafterbf16
+ libc.src.math.nextdownbf16
+ libc.src.math.nexttowardbf16
+ libc.src.math.nextupbf16
+ libc.src.math.remainderbf16
+ libc.src.math.remquobf16
+ libc.src.math.rintbf16
+ libc.src.math.roundbf16
+ libc.src.math.roundevenbf16
+ libc.src.math.scalblnbf16
+ libc.src.math.scalbnbf16
+ libc.src.math.setpayloadbf16
+ libc.src.math.setpayloadsigbf16
+ libc.src.math.sqrtbf16
+ libc.src.math.tanbf16
+ libc.src.math.truncbf16
+ libc.src.math.totalorderbf16
+ libc.src.math.totalordermagbf16
+ libc.src.math.ufromfpbf16
+ libc.src.math.ufromfpxbf16
+)
+
+set(TARGET_LLVMLIBC_ENTRYPOINTS
+ ${TARGET_LIBC_ENTRYPOINTS}
+ ${TARGET_LIBM_ENTRYPOINTS}
+)
+
More information about the libc-commits
mailing list