blob: f19c966b49d48ccfc65b535b61a8d7c29ba2607c [file] [log] [blame]
# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/test.gni")
# A collection of utilities useful to debuggers and similar programs.
static_library("elflib") {
sources = [
"elflib.cc",
]
deps = [
"//zircon/system/public",
]
public_deps = [
"//zircon/public/lib/fbl",
]
}
# An example stripped binary. Originally copied from out/x64/cowsay.
# ARM64 binary generated with:
# fx set core.arm64 --with //examples/cowsay
# fx build
# cp out/default/exe.unstripped/cowsay \
# src/lib/elflib/test_data/unstripped_example.arm64.elf
# ./prebuilt/third_party/clang/linux-x64/bin/llvm-objcopy \
# --strip-sections out/default/exe.unstripped/cowsay \
# src/lib/elflib/test_data/unstripped_example_stripped.arm64.elf
copy("copy_example_elf") {
sources = [
"test_data/stripped_example.elf",
"test_data/unstripped_example.arm64.elf",
"test_data/unstripped_example.elf",
"test_data/unstripped_example_stripped.arm64.elf",
"test_data/unstripped_example_stripped.elf",
]
outputs = [
"$root_out_dir/test_data/elflib/{{source_file_part}}",
]
metadata = {
test_runtime_deps = [
"$root_out_dir/test_data/elflib/stripped_example.elf",
"$root_out_dir/test_data/elflib/unstripped_example.elf",
"$root_out_dir/test_data/elflib/unstripped_example_stripped.elf",
"$root_out_dir/test_data/elflib/unstripped_example.arm64.elf",
"$root_out_dir/test_data/elflib/unstripped_example_stripped.arm64.elf",
]
}
}
test("elflib_tests") {
sources = [
"elflib_unittest.cc",
]
deps = [
":elflib",
"//src/lib/fxl/test:gtest_main",
"//third_party/googletest:gtest",
]
data_deps = [
":copy_example_elf",
]
}