You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
3.0 KiB
88 lines
3.0 KiB
4 months ago
|
// Copyright (C) 2019 The Android Open Source Project
|
||
|
// All rights reserved.
|
||
|
//
|
||
|
// Redistribution and use in source and binary forms, with or without
|
||
|
// modification, are permitted provided that the following conditions
|
||
|
// are met:
|
||
|
// * Redistributions of source code must retain the above copyright
|
||
|
// notice, this list of conditions and the following disclaimer.
|
||
|
// * Redistributions in binary form must reproduce the above copyright
|
||
|
// notice, this list of conditions and the following disclaimer in
|
||
|
// the documentation and/or other materials provided with the
|
||
|
// distribution.
|
||
|
//
|
||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||
|
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||
|
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||
|
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||
|
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||
|
// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||
|
// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||
|
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||
|
// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||
|
// SUCH DAMAGE.
|
||
|
|
||
|
package {
|
||
|
default_applicable_licenses: ["bionic_benchmarks_license"],
|
||
|
}
|
||
|
|
||
|
cc_library_headers {
|
||
|
name: "linker_reloc_bench_headers",
|
||
|
defaults: ["bionic_spawn_benchmark_targets"],
|
||
|
export_include_dirs: ["include"],
|
||
|
}
|
||
|
|
||
|
// TODO: This benchmark doesn't work with TradeFed/atest because it doesn't copy its test libraries
|
||
|
// into the testcases/linker_reloc_bench directory. The obvious way to do that is to list each
|
||
|
// library in the "data" property, but that doesn't work, because each library is listed as having a
|
||
|
// "link:shared" variant (as opposed to "link:static"), whereas the cc_benchmark has no
|
||
|
// "link:(shared/static)" variation. It appears that Soong needs to be fixed to make this benchmark
|
||
|
// work with TradeFed/atest.
|
||
|
|
||
|
cc_benchmark {
|
||
|
name: "linker-reloc-bench",
|
||
|
|
||
|
defaults: [
|
||
|
"bionic_spawn_benchmark_targets",
|
||
|
"linker_reloc_bench_all_libs",
|
||
|
],
|
||
|
|
||
|
data: [":linker_reloc_bench_main"],
|
||
|
srcs: ["linker_reloc_bench.cpp"],
|
||
|
|
||
|
static_libs: [
|
||
|
"libbase",
|
||
|
"libbionic_spawn_benchmark",
|
||
|
"liblog",
|
||
|
],
|
||
|
}
|
||
|
|
||
|
cc_defaults {
|
||
|
name: "linker_reloc_bench_binary",
|
||
|
defaults: ["bionic_spawn_benchmark_targets"],
|
||
|
header_libs: ["linker_reloc_bench_headers"],
|
||
|
stl: "none",
|
||
|
gtest: false,
|
||
|
|
||
|
compile_multilib: "both",
|
||
|
multilib: {
|
||
|
lib32: { suffix: "32" },
|
||
|
lib64: { suffix: "64" },
|
||
|
},
|
||
|
}
|
||
|
|
||
|
cc_defaults {
|
||
|
name: "linker_reloc_bench_library",
|
||
|
defaults: ["bionic_spawn_benchmark_targets"],
|
||
|
header_libs: ["linker_reloc_bench_headers"],
|
||
|
stl: "none",
|
||
|
gtest: false,
|
||
|
relative_install_path: "linker-reloc-bench",
|
||
|
|
||
|
static: {
|
||
|
enabled: false,
|
||
|
},
|
||
|
}
|