1load("//bazel:defs.bzl", "compatible_with_rp2") 2 3package(default_visibility = ["//visibility:public"]) 4 5alias( 6 name = "default_linker_script", 7 actual = select({ 8 "//bazel/constraint:rp2040": "//src/rp2_common/pico_crt0/rp2040:default_linker_script", 9 "//bazel/constraint:rp2350": "//src/rp2_common/pico_crt0/rp2350:default_linker_script", 10 "//conditions:default": "//bazel:incompatible_cc_lib", 11 }), 12) 13 14alias( 15 name = "blocked_ram_linker_script", 16 actual = select({ 17 "//bazel/constraint:rp2040": "//src/rp2_common/pico_crt0/rp2040:blocked_ram_linker_script", 18 "//conditions:default": "//bazel:incompatible_cc_lib", 19 }), 20) 21 22alias( 23 name = "copy_to_ram_linker_script", 24 actual = select({ 25 "//bazel/constraint:rp2040": "//src/rp2_common/pico_crt0/rp2040:copy_to_ram_linker_script", 26 "//bazel/constraint:rp2350": "//src/rp2_common/pico_crt0/rp2350:copy_to_ram_linker_script", 27 "//conditions:default": "//bazel:incompatible_cc_lib", 28 }), 29) 30 31alias( 32 name = "no_flash_linker_script", 33 actual = select({ 34 "//bazel/constraint:rp2040": "//src/rp2_common/pico_crt0/rp2040:no_flash_linker_script", 35 "//bazel/constraint:rp2350": "//src/rp2_common/pico_crt0/rp2350:no_flash_linker_script", 36 "//conditions:default": "//bazel:incompatible_cc_lib", 37 }), 38) 39 40cc_library( 41 name = "no_warn_rwx_flag", 42 linkopts = select({ 43 "//bazel/constraint:pico_toolchain_gcc_enabled": ["-Wl,--no-warn-rwx-segments"], 44 "//conditions:default": [], 45 }), 46 visibility = [":__subpackages__"], 47) 48 49cc_library( 50 name = "pico_crt0", 51 srcs = ["crt0.S"], 52 hdrs = [ 53 "embedded_end_block.inc.S", 54 "embedded_start_block.inc.S", 55 ], 56 target_compatible_with = compatible_with_rp2(), 57 deps = [ 58 "//src/common/boot_picobin_headers", 59 "//src/common/pico_base_headers", 60 "//src/rp2_common:hardware_regs", 61 "//src/rp2_common:pico_platform_internal", 62 "//src/rp2_common/cmsis:cmsis_core", 63 "//src/rp2_common/pico_bootrom", 64 ], 65) 66 67# TODO: RISC-V support. 68filegroup( 69 name = "crt0_riscv", 70 srcs = ["crt0_riscv.S"], 71) 72