| # This file is licensed 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 |
| |
| # LLVM libc project. |
| load("@bazel_skylib//lib:selects.bzl", "selects") |
| load("@bazel_skylib//rules:common_settings.bzl", "string_flag") |
| load( |
| ":libc_build_rules.bzl", |
| "libc_function", |
| "libc_math_function", |
| "libc_support_library", |
| ) |
| load(":platforms.bzl", "PLATFORM_CPU_ARM64", "PLATFORM_CPU_X86_64") |
| |
| package( |
| default_visibility = ["//visibility:public"], |
| features = [ |
| "-use_header_modules", |
| "-layering_check", |
| ], |
| ) |
| |
| licenses(["notice"]) |
| |
| # A flag to pick which `mpfr` to use for math tests. |
| # Usage: `--@llvm-project//libc:mpfr=<disable|external|system>`. |
| # Flag documentation: https://bazel.build/extending/config |
| string_flag( |
| name = "mpfr", |
| build_setting_default = "external", |
| values = [ |
| "disable", # Skip tests that need mpfr |
| "external", # Build mpfr from source |
| "system", # Use system mpfr (non hermetic) |
| ], |
| ) |
| |
| config_setting( |
| name = "mpfr_disable", |
| flag_values = {":mpfr": "disable"}, |
| ) |
| |
| config_setting( |
| name = "mpfr_external", |
| flag_values = {":mpfr": "external"}, |
| ) |
| |
| config_setting( |
| name = "mpfr_system", |
| flag_values = {":mpfr": "system"}, |
| ) |
| |
| ################################## Base Config ################################# |
| |
| cc_library( |
| name = "__support_macros_config", |
| hdrs = ["src/__support/macros/config.h"], |
| ) |
| |
| ################################# Include Files ################################ |
| |
| libc_support_library( |
| name = "llvm_libc_macros_math_macros", |
| hdrs = ["include/llvm-libc-macros/math-macros.h"], |
| deps = [":llvm_libc_macros_limits_macros"], |
| ) |
| |
| libc_support_library( |
| name = "llvm_libc_macros_limits_macros", |
| hdrs = ["include/llvm-libc-macros/limits-macros.h"], |
| ) |
| |
| libc_support_library( |
| name = "llvm_libc_macros_float_macros", |
| hdrs = ["include/llvm-libc-macros/float-macros.h"], |
| ) |
| |
| libc_support_library( |
| name = "llvm_libc_macros_float16_macros", |
| hdrs = ["include/llvm-libc-macros/float16-macros.h"], |
| deps = [":llvm_libc_types_float128"], |
| ) |
| |
| libc_support_library( |
| name = "llvm_libc_macros_stdint_macros", |
| hdrs = ["include/llvm-libc-macros/stdint-macros.h"], |
| ) |
| |
| libc_support_library( |
| name = "llvm_libc_macros_stdfix_macros", |
| hdrs = ["include/llvm-libc-macros/stdfix-macros.h"], |
| deps = [":llvm_libc_macros_float_macros"], |
| ) |
| |
| libc_support_library( |
| name = "llvm_libc_types_float128", |
| hdrs = ["include/llvm-libc-types/float128.h"], |
| target_compatible_with = select({ |
| "@platforms//os:linux": [], |
| "//conditions:default": ["@platforms//:incompatible"], |
| }), |
| deps = [":llvm_libc_macros_float_macros"], |
| ) |
| |
| libc_support_library( |
| name = "llvm_libc_macros_fcntl_macros", |
| hdrs = ["include/llvm-libc-macros/linux/fcntl-macros.h"], |
| ) |
| |
| ########################### Macro Proxy Header Files ########################### |
| |
| libc_support_library( |
| name = "hdr_math_macros", |
| hdrs = ["hdr/math_macros.h"], |
| ) |
| |
| libc_support_library( |
| name = "hdr_fenv_macros", |
| hdrs = ["hdr/fenv_macros.h"], |
| ) |
| |
| libc_support_library( |
| name = "hdr_signal_macros", |
| hdrs = ["hdr/signal_macros.h"], |
| ) |
| |
| libc_support_library( |
| name = "hdr_sys_epoll_macros", |
| hdrs = ["hdr/sys_epoll_macros.h"], |
| ) |
| |
| libc_support_library( |
| name = "hdr_errno_macros", |
| hdrs = ["hdr/errno_macros.h"], |
| ) |
| |
| libc_support_library( |
| name = "hdr_time_macros", |
| hdrs = ["hdr/time_macros.h"], |
| ) |
| |
| libc_support_library( |
| name = "hdr_float_macros", |
| hdrs = ["hdr/float_macros.h"], |
| ) |
| |
| libc_support_library( |
| name = "hdr_stdio_macros", |
| hdrs = ["hdr/stdio_macros.h"], |
| ) |
| |
| libc_support_library( |
| name = "hdr_limits_macros", |
| hdrs = ["hdr/limits_macros.h"], |
| ) |
| |
| ############################ Type Proxy Header Files ########################### |
| |
| libc_support_library( |
| name = "types_clockid_t", |
| hdrs = ["hdr/types/clockid_t.h"], |
| ) |
| |
| libc_support_library( |
| name = "types_fenv_t", |
| hdrs = ["hdr/types/fenv_t.h"], |
| ) |
| |
| libc_support_library( |
| name = "types_fexcept_t", |
| hdrs = ["hdr/types/fexcept_t.h"], |
| ) |
| |
| libc_support_library( |
| name = "types_sigset_t", |
| hdrs = ["hdr/types/sigset_t.h"], |
| ) |
| |
| libc_support_library( |
| name = "types_struct_epoll_event", |
| hdrs = ["hdr/types/struct_epoll_event.h"], |
| ) |
| |
| libc_support_library( |
| name = "types_struct_timespec", |
| hdrs = ["hdr/types/struct_timespec.h"], |
| ) |
| |
| libc_support_library( |
| name = "types_time_t", |
| hdrs = ["hdr/types/time_t.h"], |
| ) |
| |
| libc_support_library( |
| name = "types_pid_t", |
| hdrs = ["hdr/types/pid_t.h"], |
| ) |
| |
| libc_support_library( |
| name = "types_off_t", |
| hdrs = ["hdr/types/off_t.h"], |
| ) |
| |
| libc_support_library( |
| name = "types_FILE", |
| hdrs = ["hdr/types/FILE.h"], |
| ) |
| |
| ############################### Support libraries ############################## |
| |
| libc_support_library( |
| name = "__support_macros_properties_architectures", |
| hdrs = ["src/__support/macros/properties/architectures.h"], |
| ) |
| |
| libc_support_library( |
| name = "__support_macros_properties_compiler", |
| hdrs = ["src/__support/macros/properties/compiler.h"], |
| ) |
| |
| libc_support_library( |
| name = "__support_macros_properties_os", |
| hdrs = ["src/__support/macros/properties/os.h"], |
| ) |
| |
| libc_support_library( |
| name = "__support_macros_properties_types", |
| hdrs = ["src/__support/macros/properties/types.h"], |
| deps = [ |
| ":__support_macros_properties_architectures", |
| ":__support_macros_properties_compiler", |
| ":__support_macros_properties_cpu_features", |
| ":__support_macros_properties_os", |
| ":hdr_float_macros", |
| ":llvm_libc_macros_float16_macros", |
| ":llvm_libc_types_float128", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_macros_properties_cpu_features", |
| hdrs = ["src/__support/macros/properties/cpu_features.h"], |
| deps = [ |
| "__support_macros_properties_architectures", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_macros_attributes", |
| hdrs = ["src/__support/macros/attributes.h"], |
| deps = [ |
| ":__support_macros_properties_architectures", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_macros_optimization", |
| hdrs = ["src/__support/macros/optimization.h"], |
| deps = [ |
| ":__support_macros_attributes", |
| ":__support_macros_config", |
| ":__support_macros_properties_compiler", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_macros_sanitizer", |
| hdrs = ["src/__support/macros/sanitizer.h"], |
| deps = [ |
| ":__support_macros_config", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_macros_null_check", |
| hdrs = ["src/__support/macros/null_check.h"], |
| deps = [ |
| ":__support_macros_config", |
| ":__support_macros_optimization", |
| ":__support_macros_sanitizer", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_common", |
| hdrs = [ |
| "src/__support/common.h", |
| "src/__support/endian.h", |
| ], |
| deps = [ |
| ":__support_macros_attributes", |
| ":__support_macros_config", |
| ":__support_macros_properties_architectures", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_algorithm", |
| hdrs = ["src/__support/CPP/algorithm.h"], |
| deps = [ |
| ":__support_macros_attributes", |
| ":__support_macros_config", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_iterator", |
| hdrs = ["src/__support/CPP/iterator.h"], |
| deps = [ |
| ":__support_cpp_type_traits", |
| ":__support_macros_attributes", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_array", |
| hdrs = ["src/__support/CPP/array.h"], |
| deps = [ |
| ":__support_cpp_iterator", |
| ":__support_macros_attributes", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_bit", |
| hdrs = ["src/__support/CPP/bit.h"], |
| deps = [ |
| ":__support_cpp_limits", |
| ":__support_cpp_type_traits", |
| ":__support_macros_attributes", |
| ":__support_macros_sanitizer", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_bitset", |
| hdrs = ["src/__support/CPP/bitset.h"], |
| deps = [ |
| ":__support_macros_attributes", |
| ":__support_macros_config", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_cstddef", |
| hdrs = ["src/__support/CPP/cstddef.h"], |
| deps = [ |
| ":__support_cpp_type_traits", |
| ":__support_macros_attributes", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_expected", |
| hdrs = ["src/__support/CPP/expected.h"], |
| deps = [ |
| ":__support_macros_attributes", |
| ":__support_macros_config", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_functional", |
| hdrs = ["src/__support/CPP/functional.h"], |
| deps = [ |
| "__support_cpp_type_traits", |
| "__support_cpp_utility", |
| "__support_macros_attributes", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_limits", |
| hdrs = ["src/__support/CPP/limits.h"], |
| deps = [ |
| "__support_cpp_type_traits", |
| "__support_macros_attributes", |
| ":__support_macros_properties_types", |
| ":hdr_limits_macros", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_new", |
| srcs = ["src/__support/CPP/new.cpp"], |
| hdrs = ["src/__support/CPP/new.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_macros_properties_os", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_optional", |
| hdrs = ["src/__support/CPP/optional.h"], |
| deps = [ |
| ":__support_cpp_utility", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_span", |
| hdrs = ["src/__support/CPP/span.h"], |
| deps = [ |
| ":__support_cpp_array", |
| ":__support_cpp_type_traits", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_string_view", |
| hdrs = ["src/__support/CPP/string_view.h"], |
| deps = [ |
| ":__support_common", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_stringstream", |
| hdrs = ["src/__support/CPP/stringstream.h"], |
| deps = [ |
| ":__support_cpp_span", |
| ":__support_cpp_string_view", |
| ":__support_cpp_type_traits", |
| ":__support_integer_to_string", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_string", |
| hdrs = ["src/__support/CPP/string.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_string_view", |
| ":__support_integer_to_string", |
| ":string_memory_utils", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_type_traits", |
| hdrs = glob(["src/__support/CPP/type_traits/*.h"]) + [ |
| "src/__support/CPP/type_traits.h", |
| "src/__support/CPP/utility/declval.h", |
| "src/__support/CPP/utility/forward.h", |
| ], |
| deps = [ |
| ":__support_macros_attributes", |
| ":__support_macros_config", |
| ":__support_macros_properties_types", |
| ":llvm_libc_macros_stdfix_macros", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_utility", |
| hdrs = glob(["src/__support/CPP/utility/*.h"]) + [ |
| "src/__support/CPP/utility.h", |
| ], |
| deps = [ |
| ":__support_cpp_type_traits", |
| ":__support_macros_attributes", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_cpp_atomic", |
| hdrs = ["src/__support/CPP/atomic.h"], |
| deps = [ |
| ":__support_cpp_type_traits", |
| ":__support_macros_attributes", |
| ":__support_macros_properties_architectures", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_blockstore", |
| hdrs = ["src/__support/blockstore.h"], |
| deps = [ |
| ":__support_cpp_new", |
| ":__support_libc_assert", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_arg_list", |
| hdrs = ["src/__support/arg_list.h"], |
| deps = [ |
| ":__support_common", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_c_string", |
| hdrs = ["src/__support/c_string.h"], |
| deps = [ |
| ":__support_cpp_string", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fixedvector", |
| hdrs = ["src/__support/fixedvector.h"], |
| deps = [ |
| ":__support_cpp_array", |
| ":__support_cpp_iterator", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_char_vector", |
| hdrs = ["src/__support/char_vector.h"], |
| deps = [ |
| ":__support_common", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_error_or", |
| hdrs = ["src/__support/error_or.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_expected", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_float_to_string", |
| hdrs = [ |
| "src/__support/float_to_string.h", |
| "src/__support/ryu_constants.h", |
| "src/__support/ryu_long_double_constants.h", |
| ], |
| deps = [ |
| ":__support_big_int", |
| ":__support_common", |
| ":__support_cpp_type_traits", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_fp_bits", |
| ":__support_libc_assert", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_number_pair", |
| hdrs = ["src/__support/number_pair.h"], |
| deps = [ |
| ":__support_cpp_type_traits", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_big_int", |
| hdrs = ["src/__support/big_int.h"], |
| deps = [ |
| ":__support_cpp_array", |
| ":__support_cpp_bit", |
| ":__support_cpp_limits", |
| ":__support_cpp_optional", |
| ":__support_cpp_type_traits", |
| ":__support_macros_attributes", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_types", |
| ":__support_math_extras", |
| ":__support_number_pair", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_sign", |
| hdrs = ["src/__support/sign.h"], |
| deps = [ |
| ":__support_macros_attributes", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_uint128", |
| hdrs = ["src/__support/uint128.h"], |
| deps = [ |
| ":__support_big_int", |
| ":__support_macros_attributes", |
| ":__support_macros_properties_types", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_integer_literals", |
| hdrs = ["src/__support/integer_literals.h"], |
| deps = [ |
| ":__support_cpp_limits", |
| ":__support_uint128", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_str_to_num_result", |
| hdrs = ["src/__support/str_to_num_result.h"], |
| deps = [ |
| ":__support_macros_attributes", |
| ":__support_macros_config", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_integer_operations", |
| hdrs = ["src/__support/integer_operations.h"], |
| deps = [":__support_cpp_type_traits"], |
| ) |
| |
| libc_support_library( |
| name = "__support_integer_to_string", |
| hdrs = ["src/__support/integer_to_string.h"], |
| deps = [ |
| ":__support_big_int", |
| ":__support_common", |
| ":__support_cpp_algorithm", |
| ":__support_cpp_bit", |
| ":__support_cpp_limits", |
| ":__support_cpp_optional", |
| ":__support_cpp_span", |
| ":__support_cpp_string_view", |
| ":__support_cpp_type_traits", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_libc_assert", |
| hdrs = ["src/__support/libc_assert.h"], |
| deps = [ |
| ":__support_integer_to_string", |
| ":__support_macros_attributes", |
| ":__support_osutil_exit", |
| ":__support_osutil_io", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_ctype_utils", |
| hdrs = ["src/__support/ctype_utils.h"], |
| deps = [ |
| ":__support_macros_attributes", |
| ":__support_macros_config", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_str_to_integer", |
| hdrs = ["src/__support/str_to_integer.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_limits", |
| ":__support_cpp_type_traits", |
| ":__support_ctype_utils", |
| ":__support_str_to_num_result", |
| ":__support_uint128", |
| ":errno", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_str_to_float", |
| hdrs = [ |
| "src/__support/detailed_powers_of_ten.h", |
| "src/__support/high_precision_decimal.h", |
| "src/__support/str_to_float.h", |
| ], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_bit", |
| ":__support_cpp_limits", |
| ":__support_cpp_optional", |
| ":__support_cpp_string_view", |
| ":__support_ctype_utils", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_null_check", |
| ":__support_str_to_integer", |
| ":__support_str_to_num_result", |
| ":__support_uint128", |
| ":errno", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_basic_operations", |
| hdrs = [ |
| "src/__support/FPUtil/BasicOperations.h", |
| "src/__support/FPUtil/generic/add_sub.h", |
| "src/__support/FPUtil/generic/div.h", |
| "src/__support/FPUtil/generic/mul.h", |
| ], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_type_traits", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_fenv_impl", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_optimization", |
| ":__support_uint128", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_file_file", |
| srcs = [ |
| "include/llvm-libc-types/off_t.h", |
| "src/__support/File/file.cpp", |
| ], |
| hdrs = ["src/__support/File/file.h"], |
| deps = [ |
| ":__support_cpp_new", |
| ":__support_cpp_span", |
| ":__support_error_or", |
| ":__support_threads_mutex", |
| ":errno", |
| ":hdr_stdio_macros", |
| ":types_off_t", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_file_linux_lseekimpl", |
| hdrs = ["src/__support/File/linux/lseekImpl.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_error_or", |
| ":__support_osutil_syscall", |
| ":errno", |
| ":types_off_t", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_math_extras", |
| hdrs = ["src/__support/math_extras.h"], |
| deps = [ |
| ":__support_cpp_bit", |
| ":__support_cpp_limits", |
| ":__support_cpp_type_traits", |
| ":__support_macros_attributes", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fixed_point", |
| hdrs = [ |
| "src/__support/fixed_point/fx_bits.h", |
| "src/__support/fixed_point/fx_rep.h", |
| ], |
| deps = [ |
| ":__support_cpp_bit", |
| ":__support_cpp_type_traits", |
| ":__support_macros_attributes", |
| ":__support_macros_optimization", |
| ":__support_math_extras", |
| ":llvm_libc_macros_stdfix_macros", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_generic_fmod", |
| hdrs = ["src/__support/FPUtil/generic/FMod.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_bit", |
| ":__support_cpp_limits", |
| ":__support_cpp_type_traits", |
| ":__support_fputil_fenv_impl", |
| ":__support_fputil_fp_bits", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_division_and_remainder_operations", |
| hdrs = ["src/__support/FPUtil/DivisionAndRemainderOperations.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_type_traits", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_manipulation_functions", |
| ":__support_fputil_normal_float", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_except_value_utils", |
| hdrs = ["src/__support/FPUtil/except_value_utils.h"], |
| deps = [ |
| ":__support_cpp_optional", |
| ":__support_fputil_fenv_impl", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_rounding_mode", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_fenv_impl", |
| hdrs = ["src/__support/FPUtil/FEnvImpl.h"], |
| textual_hdrs = [ |
| "src/__support/FPUtil/x86_64/FEnvImpl.h", |
| "src/__support/FPUtil/aarch64/FEnvImpl.h", |
| "src/__support/FPUtil/aarch64/fenv_darwin_impl.h", |
| ], |
| deps = [ |
| ":__support_fputil_fp_bits", |
| ":__support_macros_attributes", |
| ":__support_macros_properties_architectures", |
| ":__support_macros_sanitizer", |
| ":errno", |
| ":hdr_fenv_macros", |
| ":hdr_math_macros", |
| ":types_fenv_t", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_rounding_mode", |
| hdrs = ["src/__support/FPUtil/rounding_mode.h"], |
| deps = [ |
| ":__support_macros_attributes", |
| ":__support_macros_config", |
| ":hdr_fenv_macros", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_fp_bits", |
| hdrs = ["src/__support/FPUtil/FPBits.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_bit", |
| ":__support_cpp_type_traits", |
| ":__support_libc_assert", |
| ":__support_macros_attributes", |
| ":__support_macros_properties_types", |
| ":__support_math_extras", |
| ":__support_sign", |
| ":__support_uint128", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_fpbits_str", |
| hdrs = ["src/__support/FPUtil/fpbits_str.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_string", |
| ":__support_cpp_type_traits", |
| ":__support_fputil_fp_bits", |
| ":__support_integer_to_string", |
| ":__support_uint128", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_hypot", |
| hdrs = ["src/__support/FPUtil/Hypot.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_bit", |
| ":__support_cpp_type_traits", |
| ":__support_fputil_basic_operations", |
| ":__support_fputil_fenv_impl", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_rounding_mode", |
| ":__support_uint128", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_manipulation_functions", |
| hdrs = ["src/__support/FPUtil/ManipulationFunctions.h"], |
| textual_hdrs = [ |
| "src/__support/FPUtil/x86_64/NextAfterLongDouble.h", |
| "src/__support/FPUtil/x86_64/NextUpDownLongDouble.h", |
| ], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_bit", |
| ":__support_cpp_limits", |
| ":__support_cpp_type_traits", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_nearest_integer_operations", |
| ":__support_fputil_normal_float", |
| ":__support_macros_optimization", |
| ":__support_uint128", |
| ":hdr_math_macros", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_nearest_integer_operations", |
| hdrs = ["src/__support/FPUtil/NearestIntegerOperations.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_type_traits", |
| ":__support_fputil_fenv_impl", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_attributes", |
| ":hdr_math_macros", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_normal_float", |
| hdrs = ["src/__support/FPUtil/NormalFloat.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_type_traits", |
| ":__support_fputil_fp_bits", |
| ], |
| ) |
| |
| sqrt_common_hdrs = [ |
| "src/__support/FPUtil/sqrt.h", |
| "src/__support/FPUtil/generic/sqrt.h", |
| "src/__support/FPUtil/generic/sqrt_80_bit_long_double.h", |
| ] |
| |
| sqrt_hdrs = selects.with_or({ |
| "//conditions:default": sqrt_common_hdrs, |
| PLATFORM_CPU_X86_64: sqrt_common_hdrs + [ |
| "src/__support/FPUtil/x86_64/sqrt.h", |
| ], |
| PLATFORM_CPU_ARM64: sqrt_common_hdrs + [ |
| "src/__support/FPUtil/aarch64/sqrt.h", |
| ], |
| }) |
| |
| libc_support_library( |
| name = "__support_fputil_sqrt", |
| hdrs = sqrt_hdrs, |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_bit", |
| ":__support_cpp_type_traits", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_fenv_impl", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_rounding_mode", |
| ":__support_uint128", |
| ], |
| ) |
| |
| fma_common_hdrs = [ |
| "src/__support/FPUtil/FMA.h", |
| "src/__support/FPUtil/generic/FMA.h", |
| ] |
| |
| libc_support_library( |
| name = "__support_fputil_fma", |
| hdrs = fma_common_hdrs, |
| deps = [ |
| ":__support_cpp_bit", |
| ":__support_cpp_type_traits", |
| ":__support_fputil_basic_operations", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_fenv_impl", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_attributes", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":__support_uint128", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_multiply_add", |
| hdrs = [ |
| "src/__support/FPUtil/multiply_add.h", |
| ], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_type_traits", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_polyeval", |
| hdrs = [ |
| "src/__support/FPUtil/PolyEval.h", |
| ], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_multiply_add", |
| ], |
| ) |
| |
| nearest_integer_common_hdrs = [ |
| "src/__support/FPUtil/nearest_integer.h", |
| ] |
| |
| nearest_integer_platform_hdrs = [ |
| "src/__support/FPUtil/x86_64/nearest_integer.h", |
| "src/__support/FPUtil/aarch64/nearest_integer.h", |
| ] |
| |
| libc_support_library( |
| name = "__support_fputil_nearest_integer", |
| hdrs = nearest_integer_common_hdrs, |
| # These are conditionally included and will #error out if the platform |
| # doesn't support rounding instructions, so they can't be compiled on their |
| # own. |
| textual_hdrs = nearest_integer_platform_hdrs, |
| deps = [ |
| ":__support_common", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_architectures", |
| ":__support_macros_properties_cpu_features", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_double_double", |
| hdrs = ["src/__support/FPUtil/double_double.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_multiply_add", |
| ":__support_number_pair", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_triple_double", |
| hdrs = ["src/__support/FPUtil/triple_double.h"], |
| deps = [ |
| ":__support_common", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_fputil_dyadic_float", |
| hdrs = ["src/__support/FPUtil/dyadic_float.h"], |
| deps = [ |
| ":__support_big_int", |
| ":__support_common", |
| ":__support_cpp_type_traits", |
| ":__support_fputil_fenv_impl", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_multiply_add", |
| ":__support_macros_optimization", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_osutil_syscall", |
| hdrs = ["src/__support/OSUtil/syscall.h"], |
| textual_hdrs = select({ |
| "@platforms//os:macos": [ |
| "src/__support/OSUtil/darwin/syscall.h", |
| "src/__support/OSUtil/darwin/arm/syscall.h", |
| ], |
| "@platforms//os:linux": [ |
| "src/__support/OSUtil/linux/syscall.h", |
| "src/__support/OSUtil/linux/aarch64/syscall.h", |
| "src/__support/OSUtil/linux/x86_64/syscall.h", |
| ], |
| }), |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_bit", |
| ":__support_macros_sanitizer", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_osutil_io", |
| hdrs = ["src/__support/OSUtil/io.h"], |
| textual_hdrs = select({ |
| "@platforms//os:macos": ["src/__support/OSUtil/darwin/io.h"], |
| "@platforms//os:linux": ["src/__support/OSUtil/linux/io.h"], |
| }), |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_string_view", |
| ":__support_osutil_syscall", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_osutil_exit", |
| srcs = ["src/__support/OSUtil/linux/exit.cpp"], |
| hdrs = ["src/__support/OSUtil/exit.h"], |
| target_compatible_with = select({ |
| "@platforms//os:linux": [], |
| "//conditions:default": ["@platforms//:incompatible"], |
| }), |
| deps = [ |
| ":__support_osutil_syscall", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_stringutil", |
| srcs = glob(["src/__support/StringUtil/tables/**/*.h"]) + [ |
| "src/__support/StringUtil/error_to_string.cpp", |
| "src/__support/StringUtil/message_mapper.h", |
| "src/__support/StringUtil/platform_errors.h", |
| "src/__support/StringUtil/platform_signals.h", |
| "src/__support/StringUtil/signal_to_string.cpp", |
| ], |
| hdrs = [ |
| "src/__support/StringUtil/error_to_string.h", |
| "src/__support/StringUtil/signal_to_string.h", |
| ], |
| target_compatible_with = select({ |
| "@platforms//os:linux": [], |
| "//conditions:default": ["@platforms//:incompatible"], |
| }), |
| deps = [ |
| ":__support_cpp_array", |
| ":__support_cpp_span", |
| ":__support_cpp_string_view", |
| ":__support_cpp_stringstream", |
| ":__support_integer_to_string", |
| ":__support_macros_attributes", |
| ":errno", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_threads_linux_futex_word_type", |
| hdrs = [ |
| "src/__support/threads/linux/futex_word.h", |
| ], |
| target_compatible_with = select({ |
| "@platforms//os:linux": [], |
| "//conditions:default": ["@platforms//:incompatible"], |
| }), |
| deps = [ |
| ":__support_osutil_syscall", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_threads_linux_futex_utils", |
| hdrs = [ |
| "src/__support/threads/linux/futex_utils.h", |
| ], |
| target_compatible_with = select({ |
| "@platforms//os:linux": [], |
| "//conditions:default": ["@platforms//:incompatible"], |
| }), |
| deps = [ |
| ":__support_cpp_atomic", |
| ":__support_cpp_optional", |
| ":__support_osutil_syscall", |
| ":__support_threads_linux_futex_word_type", |
| ":__support_time_linux", |
| ":types_struct_timespec", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_threads_sleep", |
| hdrs = ["src/__support/threads/sleep.h"], |
| deps = [ |
| ":__support_macros_attributes", |
| ":__support_macros_config", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_threads_raw_mutex", |
| hdrs = [ |
| "src/__support/threads/linux/raw_mutex.h", |
| ], |
| defines = [ |
| "LIBC_COPT_TIMEOUT_ENSURE_MONOTONICITY", |
| "LIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT", |
| ], |
| target_compatible_with = select({ |
| "@platforms//os:linux": [], |
| "//conditions:default": ["@platforms//:incompatible"], |
| }), |
| deps = [ |
| ":__support_cpp_optional", |
| ":__support_threads_linux_futex_utils", |
| ":__support_threads_sleep", |
| ":__support_time_linux", |
| ":types_pid_t", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_threads_mutex", |
| hdrs = [ |
| "src/__support/threads/mutex.h", |
| "src/__support/threads/mutex_common.h", |
| ], |
| target_compatible_with = select({ |
| "@platforms//os:linux": [], |
| "//conditions:default": ["@platforms//:incompatible"], |
| }), |
| textual_hdrs = [ |
| "src/__support/threads/linux/mutex.h", |
| ], |
| deps = [ |
| ":__support_cpp_atomic", |
| ":__support_osutil_syscall", |
| ":__support_threads_linux_futex_utils", |
| ":__support_threads_raw_mutex", |
| ":types_pid_t", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_time", |
| hdrs = glob(["src/__support/time/*.h"]), |
| deps = [ |
| ":__support_common", |
| ":hdr_time_macros", |
| ":types_time_t", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "__support_time_linux", |
| hdrs = glob(["src/__support/time/linux/**/*.h"]), |
| target_compatible_with = select({ |
| "@platforms//os:linux": [], |
| "//conditions:default": ["@platforms//:incompatible"], |
| }), |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_expected", |
| ":__support_error_or", |
| ":__support_libc_assert", |
| ":__support_time", |
| ":hdr_time_macros", |
| ":types_clockid_t", |
| ":types_struct_timespec", |
| ], |
| ) |
| |
| ############################### errno targets ################################ |
| |
| libc_function( |
| name = "errno", |
| srcs = ["src/errno/libc_errno.cpp"], |
| hdrs = ["src/errno/libc_errno.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_atomic", |
| ":__support_macros_attributes", |
| ":__support_macros_properties_architectures", |
| ":hdr_errno_macros", |
| ], |
| ) |
| |
| ################################ fenv targets ################################ |
| |
| libc_function( |
| name = "fetestexcept", |
| srcs = ["src/fenv/fetestexcept.cpp"], |
| hdrs = ["src/fenv/fetestexcept.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| libc_function( |
| name = "fetestexceptflag", |
| srcs = ["src/fenv/fetestexceptflag.cpp"], |
| hdrs = ["src/fenv/fetestexceptflag.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ":types_fexcept_t", |
| ], |
| ) |
| |
| libc_function( |
| name = "feclearexcept", |
| srcs = ["src/fenv/feclearexcept.cpp"], |
| hdrs = ["src/fenv/feclearexcept.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| libc_function( |
| name = "feraiseexcept", |
| srcs = ["src/fenv/feraiseexcept.cpp"], |
| hdrs = ["src/fenv/feraiseexcept.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| libc_function( |
| name = "fegetround", |
| srcs = ["src/fenv/fegetround.cpp"], |
| hdrs = ["src/fenv/fegetround.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| libc_function( |
| name = "fesetround", |
| srcs = ["src/fenv/fesetround.cpp"], |
| hdrs = ["src/fenv/fesetround.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| libc_function( |
| name = "fedisableexcept", |
| srcs = ["src/fenv/fedisableexcept.cpp"], |
| hdrs = ["src/fenv/fedisableexcept.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| libc_function( |
| name = "feenableexcept", |
| srcs = ["src/fenv/feenableexcept.cpp"], |
| hdrs = ["src/fenv/feenableexcept.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| libc_function( |
| name = "fegetexcept", |
| srcs = ["src/fenv/fegetexcept.cpp"], |
| hdrs = ["src/fenv/fegetexcept.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| libc_function( |
| name = "fegetenv", |
| srcs = ["src/fenv/fegetenv.cpp"], |
| hdrs = ["src/fenv/fegetenv.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| libc_function( |
| name = "fesetenv", |
| srcs = ["src/fenv/fesetenv.cpp"], |
| hdrs = ["src/fenv/fesetenv.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| libc_function( |
| name = "feupdateenv", |
| srcs = ["src/fenv/feupdateenv.cpp"], |
| hdrs = ["src/fenv/feupdateenv.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| libc_function( |
| name = "fesetexcept", |
| srcs = ["src/fenv/fesetexcept.cpp"], |
| hdrs = ["src/fenv/fesetexcept.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| libc_function( |
| name = "fegetexceptflag", |
| srcs = ["src/fenv/fegetexceptflag.cpp"], |
| hdrs = ["src/fenv/fegetexceptflag.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ":types_fexcept_t", |
| ], |
| ) |
| |
| libc_function( |
| name = "fesetexceptflag", |
| srcs = ["src/fenv/fesetexceptflag.cpp"], |
| hdrs = ["src/fenv/fesetexceptflag.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ":types_fexcept_t", |
| ], |
| ) |
| |
| libc_function( |
| name = "feholdexcept", |
| srcs = ["src/fenv/feholdexcept.cpp"], |
| hdrs = ["src/fenv/feholdexcept.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ], |
| ) |
| |
| ########################### math support library ############################### |
| |
| libc_support_library( |
| name = "common_constants", |
| srcs = ["src/math/generic/common_constants.cpp"], |
| hdrs = ["src/math/generic/common_constants.h"], |
| deps = [ |
| ":__support_fputil_triple_double", |
| ":__support_number_pair", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "range_reduction", |
| hdrs = [ |
| "src/math/generic/range_reduction.h", |
| "src/math/generic/range_reduction_fma.h", |
| ], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fma", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "range_reduction_double", |
| hdrs = [ |
| "src/math/generic/range_reduction_double_common.h", |
| "src/math/generic/range_reduction_double_fma.h", |
| "src/math/generic/range_reduction_double_nofma.h", |
| ], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_double_double", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_rounding_mode", |
| ":__support_integer_literals", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "sincos_eval", |
| hdrs = [ |
| "src/math/generic/sincos_eval.h", |
| ], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_double_double", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_polyeval", |
| ":__support_integer_literals", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "sincosf_utils", |
| hdrs = ["src/math/generic/sincosf_utils.h"], |
| deps = [ |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_polyeval", |
| ":range_reduction", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "explogxf", |
| srcs = ["src/math/generic/explogxf.cpp"], |
| hdrs = ["src/math/generic/explogxf.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fenv_impl", |
| ":__support_fputil_fma", |
| ":__support_fputil_fp_bits", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":common_constants", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "inv_trigf_utils", |
| srcs = ["src/math/generic/inv_trigf_utils.cpp"], |
| hdrs = ["src/math/generic/inv_trigf_utils.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_polyeval", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "log_range_reduction", |
| hdrs = ["src/math/generic/log_range_reduction.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_fputil_dyadic_float", |
| ":__support_uint128", |
| ":common_constants", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "exp10f_impl", |
| hdrs = ["src/math/generic/exp10f_impl.h"], |
| deps = [ |
| ":__support_fputil_basic_operations", |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "exp2f_impl", |
| hdrs = ["src/math/generic/exp2f_impl.h"], |
| deps = [ |
| ":__support_fputil_except_value_utils", |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ], |
| ) |
| |
| ################################ math targets ################################## |
| |
| libc_math_function( |
| name = "acosf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_sqrt", |
| ":__support_macros_optimization", |
| ":inv_trigf_utils", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "acoshf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_sqrt", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "asinf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_sqrt", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":inv_trigf_utils", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "asinhf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_sqrt", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "atanf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_optimization", |
| ":inv_trigf_utils", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "atan2f", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_nearest_integer", |
| ":inv_trigf_utils", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "atan2", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_nearest_integer", |
| ":inv_trigf_utils", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "atanhf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ], |
| ) |
| |
| libc_math_function(name = "canonicalize") |
| |
| libc_math_function(name = "canonicalizef") |
| |
| libc_math_function(name = "canonicalizel") |
| |
| libc_math_function(name = "canonicalizef128") |
| |
| libc_math_function( |
| name = "cbrt", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_polyeval", |
| ":__support_integer_literals", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "cbrtf", |
| additional_deps = [ |
| ":__support_fputil_polyeval", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "ceil", |
| specializations = [ |
| "generic", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "ceilf", |
| specializations = [ |
| "generic", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "ceill", |
| specializations = [ |
| "generic", |
| ], |
| ) |
| |
| libc_math_function(name = "ceilf128") |
| |
| libc_math_function(name = "copysign") |
| |
| libc_math_function(name = "copysignf") |
| |
| libc_math_function(name = "copysignl") |
| |
| libc_math_function(name = "copysignf128") |
| |
| libc_math_function( |
| name = "cos", |
| additional_deps = [ |
| ":__support_fputil_multiply_add", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":range_reduction_double", |
| ":sincos_eval", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "cosf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":sincosf_utils", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "coshf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "cospif", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ":sincosf_utils", |
| ], |
| ) |
| |
| libc_math_function(name = "daddl") |
| |
| libc_math_function(name = "daddf128") |
| |
| libc_math_function(name = "ddivl") |
| |
| libc_math_function(name = "ddivf128") |
| |
| libc_math_function( |
| name = "dfmal", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "dfmaf128", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ], |
| ) |
| |
| libc_math_function(name = "dmull") |
| |
| libc_math_function(name = "dmulf128") |
| |
| libc_math_function( |
| name = "dsqrtl", |
| additional_deps = [ |
| ":__support_fputil_sqrt", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "dsqrtf128", |
| additional_deps = [ |
| ":__support_fputil_sqrt", |
| ], |
| ) |
| |
| libc_math_function(name = "dsubl") |
| |
| libc_math_function(name = "dsubf128") |
| |
| libc_math_function( |
| name = "erff", |
| additional_deps = [ |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_polyeval", |
| ":__support_macros_optimization", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "exp", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_fputil_triple_double", |
| ":__support_integer_literals", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "expf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "exp10", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_fputil_triple_double", |
| ":__support_integer_literals", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "exp10f", |
| additional_deps = [ |
| ":exp10f_impl", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "exp2", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_fputil_triple_double", |
| ":__support_integer_literals", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "exp2f", |
| additional_deps = [ |
| ":exp2f_impl", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "exp2m1f", |
| additional_deps = [ |
| ":__support_fputil_polyeval", |
| ":explogxf", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "expm1", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_fputil_triple_double", |
| ":__support_integer_literals", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "expm1f", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":common_constants", |
| ], |
| ) |
| |
| libc_math_function(name = "fabs") |
| |
| libc_math_function(name = "fabsf") |
| |
| libc_math_function(name = "fabsl") |
| |
| libc_math_function(name = "fabsf128") |
| |
| libc_math_function(name = "fadd") |
| |
| libc_math_function(name = "faddl") |
| |
| libc_math_function(name = "faddf128") |
| |
| libc_math_function(name = "fdim") |
| |
| libc_math_function(name = "fdimf") |
| |
| libc_math_function(name = "fdiml") |
| |
| libc_math_function(name = "fdimf128") |
| |
| libc_math_function(name = "fdiv") |
| |
| libc_math_function(name = "fdivl") |
| |
| libc_math_function(name = "fdivf128") |
| |
| libc_math_function( |
| name = "ffma", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "ffmal", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "ffmaf128", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "floor", |
| specializations = [ |
| "generic", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "floorf", |
| specializations = [ |
| "generic", |
| ], |
| ) |
| |
| libc_math_function(name = "floorl") |
| |
| libc_math_function(name = "floorf128") |
| |
| # TODO: Add fma, fmaf, fmal, fmaf128 functions. |
| |
| libc_math_function(name = "fmax") |
| |
| libc_math_function(name = "fmaxf") |
| |
| libc_math_function(name = "fmaxl") |
| |
| libc_math_function(name = "fmaxf128") |
| |
| libc_math_function(name = "fmaximum") |
| |
| libc_math_function(name = "fmaximumf") |
| |
| libc_math_function(name = "fmaximuml") |
| |
| libc_math_function(name = "fmaximumf128") |
| |
| libc_math_function(name = "fmaximum_mag") |
| |
| libc_math_function(name = "fmaximum_magf") |
| |
| libc_math_function(name = "fmaximum_magl") |
| |
| libc_math_function(name = "fmaximum_magf128") |
| |
| libc_math_function(name = "fmaximum_mag_num") |
| |
| libc_math_function(name = "fmaximum_mag_numf") |
| |
| libc_math_function(name = "fmaximum_mag_numl") |
| |
| libc_math_function(name = "fmaximum_mag_numf128") |
| |
| libc_math_function(name = "fmaximum_num") |
| |
| libc_math_function(name = "fmaximum_numf") |
| |
| libc_math_function(name = "fmaximum_numl") |
| |
| libc_math_function(name = "fmaximum_numf128") |
| |
| libc_math_function(name = "fmin") |
| |
| libc_math_function(name = "fminf") |
| |
| libc_math_function(name = "fminl") |
| |
| libc_math_function(name = "fminf128") |
| |
| libc_math_function(name = "fminimum") |
| |
| libc_math_function(name = "fminimumf") |
| |
| libc_math_function(name = "fminimuml") |
| |
| libc_math_function(name = "fminimumf128") |
| |
| libc_math_function(name = "fminimum_mag") |
| |
| libc_math_function(name = "fminimum_magf") |
| |
| libc_math_function(name = "fminimum_magl") |
| |
| libc_math_function(name = "fminimum_magf128") |
| |
| libc_math_function(name = "fminimum_mag_num") |
| |
| libc_math_function(name = "fminimum_mag_numf") |
| |
| libc_math_function(name = "fminimum_mag_numl") |
| |
| libc_math_function(name = "fminimum_mag_numf128") |
| |
| libc_math_function(name = "fminimum_num") |
| |
| libc_math_function(name = "fminimum_numf") |
| |
| libc_math_function(name = "fminimum_numl") |
| |
| libc_math_function(name = "fminimum_numf128") |
| |
| libc_math_function( |
| name = "fmod", |
| additional_deps = [ |
| ":__support_fputil_generic_fmod", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "fmodf", |
| additional_deps = [ |
| ":__support_fputil_generic_fmod", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "fmodl", |
| additional_deps = [ |
| ":__support_fputil_generic_fmod", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "fmodf128", |
| additional_deps = [ |
| ":__support_fputil_generic_fmod", |
| ], |
| ) |
| |
| libc_math_function(name = "fmul") |
| |
| libc_math_function(name = "fmull") |
| |
| libc_math_function(name = "fmulf128") |
| |
| libc_math_function(name = "frexp") |
| |
| libc_math_function(name = "frexpf") |
| |
| libc_math_function(name = "frexpl") |
| |
| libc_math_function(name = "frexpf128") |
| |
| libc_math_function(name = "fromfp") |
| |
| libc_math_function(name = "fromfpf") |
| |
| libc_math_function(name = "fromfpl") |
| |
| libc_math_function(name = "fromfpf128") |
| |
| libc_math_function(name = "fromfpx") |
| |
| libc_math_function(name = "fromfpxf") |
| |
| libc_math_function(name = "fromfpxl") |
| |
| libc_math_function(name = "fromfpxf128") |
| |
| libc_math_function( |
| name = "fsqrt", |
| additional_deps = [ |
| ":__support_fputil_sqrt", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "fsqrtl", |
| additional_deps = [ |
| ":__support_fputil_sqrt", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "fsqrtf128", |
| additional_deps = [ |
| ":__support_fputil_sqrt", |
| ], |
| ) |
| |
| libc_math_function(name = "fsub") |
| |
| libc_math_function(name = "fsubl") |
| |
| libc_math_function(name = "fsubf128") |
| |
| libc_math_function(name = "getpayload") |
| |
| libc_math_function(name = "getpayloadf") |
| |
| libc_math_function(name = "getpayloadl") |
| |
| libc_math_function(name = "getpayloadf128") |
| |
| libc_math_function(name = "hypot") |
| |
| libc_math_function( |
| name = "hypotf", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_sqrt", |
| ], |
| ) |
| |
| libc_math_function(name = "ilogb") |
| |
| libc_math_function(name = "ilogbf") |
| |
| libc_math_function(name = "ilogbl") |
| |
| libc_math_function(name = "ilogbf128") |
| |
| libc_math_function(name = "ldexp") |
| |
| libc_math_function(name = "ldexpf") |
| |
| libc_math_function(name = "ldexpl") |
| |
| libc_math_function(name = "ldexpf128") |
| |
| libc_math_function(name = "llogb") |
| |
| libc_math_function(name = "llogbf") |
| |
| libc_math_function(name = "llogbl") |
| |
| libc_math_function(name = "llogbf128") |
| |
| libc_math_function(name = "llrint") |
| |
| libc_math_function(name = "llrintf") |
| |
| libc_math_function(name = "llrintl") |
| |
| libc_math_function(name = "llrintf128") |
| |
| libc_math_function(name = "llround") |
| |
| libc_math_function(name = "llroundf") |
| |
| libc_math_function(name = "llroundl") |
| |
| libc_math_function(name = "llroundf128") |
| |
| libc_math_function( |
| name = "log", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_polyeval", |
| ":__support_integer_literals", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":common_constants", |
| ":log_range_reduction", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "logf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_polyeval", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":common_constants", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "log10", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_polyeval", |
| ":__support_integer_literals", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":common_constants", |
| ":log_range_reduction", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "log10f", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_polyeval", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":common_constants", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "log1p", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_polyeval", |
| ":__support_integer_literals", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":common_constants", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "log1pf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_polyeval", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":common_constants", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "log2", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_dyadic_float", |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_polyeval", |
| ":__support_integer_literals", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":common_constants", |
| ":log_range_reduction", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "log2f", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_polyeval", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ], |
| ) |
| |
| libc_math_function(name = "logb") |
| |
| libc_math_function(name = "logbf") |
| |
| libc_math_function(name = "logbl") |
| |
| libc_math_function(name = "logbf128") |
| |
| libc_math_function(name = "lrint") |
| |
| libc_math_function(name = "lrintf") |
| |
| libc_math_function(name = "lrintl") |
| |
| libc_math_function(name = "lrintf128") |
| |
| libc_math_function(name = "lround") |
| |
| libc_math_function(name = "lroundf") |
| |
| libc_math_function(name = "lroundl") |
| |
| libc_math_function(name = "lroundf128") |
| |
| libc_math_function(name = "modf") |
| |
| libc_math_function(name = "modff") |
| |
| libc_math_function(name = "modfl") |
| |
| libc_math_function(name = "modff128") |
| |
| libc_math_function( |
| name = "nan", |
| additional_deps = [ |
| ":__support_str_to_float", |
| ":errno", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "nanf", |
| additional_deps = [ |
| ":__support_str_to_float", |
| ":errno", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "nanl", |
| additional_deps = [ |
| ":__support_str_to_float", |
| ":errno", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "nanf128", |
| additional_deps = [ |
| ":__support_str_to_float", |
| ":errno", |
| ], |
| ) |
| |
| libc_math_function(name = "nearbyint") |
| |
| libc_math_function(name = "nearbyintf") |
| |
| libc_math_function(name = "nearbyintl") |
| |
| libc_math_function(name = "nearbyintf128") |
| |
| libc_math_function(name = "nextafter") |
| |
| libc_math_function(name = "nextafterf") |
| |
| libc_math_function(name = "nextafterl") |
| |
| libc_math_function(name = "nextafterf128") |
| |
| libc_math_function(name = "nextdown") |
| |
| libc_math_function(name = "nextdownf") |
| |
| libc_math_function(name = "nextdownl") |
| |
| libc_math_function(name = "nextdownf128") |
| |
| libc_math_function(name = "nexttoward") |
| |
| libc_math_function(name = "nexttowardf") |
| |
| libc_math_function(name = "nexttowardl") |
| |
| libc_math_function(name = "nextup") |
| |
| libc_math_function(name = "nextupf") |
| |
| libc_math_function(name = "nextupl") |
| |
| libc_math_function(name = "nextupf128") |
| |
| libc_math_function( |
| name = "pow", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_sqrt", |
| ":common_constants", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "powf", |
| additional_deps = [ |
| ":__support_fputil_double_double", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_fputil_sqrt", |
| ":__support_fputil_triple_double", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ":exp2f_impl", |
| ":exp10f_impl", |
| ], |
| ) |
| |
| libc_math_function(name = "remainder") |
| |
| libc_math_function(name = "remainderf") |
| |
| libc_math_function(name = "remainderl") |
| |
| libc_math_function(name = "remainderf128") |
| |
| libc_math_function(name = "remquo") |
| |
| libc_math_function(name = "remquof") |
| |
| libc_math_function(name = "remquol") |
| |
| libc_math_function(name = "remquof128") |
| |
| libc_math_function(name = "rint") |
| |
| libc_math_function(name = "rintf") |
| |
| libc_math_function(name = "rintl") |
| |
| libc_math_function(name = "rintf128") |
| |
| libc_math_function( |
| name = "round", |
| specializations = [ |
| "generic", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "roundf", |
| specializations = [ |
| "generic", |
| ], |
| ) |
| |
| libc_math_function(name = "roundl") |
| |
| libc_math_function(name = "roundf128") |
| |
| libc_math_function(name = "roundeven") |
| |
| libc_math_function(name = "roundevenf") |
| |
| libc_math_function(name = "roundevenl") |
| |
| libc_math_function(name = "roundevenf128") |
| |
| libc_math_function(name = "scalbln") |
| |
| libc_math_function(name = "scalblnf") |
| |
| libc_math_function(name = "scalblnl") |
| |
| libc_math_function(name = "scalblnf128") |
| |
| libc_math_function(name = "scalbn") |
| |
| libc_math_function(name = "scalbnf") |
| |
| libc_math_function(name = "scalbnl") |
| |
| libc_math_function(name = "scalbnf128") |
| |
| libc_math_function(name = "setpayload") |
| |
| libc_math_function(name = "setpayloadf") |
| |
| libc_math_function(name = "setpayloadl") |
| |
| libc_math_function(name = "setpayloadf128") |
| |
| libc_math_function(name = "setpayloadsig") |
| |
| libc_math_function(name = "setpayloadsigf") |
| |
| libc_math_function(name = "setpayloadsigl") |
| |
| libc_math_function(name = "setpayloadsigf128") |
| |
| libc_math_function( |
| name = "sin", |
| additional_deps = [ |
| ":__support_fputil_multiply_add", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":range_reduction_double", |
| ":sincos_eval", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "sinf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":range_reduction", |
| ":sincosf_utils", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "sincos", |
| additional_deps = [ |
| ":__support_fputil_multiply_add", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":range_reduction_double", |
| ":sincos_eval", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "sincosf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":sincosf_utils", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "sinhf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_optimization", |
| ":common_constants", |
| ":explogxf", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "sinpif", |
| additional_deps = [ |
| ":sincosf_utils", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "sqrt", |
| additional_deps = [ |
| ":__support_fputil_sqrt", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "sqrtf", |
| additional_deps = [ |
| ":__support_fputil_sqrt", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "sqrtl", |
| additional_deps = [ |
| ":__support_fputil_sqrt", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "sqrtf128", |
| additional_deps = [ |
| ":__support_fputil_sqrt", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "tan", |
| additional_deps = [ |
| ":__support_fputil_multiply_add", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":range_reduction_double", |
| ":sincos_eval", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "tanf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":range_reduction", |
| ":sincosf_utils", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "tanhf", |
| additional_deps = [ |
| ":__support_fputil_fma", |
| ":__support_fputil_multiply_add", |
| ":__support_fputil_nearest_integer", |
| ":__support_fputil_polyeval", |
| ":__support_fputil_rounding_mode", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_cpu_features", |
| ":common_constants", |
| ":explogxf", |
| ], |
| ) |
| |
| libc_math_function(name = "totalorder") |
| |
| libc_math_function(name = "totalorderf") |
| |
| libc_math_function(name = "totalorderl") |
| |
| libc_math_function(name = "totalorderf128") |
| |
| libc_math_function(name = "totalordermag") |
| |
| libc_math_function(name = "totalordermagf") |
| |
| libc_math_function(name = "totalordermagl") |
| |
| libc_math_function(name = "totalordermagf128") |
| |
| libc_math_function( |
| name = "trunc", |
| specializations = [ |
| "generic", |
| ], |
| ) |
| |
| libc_math_function( |
| name = "truncf", |
| specializations = [ |
| "generic", |
| ], |
| ) |
| |
| libc_math_function(name = "truncl") |
| |
| libc_math_function(name = "truncf128") |
| |
| libc_math_function(name = "ufromfp") |
| |
| libc_math_function(name = "ufromfpf") |
| |
| libc_math_function(name = "ufromfpl") |
| |
| libc_math_function(name = "ufromfpf128") |
| |
| libc_math_function(name = "ufromfpx") |
| |
| libc_math_function(name = "ufromfpxf") |
| |
| libc_math_function(name = "ufromfpxl") |
| |
| libc_math_function(name = "ufromfpxf128") |
| |
| ############################## inttypes targets ############################## |
| |
| libc_function( |
| name = "imaxabs", |
| srcs = ["src/inttypes/imaxabs.cpp"], |
| hdrs = ["src/inttypes/imaxabs.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_integer_operations", |
| ], |
| ) |
| |
| libc_function( |
| name = "imaxdiv", |
| srcs = ["src/inttypes/imaxdiv.cpp"], |
| hdrs = ["src/inttypes/imaxdiv.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_integer_operations", |
| ], |
| ) |
| |
| ############################### stdlib targets ############################### |
| |
| libc_function( |
| name = "abs", |
| srcs = ["src/stdlib/abs.cpp"], |
| hdrs = ["src/stdlib/abs.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_integer_operations", |
| ], |
| ) |
| |
| libc_function( |
| name = "labs", |
| srcs = ["src/stdlib/labs.cpp"], |
| hdrs = ["src/stdlib/labs.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_integer_operations", |
| ], |
| ) |
| |
| libc_function( |
| name = "llabs", |
| srcs = ["src/stdlib/llabs.cpp"], |
| hdrs = ["src/stdlib/llabs.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_integer_operations", |
| ], |
| ) |
| |
| libc_function( |
| name = "div", |
| srcs = ["src/stdlib/div.cpp"], |
| hdrs = ["src/stdlib/div.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_integer_operations", |
| ], |
| ) |
| |
| libc_function( |
| name = "ldiv", |
| srcs = ["src/stdlib/ldiv.cpp"], |
| hdrs = ["src/stdlib/ldiv.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_integer_operations", |
| ], |
| ) |
| |
| libc_function( |
| name = "lldiv", |
| srcs = ["src/stdlib/lldiv.cpp"], |
| hdrs = ["src/stdlib/lldiv.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_integer_operations", |
| ], |
| ) |
| |
| libc_function( |
| name = "atoi", |
| srcs = ["src/stdlib/atoi.cpp"], |
| hdrs = ["src/stdlib/atoi.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_str_to_integer", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "atol", |
| srcs = ["src/stdlib/atol.cpp"], |
| hdrs = ["src/stdlib/atol.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_str_to_integer", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "atoll", |
| srcs = ["src/stdlib/atoll.cpp"], |
| hdrs = ["src/stdlib/atoll.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_str_to_integer", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "atof", |
| srcs = ["src/stdlib/atof.cpp"], |
| hdrs = ["src/stdlib/atof.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_str_to_float", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "bsearch", |
| srcs = ["src/stdlib/bsearch.cpp"], |
| hdrs = ["src/stdlib/bsearch.h"], |
| deps = [ |
| ":__support_common", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "qsort_util", |
| hdrs = [ |
| "src/stdlib/heap_sort.h", |
| "src/stdlib/qsort_data.h", |
| "src/stdlib/qsort_util.h", |
| "src/stdlib/quick_sort.h", |
| ], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_cstddef", |
| ":__support_macros_attributes", |
| ], |
| ) |
| |
| libc_function( |
| name = "qsort", |
| srcs = ["src/stdlib/qsort.cpp"], |
| hdrs = ["src/stdlib/qsort.h"], |
| deps = [ |
| ":__support_common", |
| ":qsort_util", |
| ], |
| ) |
| |
| libc_function( |
| name = "qsort_r", |
| srcs = ["src/stdlib/qsort_r.cpp"], |
| hdrs = ["src/stdlib/qsort_r.h"], |
| deps = [ |
| ":__support_common", |
| ":qsort_util", |
| ], |
| ) |
| |
| libc_function( |
| name = "strtol", |
| srcs = ["src/stdlib/strtol.cpp"], |
| hdrs = ["src/stdlib/strtol.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_str_to_integer", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "strtoll", |
| srcs = ["src/stdlib/strtoll.cpp"], |
| hdrs = ["src/stdlib/strtoll.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_str_to_integer", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "strtoul", |
| srcs = ["src/stdlib/strtoul.cpp"], |
| hdrs = ["src/stdlib/strtoul.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_str_to_integer", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "strtoull", |
| srcs = ["src/stdlib/strtoull.cpp"], |
| hdrs = ["src/stdlib/strtoull.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_str_to_integer", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "strtof", |
| srcs = ["src/stdlib/strtof.cpp"], |
| hdrs = ["src/stdlib/strtof.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_str_to_float", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "strtod", |
| srcs = ["src/stdlib/strtod.cpp"], |
| hdrs = ["src/stdlib/strtod.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_str_to_float", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "strtold", |
| srcs = ["src/stdlib/strtold.cpp"], |
| hdrs = ["src/stdlib/strtold.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_str_to_float", |
| ":errno", |
| ], |
| ) |
| |
| ############################### string targets ############################### |
| |
| no_sanitize_features = [ |
| "-asan", |
| "-msan", |
| "-tsan", |
| "-ubsan", |
| ] |
| |
| libc_support_library( |
| name = "string_memory_utils", |
| hdrs = [ |
| "src/string/memory_utils/op_aarch64.h", |
| "src/string/memory_utils/op_builtin.h", |
| "src/string/memory_utils/op_generic.h", |
| "src/string/memory_utils/op_riscv.h", |
| "src/string/memory_utils/op_x86.h", |
| "src/string/memory_utils/utils.h", |
| ], |
| textual_hdrs = [ |
| "src/string/memory_utils/aarch64/inline_bcmp.h", |
| "src/string/memory_utils/aarch64/inline_memcmp.h", |
| "src/string/memory_utils/aarch64/inline_memcpy.h", |
| "src/string/memory_utils/aarch64/inline_memmove.h", |
| "src/string/memory_utils/aarch64/inline_memset.h", |
| "src/string/memory_utils/generic/aligned_access.h", |
| "src/string/memory_utils/generic/byte_per_byte.h", |
| "src/string/memory_utils/inline_bcmp.h", |
| "src/string/memory_utils/inline_bzero.h", |
| "src/string/memory_utils/inline_memcmp.h", |
| "src/string/memory_utils/inline_memcpy.h", |
| "src/string/memory_utils/inline_memmem.h", |
| "src/string/memory_utils/inline_memmove.h", |
| "src/string/memory_utils/inline_memset.h", |
| "src/string/memory_utils/inline_strcmp.h", |
| "src/string/memory_utils/inline_strstr.h", |
| "src/string/memory_utils/riscv/inline_bcmp.h", |
| "src/string/memory_utils/riscv/inline_memcmp.h", |
| "src/string/memory_utils/riscv/inline_memcpy.h", |
| "src/string/memory_utils/riscv/inline_memmove.h", |
| "src/string/memory_utils/riscv/inline_memset.h", |
| "src/string/memory_utils/x86_64/inline_bcmp.h", |
| "src/string/memory_utils/x86_64/inline_memcmp.h", |
| "src/string/memory_utils/x86_64/inline_memcpy.h", |
| "src/string/memory_utils/x86_64/inline_memmove.h", |
| "src/string/memory_utils/x86_64/inline_memset.h", |
| ], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_array", |
| ":__support_cpp_bit", |
| ":__support_cpp_cstddef", |
| ":__support_cpp_type_traits", |
| ":__support_macros_attributes", |
| ":__support_macros_optimization", |
| ":__support_macros_properties_architectures", |
| ":__support_macros_properties_cpu_features", |
| ], |
| ) |
| |
| libc_support_library( |
| name = "string_utils", |
| hdrs = ["src/string/string_utils.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_bitset", |
| ":__support_macros_optimization", |
| ":string_memory_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "memchr", |
| srcs = ["src/string/memchr.cpp"], |
| hdrs = ["src/string/memchr.h"], |
| deps = [ |
| ":__support_common", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "memcpy", |
| srcs = ["src/string/memcpy.cpp"], |
| hdrs = ["src/string/memcpy.h"], |
| copts = ["-mllvm --tail-merge-threshold=0"], |
| features = no_sanitize_features, |
| weak = True, |
| deps = [ |
| ":__support_common", |
| ":string_memory_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "memset", |
| srcs = ["src/string/memset.cpp"], |
| hdrs = ["src/string/memset.h"], |
| features = no_sanitize_features, |
| weak = True, |
| deps = [ |
| ":__support_common", |
| ":string_memory_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "memmove", |
| srcs = ["src/string/memmove.cpp"], |
| hdrs = ["src/string/memmove.h"], |
| features = no_sanitize_features, |
| weak = True, |
| deps = [ |
| ":__support_common", |
| ":string_memory_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "mempcpy", |
| srcs = ["src/string/mempcpy.cpp"], |
| hdrs = ["src/string/mempcpy.h"], |
| copts = ["-mllvm --tail-merge-threshold=0"], |
| features = no_sanitize_features, |
| weak = True, |
| deps = [ |
| ":__support_common", |
| ":string_memory_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "bcopy", |
| srcs = ["src/string/bcopy.cpp"], |
| hdrs = ["src/string/bcopy.h"], |
| features = no_sanitize_features, |
| deps = [ |
| ":__support_common", |
| ":string_memory_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "memcmp", |
| srcs = ["src/string/memcmp.cpp"], |
| hdrs = ["src/string/memcmp.h"], |
| features = no_sanitize_features, |
| weak = True, |
| deps = [ |
| ":__support_common", |
| ":__support_integer_operations", |
| ":string_memory_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "bcmp", |
| srcs = ["src/string/bcmp.cpp"], |
| hdrs = ["src/string/bcmp.h"], |
| features = no_sanitize_features, |
| weak = True, |
| deps = [ |
| ":__support_common", |
| ":string_memory_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "bzero", |
| srcs = ["src/string/bzero.cpp"], |
| hdrs = ["src/string/bzero.h"], |
| features = no_sanitize_features, |
| weak = True, |
| deps = [ |
| ":__support_common", |
| ":string_memory_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "memrchr", |
| srcs = ["src/string/memrchr.cpp"], |
| hdrs = ["src/string/memrchr.h"], |
| deps = [ |
| ":__support_common", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "strlen", |
| srcs = ["src/string/strlen.cpp"], |
| hdrs = ["src/string/strlen.h"], |
| features = no_sanitize_features, |
| deps = [ |
| ":__support_common", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "strcpy", |
| srcs = ["src/string/strcpy.cpp"], |
| hdrs = ["src/string/strcpy.h"], |
| features = no_sanitize_features, |
| deps = [ |
| ":__support_common", |
| ":memcpy", |
| ":string_memory_utils", |
| ":string_utils", |
| ], |
| ) |
| |
| # A sanitizer instrumented flavor of strcpy to be used with unittests. |
| libc_function( |
| name = "strcpy_sanitized", |
| testonly = 1, |
| srcs = ["src/string/strcpy.cpp"], |
| hdrs = ["src/string/strcpy.h"], |
| deps = [ |
| ":__support_common", |
| ":memcpy", |
| ":string_memory_utils", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "strncpy", |
| srcs = ["src/string/strncpy.cpp"], |
| hdrs = ["src/string/strncpy.h"], |
| deps = [ |
| ":__support_common", |
| ], |
| ) |
| |
| libc_function( |
| name = "strcmp", |
| srcs = ["src/string/strcmp.cpp"], |
| hdrs = ["src/string/strcmp.h"], |
| deps = [ |
| ":__support_common", |
| ":string_memory_utils", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "strchr", |
| srcs = ["src/string/strchr.cpp"], |
| hdrs = ["src/string/strchr.h"], |
| deps = [ |
| ":__support_common", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "strrchr", |
| srcs = ["src/string/strrchr.cpp"], |
| hdrs = ["src/string/strrchr.h"], |
| deps = [ |
| ":__support_common", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "strstr", |
| srcs = ["src/string/strstr.cpp"], |
| hdrs = ["src/string/strstr.h"], |
| deps = [ |
| ":__support_common", |
| ":string_memory_utils", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "strnlen", |
| srcs = ["src/string/strnlen.cpp"], |
| hdrs = ["src/string/strnlen.h"], |
| deps = [ |
| ":__support_common", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "strcspn", |
| srcs = ["src/string/strcspn.cpp"], |
| hdrs = ["src/string/strcspn.h"], |
| deps = [ |
| ":__support_common", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "strspn", |
| srcs = ["src/string/strspn.cpp"], |
| hdrs = ["src/string/strspn.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_cpp_bitset", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "strpbrk", |
| srcs = ["src/string/strpbrk.cpp"], |
| hdrs = ["src/string/strpbrk.h"], |
| deps = [ |
| ":__support_common", |
| ":string_utils", |
| ], |
| ) |
| |
| libc_function( |
| name = "strtok", |
| srcs = ["src/string/strtok.cpp"], |
| hdrs = ["src/string/strtok.h"], |
| deps = [ |
| ":__support_common", |
| ":string_utils", |
| ], |
| ) |
| |
| ################################ fcntl targets ################################# |
| |
| libc_function( |
| name = "open", |
| srcs = ["src/fcntl/linux/open.cpp"], |
| hdrs = ["src/fcntl/open.h"], |
| target_compatible_with = select({ |
| "@platforms//os:linux": [], |
| "//conditions:default": ["@platforms//:incompatible"], |
| }), |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "openat", |
| srcs = ["src/fcntl/linux/openat.cpp"], |
| hdrs = ["src/fcntl/openat.h"], |
| target_compatible_with = select({ |
| "@platforms//os:linux": [], |
| "//conditions:default": ["@platforms//:incompatible"], |
| }), |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "creat", |
| srcs = ["src/fcntl/linux/creat.cpp"], |
| hdrs = ["src/fcntl/creat.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| ################################ unistd targets ################################ |
| |
| libc_function( |
| name = "access", |
| srcs = ["src/unistd/linux/access.cpp"], |
| hdrs = ["src/unistd/access.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "chdir", |
| srcs = ["src/unistd/linux/chdir.cpp"], |
| hdrs = ["src/unistd/chdir.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "close", |
| srcs = ["src/unistd/linux/close.cpp"], |
| hdrs = ["src/unistd/close.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "dup", |
| srcs = ["src/unistd/linux/dup.cpp"], |
| hdrs = ["src/unistd/dup.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "dup2", |
| srcs = ["src/unistd/linux/dup2.cpp"], |
| hdrs = ["src/unistd/dup2.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "dup3", |
| srcs = ["src/unistd/linux/dup3.cpp"], |
| hdrs = ["src/unistd/dup3.h"], |
| target_compatible_with = select({ |
| "@platforms//os:linux": [], |
| "//conditions:default": ["@platforms//:incompatible"], |
| }), |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "environ", |
| srcs = ["src/unistd/environ.cpp"], |
| hdrs = ["src/unistd/environ.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "fchdir", |
| srcs = ["src/unistd/linux/fchdir.cpp"], |
| hdrs = ["src/unistd/fchdir.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "fsync", |
| srcs = ["src/unistd/linux/fsync.cpp"], |
| hdrs = ["src/unistd/fsync.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "ftruncate", |
| srcs = ["src/unistd/linux/ftruncate.cpp"], |
| hdrs = ["src/unistd/ftruncate.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| # libc_function( |
| # name = "getcwd", |
| # srcs = ["src/unistd/linux/getcwd.cpp"], |
| # hdrs = ["src/unistd/getcwd.h"], |
| # deps = [ |
| # ":__support_common", |
| # ":__support_osutil_syscall", |
| # ":errno", |
| # ], |
| # ) |
| |
| libc_function( |
| name = "geteuid", |
| srcs = ["src/unistd/linux/geteuid.cpp"], |
| hdrs = ["src/unistd/geteuid.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "getppid", |
| srcs = ["src/unistd/linux/getppid.cpp"], |
| hdrs = ["src/unistd/getppid.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "getuid", |
| srcs = ["src/unistd/linux/getuid.cpp"], |
| hdrs = ["src/unistd/getuid.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| # libc_function( |
| # name = "getopt", |
| # srcs = ["src/unistd/getopt.cpp"], |
| # hdrs = ["src/unistd/getopt.h"], |
| # deps = [ |
| # ":__support_common", |
| # ":__support_cpp_optional", |
| # ":__support_cpp_string_view", |
| # ":__support_file_file", |
| # ":__support_osutil_syscall", |
| # ":errno", |
| # ], |
| # ) |
| |
| libc_function( |
| name = "isatty", |
| srcs = ["src/unistd/linux/isatty.cpp"], |
| hdrs = ["src/unistd/isatty.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "link", |
| srcs = ["src/unistd/linux/link.cpp"], |
| hdrs = ["src/unistd/link.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "linkat", |
| srcs = ["src/unistd/linux/linkat.cpp"], |
| hdrs = ["src/unistd/linkat.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "pipe", |
| srcs = ["src/unistd/linux/pipe.cpp"], |
| hdrs = ["src/unistd/pipe.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_macros_sanitizer", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "lseek", |
| srcs = ["src/unistd/linux/lseek.cpp"], |
| hdrs = ["src/unistd/lseek.h"], |
| deps = [ |
| ":__support_common", |
| ":__support_file_linux_lseekimpl", |
| ":__support_osutil_syscall", |
| ":errno", |
| ], |
| ) |
| |
| libc_function( |
| name = "pread", |
| srcs = ["src/unistd/linux/pread.cpp"], |
| hdrs = ["src/unistd/pread.h"], |
| |