diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-05-25 23:29:48 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-05-25 23:29:48 +0000 |
commit | a0e21c637428e1e416df106a04bc59a6a7b00faf (patch) | |
tree | 80be53d1cdf8c68a44b72b5f3b0a7749a7ced8a3 | |
parent | 4ab37d35a5d6dc3f9fb8d84bae7d3043d313cd76 (diff) | |
parent | 53ed03bc3b599c3b152fe8a8a9365d717eae1e95 (diff) | |
download | bpf-a0e21c637428e1e416df106a04bc59a6a7b00faf.tar.gz |
Snap for 10205056 from 53ed03bc3b599c3b152fe8a8a9365d717eae1e95 to udc-releaseandroid-vts-14.0_r4android-vts-14.0_r3android-vts-14.0_r2android-vts-14.0_r1android-security-14.0.0_r9android-security-14.0.0_r8android-security-14.0.0_r7android-security-14.0.0_r6android-security-14.0.0_r5android-security-14.0.0_r4android-security-14.0.0_r3android-security-14.0.0_r2android-security-14.0.0_r10android-security-14.0.0_r1android-platform-14.0.0_r9android-platform-14.0.0_r8android-platform-14.0.0_r7android-platform-14.0.0_r6android-platform-14.0.0_r5android-platform-14.0.0_r4android-platform-14.0.0_r3android-platform-14.0.0_r2android-platform-14.0.0_r1android-cts-14.0_r4android-cts-14.0_r3android-cts-14.0_r2android-cts-14.0_r1android-14.0.0_r28android-14.0.0_r2android-14.0.0_r15android-14.0.0_r14android-14.0.0_r13android-14.0.0_r1android14-tests-releaseandroid14-security-releaseandroid14-s2-releaseandroid14-s1-releaseandroid14-releaseandroid14-platform-release
Change-Id: Idedc6fc6b7232eee37257e097bd2f9317a925ff8
-rw-r--r-- | libbpf_android/Loader.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/libbpf_android/Loader.cpp b/libbpf_android/Loader.cpp index a8ef1a0..7f6aae1 100644 --- a/libbpf_android/Loader.cpp +++ b/libbpf_android/Loader.cpp @@ -31,13 +31,13 @@ #include <sys/wait.h> #include <unistd.h> -// This is BpfLoader v0.37 +// This is BpfLoader v0.38 // WARNING: If you ever hit cherrypick conflicts here you're doing it wrong: // You are NOT allowed to cherrypick bpfloader related patches out of order. // (indeed: cherrypicking is probably a bad idea and you should merge instead) // Mainline supports ONLY the published versions of the bpfloader for each Android release. #define BPFLOADER_VERSION_MAJOR 0u -#define BPFLOADER_VERSION_MINOR 37u +#define BPFLOADER_VERSION_MINOR 38u #define BPFLOADER_VERSION ((BPFLOADER_VERSION_MAJOR << 16) | BPFLOADER_VERSION_MINOR) #include "BpfSyscallWrappers.h" @@ -816,6 +816,17 @@ static int createMaps(const char* elfPath, ifstream& elfFile, vector<unique_fd>& continue; } + if ((isArm() && isKernel32Bit() && md[i].ignore_on_arm32) || + (isArm() && isKernel64Bit() && md[i].ignore_on_aarch64) || + (isX86() && isKernel32Bit() && md[i].ignore_on_x86_32) || + (isX86() && isKernel64Bit() && md[i].ignore_on_x86_64) || + (isRiscV() && md[i].ignore_on_riscv64)) { + ALOGI("skipping map %s which is ignored on %s", mapNames[i].c_str(), + describeArch()); + mapFds.push_back(unique_fd()); + continue; + } + enum bpf_map_type type = md[i].type; if (type == BPF_MAP_TYPE_DEVMAP_HASH && !isAtLeastKernelVersion(5, 4, 0)) { // On Linux Kernels older than 5.4 this map type doesn't exist, but it can kind @@ -1071,6 +1082,15 @@ static int loadCodeSections(const char* elfPath, vector<codeSection>& cs, const continue; } + if ((isArm() && isKernel32Bit() && cs[i].prog_def->ignore_on_arm32) || + (isArm() && isKernel64Bit() && cs[i].prog_def->ignore_on_aarch64) || + (isX86() && isKernel32Bit() && cs[i].prog_def->ignore_on_x86_32) || + (isX86() && isKernel64Bit() && cs[i].prog_def->ignore_on_x86_64) || + (isRiscV() && cs[i].prog_def->ignore_on_riscv64)) { + ALOGD("cs[%d].name:%s is ignored on %s", i, name.c_str(), describeArch()); + continue; + } + if (unrecognized(pin_subdir)) return -ENOTDIR; if (specified(selinux_context)) { |