# Copyright (C) 2023 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. package( default_visibility = ["//visibility:public"], ) cc_library( name = "relocation", srcs = ["relocation.cpp"], hdrs = ["public/elf/relocation.h"], copts = select({ "@gbl//toolchain:gbl_rust_elf_riscv64": [], # For the `elf_static_relocation_checker` host tool, enable # print and panics as exit(). "//conditions:default": ["-DHOST_TOOLING"], }), includes = ["public"], deps = ["@elfutils//:elf_type_header"], ) cc_test( name = "relocation_test", size = "small", srcs = ["relocation_test.cpp"], target_compatible_with = [ "@platforms//os:linux", ], deps = [ ":relocation", "@elfutils//:elf_type_header", "@googletest//:gtest_main", ], ) cc_binary( name = "elf_static_relocation_checker", srcs = ["elf_static_relocation_checker.cpp"], copts = [ "-std=c++17", "-Wall", "-Werror", ], deps = [ ":relocation", "@elfutils//:elf_type_header", ], )