| load("//bazel:defs.bzl", "compatible_with_rp2") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| alias( |
| name = "default_linker_script", |
| actual = select({ |
| "//bazel/constraint:rp2040": "//src/rp2_common/pico_crt0/rp2040:default_linker_script", |
| "//bazel/constraint:rp2350": "//src/rp2_common/pico_crt0/rp2350:default_linker_script", |
| "//conditions:default": "//bazel:incompatible_cc_lib", |
| }), |
| ) |
| |
| alias( |
| name = "blocked_ram_linker_script", |
| actual = select({ |
| "//bazel/constraint:rp2040": "//src/rp2_common/pico_crt0/rp2040:blocked_ram_linker_script", |
| "//conditions:default": "//bazel:incompatible_cc_lib", |
| }), |
| ) |
| |
| alias( |
| name = "copy_to_ram_linker_script", |
| actual = select({ |
| "//bazel/constraint:rp2040": "//src/rp2_common/pico_crt0/rp2040:copy_to_ram_linker_script", |
| "//bazel/constraint:rp2350": "//src/rp2_common/pico_crt0/rp2350:copy_to_ram_linker_script", |
| "//conditions:default": "//bazel:incompatible_cc_lib", |
| }), |
| ) |
| |
| alias( |
| name = "no_flash_linker_script", |
| actual = select({ |
| "//bazel/constraint:rp2040": "//src/rp2_common/pico_crt0/rp2040:no_flash_linker_script", |
| "//bazel/constraint:rp2350": "//src/rp2_common/pico_crt0/rp2350:no_flash_linker_script", |
| "//conditions:default": "//bazel:incompatible_cc_lib", |
| }), |
| ) |
| |
| cc_library( |
| name = "no_warn_rwx_flag", |
| linkopts = select({ |
| "//bazel/constraint:pico_toolchain_gcc_enabled": ["-Wl,--no-warn-rwx-segments"], |
| "//conditions:default": [], |
| }), |
| visibility = [":__subpackages__"], |
| ) |
| |
| cc_library( |
| name = "pico_crt0", |
| srcs = ["crt0.S"], |
| hdrs = [ |
| "embedded_end_block.inc.S", |
| "embedded_start_block.inc.S", |
| ], |
| target_compatible_with = compatible_with_rp2(), |
| deps = [ |
| "//src/common/boot_picobin_headers", |
| "//src/common/pico_base_headers", |
| "//src/rp2_common:hardware_regs", |
| "//src/rp2_common:pico_platform_internal", |
| "//src/rp2_common/cmsis:cmsis_core", |
| "//src/rp2_common/pico_bootrom", |
| ], |
| ) |
| |
| # TODO: RISC-V support. |
| filegroup( |
| name = "crt0_riscv", |
| srcs = ["crt0_riscv.S"], |
| ) |