blob: 03165fdc6eda1a7bba9377d317b1e46b04e3e1d2 [file] [log] [blame]
//
// Copyright (C) 2022 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 {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "external_bcc_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
// SPDX-license-identifier-GPL-2.0
default_applicable_licenses: ["external_bcc_license"],
}
cc_defaults {
name: "bcc_bpf_defaults",
compile_multilib: "first",
cflags: [
"--target=bpf",
"-fno-data-sections",
"-fno-function-sections",
"-fno-stack-protector",
"-fno-unwind-tables",
"-mcpu=generic",
"-Wno-pointer-arith",
"-Wno-unused-command-line-argument",
"-Wno-unused-parameter",
],
header_libs: [
"bpf_prog_headers",
],
generated_headers: ["libbpf_headers"],
arch: {
arm: {
local_include_dirs: ["arm64"],
cflags: [
"-D__TARGET_ARCH_arm64",
],
},
arm64: {
local_include_dirs: ["arm64"],
cflags: [
"-D__TARGET_ARCH_arm64",
],
},
x86: {
local_include_dirs: ["x86"],
cflags: [
"-D__TARGET_ARCH_x86"
],
},
x86_64: {
local_include_dirs: ["x86"],
cflags: [
"-D__TARGET_ARCH_x86"
],
},
},
visibility: ["//visibility:private"],
}
genrule_defaults {
name: "bpf_skeleton_hdr_defaults",
tools: ["bpftool"],
cmd: "$(location bpftool) gen skeleton $(in) > $(out)",
visibility: ["//visibility:private"],
arch: {
arm: {
enabled: false,
},
x86: {
enabled: false,
},
},
}
cc_defaults {
name: "bcc_binary_defaults",
generated_headers: [
"libbpf_headers",
],
local_include_dirs: [
"android",
],
srcs: [
"android/argp.cpp",
"trace_helpers.c",
],
static_libs: [
"libbpf",
"libelf",
"libz",
],
cflags: [
"-Wno-pointer-bool-conversion",
"-Wno-pointer-arith",
"-Wno-unused-parameter",
"-Wno-unused-variable",
],
arch: {
arm: {
enabled: false,
},
x86: {
enabled: false,
},
},
}
cc_object {
name: "bindsnoop.bpf.o",
srcs: ["bindsnoop.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "bindsnoop.skel.h",
srcs: [":bindsnoop.bpf.o"],
out: ["bindsnoop.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "bindsnoop",
srcs: ["bindsnoop.c"],
generated_headers: ["bindsnoop.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "cpudist.bpf.o",
srcs: ["cpudist.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "cpudist.skel.h",
srcs: [":cpudist.bpf.o"],
out: ["cpudist.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "cpudist",
srcs: ["cpudist.c"],
generated_headers: ["cpudist.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "cpufreq.bpf.o",
srcs: ["cpufreq.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "cpufreq.skel.h",
srcs: [":cpufreq.bpf.o"],
out: ["cpufreq.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "cpufreq",
srcs: ["cpufreq.c"],
generated_headers: ["cpufreq.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "drsnoop.bpf.o",
srcs: ["drsnoop.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "drsnoop.skel.h",
srcs: [":drsnoop.bpf.o"],
out: ["drsnoop.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "drsnoop",
srcs: ["drsnoop.c"],
generated_headers: ["drsnoop.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "filelife.bpf.o",
srcs: ["filelife.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "filelife.skel.h",
srcs: [":filelife.bpf.o"],
out: ["filelife.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "filelife",
srcs: ["filelife.c"],
generated_headers: ["filelife.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "filetop.bpf.o",
srcs: ["filetop.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "filetop.skel.h",
srcs: [":filetop.bpf.o"],
out: ["filetop.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "filetop",
srcs: ["filetop.c"],
generated_headers: ["filetop.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "fsdist.bpf.o",
srcs: ["fsdist.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "fsdist.skel.h",
srcs: [":fsdist.bpf.o"],
out: ["fsdist.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "fsdist",
srcs: ["fsdist.c"],
generated_headers: ["fsdist.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "fsslower.bpf.o",
srcs: ["fsslower.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "fsslower.skel.h",
srcs: [":fsslower.bpf.o"],
out: ["fsslower.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "fsslower",
srcs: ["fsslower.c"],
generated_headers: ["fsslower.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "funclatency.bpf.o",
srcs: ["funclatency.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "funclatency.skel.h",
srcs: [":funclatency.bpf.o"],
out: ["funclatency.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "funclatency",
srcs: [
"funclatency.c",
"uprobe_helpers.c",
],
generated_headers: ["funclatency.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "gethostlatency.bpf.o",
srcs: ["gethostlatency.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "gethostlatency.skel.h",
srcs: [":gethostlatency.bpf.o"],
out: ["gethostlatency.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "gethostlatency",
srcs: [
"gethostlatency.c",
"uprobe_helpers.c",
],
generated_headers: ["gethostlatency.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "ksnoop.bpf.o",
srcs: ["ksnoop.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "ksnoop.skel.h",
srcs: [":ksnoop.bpf.o"],
out: ["ksnoop.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "ksnoop",
srcs: ["ksnoop.c"],
generated_headers: ["ksnoop.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "llcstat.bpf.o",
srcs: ["llcstat.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "llcstat.skel.h",
srcs: [":llcstat.bpf.o"],
out: ["llcstat.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "llcstat",
srcs: ["llcstat.c"],
generated_headers: ["llcstat.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "offcputime.bpf.o",
srcs: ["offcputime.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "offcputime.skel.h",
srcs: [":offcputime.bpf.o"],
out: ["offcputime.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "offcputime",
srcs: [
"offcputime.c",
"uprobe_helpers.c",
],
generated_headers: ["offcputime.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "oomkill.bpf.o",
srcs: ["oomkill.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "oomkill.skel.h",
srcs: [":oomkill.bpf.o"],
out: ["oomkill.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "oomkill",
srcs: ["oomkill.c"],
generated_headers: ["oomkill.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "runqlat.bpf.o",
srcs: ["runqlat.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "runqlat.skel.h",
srcs: [":runqlat.bpf.o"],
out: ["runqlat.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "runqlat",
srcs: ["runqlat.c"],
generated_headers: ["runqlat.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "runqlen.bpf.o",
srcs: ["runqlen.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "runqlen.skel.h",
srcs: [":runqlen.bpf.o"],
out: ["runqlen.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "runqlen",
srcs: ["runqlen.c"],
generated_headers: ["runqlen.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "runqslower.bpf.o",
srcs: ["runqslower.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "runqslower.skel.h",
srcs: [":runqslower.bpf.o"],
out: ["runqslower.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "runqslower",
srcs: ["runqslower.c"],
generated_headers: ["runqslower.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "softirqs.bpf.o",
srcs: ["softirqs.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "softirqs.skel.h",
srcs: [":softirqs.bpf.o"],
out: ["softirqs.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "softirqs",
srcs: ["softirqs.c"],
generated_headers: ["softirqs.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "solisten.bpf.o",
srcs: ["solisten.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "solisten.skel.h",
srcs: [":solisten.bpf.o"],
out: ["solisten.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "solisten",
srcs: ["solisten.c"],
generated_headers: ["solisten.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "tcpconnect.bpf.o",
srcs: ["tcpconnect.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "tcpconnect.skel.h",
srcs: [":tcpconnect.bpf.o"],
out: ["tcpconnect.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "tcpconnect",
srcs: [
"map_helpers.c",
"tcpconnect.c",
],
generated_headers: ["tcpconnect.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "tcprtt.bpf.o",
srcs: ["tcprtt.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "tcprtt.skel.h",
srcs: [":tcprtt.bpf.o"],
out: ["tcprtt.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "tcprtt",
srcs: ["tcprtt.c"],
generated_headers: ["tcprtt.skel.h"],
defaults: ["bcc_binary_defaults"],
}
cc_object {
name: "vfsstat.bpf.o",
srcs: ["vfsstat.bpf.c"],
defaults: ["bcc_bpf_defaults"],
}
genrule {
name: "vfsstat.skel.h",
srcs: [":vfsstat.bpf.o"],
out: ["vfsstat.skel.h"],
defaults: ["bpf_skeleton_hdr_defaults"],
}
cc_binary {
name: "vfsstat",
srcs: ["vfsstat.c"],
generated_headers: ["vfsstat.skel.h"],
defaults: ["bcc_binary_defaults"],
}