1load("//bazel:defs.bzl", "compatible_with_rp2") 2 3package(default_visibility = ["//visibility:public"]) 4 5cc_library( 6 name = "pico_bit_ops", 7 srcs = ["bit_ops_aeabi.S"], 8 linkopts = select({ 9 "//bazel/constraint:rp2040": [ 10 "-Wl,--wrap=__clzsi2", 11 "-Wl,--wrap=__clzsi2", 12 "-Wl,--wrap=__clzdi2", 13 "-Wl,--wrap=__ctzsi2", 14 "-Wl,--wrap=__popcountsi2", 15 "-Wl,--wrap=__popcountdi2", 16 "-Wl,--wrap=__clz", 17 "-Wl,--wrap=__clzl", 18 "-Wl,--wrap=__clzsi2", 19 "-Wl,--wrap=__clzll", 20 ], 21 "//conditions:default": [], 22 }) + ["-Wl,--wrap=__ctzdi2"], 23 target_compatible_with = compatible_with_rp2(), 24 deps = [ 25 "//src/common/pico_bit_ops_headers:pico_bit_ops_interface", 26 "//src/rp2_common:pico_platform_internal", 27 "//src/rp2_common/pico_bootrom", 28 "//src/rp2_common/pico_runtime_init", 29 ], 30 alwayslink = True, # Ensures the wrapped symbols are linked in. 31) 32