summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/cargo_embargo/src/main.rs3
-rw-r--r--tools/winscope/src/app/trace_file_filter.ts1
-rw-r--r--tools/winscope/src/app/trace_file_filter_test.ts1
-rwxr-xr-xvndk/tools/header-checker/android/build-prebuilts.sh64
-rwxr-xr-xvndk/tools/header-checker/android/update_clang-tools.sh3
-rw-r--r--vndk/tools/header-checker/utils/utils.py29
6 files changed, 35 insertions, 66 deletions
diff --git a/tools/cargo_embargo/src/main.rs b/tools/cargo_embargo/src/main.rs
index d588feada..024791222 100644
--- a/tools/cargo_embargo/src/main.rs
+++ b/tools/cargo_embargo/src/main.rs
@@ -556,7 +556,8 @@ fn write_android_bp(
}
if !bp_contents.is_empty() {
let bp_contents = "// This file is generated by cargo_embargo.\n".to_owned()
- + "// Do not modify this file as most changes will be overridden on upgrade.\n"
+ + "// Do not modify this file after the first \"rust_*\" or \"genrule\" module\n"
+ + "// because the changes will be overridden on upgrade.\n"
+ "// Content before the first \"rust_*\" or \"genrule\" module is preserved.\n\n"
+ license_section.trim()
+ "\n"
diff --git a/tools/winscope/src/app/trace_file_filter.ts b/tools/winscope/src/app/trace_file_filter.ts
index d0ed9adbe..d722de2a8 100644
--- a/tools/winscope/src/app/trace_file_filter.ts
+++ b/tools/winscope/src/app/trace_file_filter.ts
@@ -31,6 +31,7 @@ export class TraceFileFilter {
'FS/data/misc/wmtrace/',
'FS/data/misc/perfetto-traces/',
'proto/window_CRITICAL.proto',
+ 'proto/SurfaceFlinger_CRITICAL.proto',
];
async filter(files: TraceFile[], errorListener: WinscopeErrorListener): Promise<FilterResult> {
diff --git a/tools/winscope/src/app/trace_file_filter_test.ts b/tools/winscope/src/app/trace_file_filter_test.ts
index 9ca03bf1a..c193a926f 100644
--- a/tools/winscope/src/app/trace_file_filter_test.ts
+++ b/tools/winscope/src/app/trace_file_filter_test.ts
@@ -44,6 +44,7 @@ describe('TraceFileFilter', () => {
makeTraceFile('FS/data/misc/wmtrace/surface_flinger.bp', bugreportArchive),
makeTraceFile('FS/data/misc/wmtrace/transactions.bp', bugreportArchive),
makeTraceFile('proto/window_CRITICAL.proto', bugreportArchive),
+ makeTraceFile('proto/SurfaceFlinger_CRITICAL.proto', bugreportArchive),
];
const ignoredBugreportFile = makeTraceFile(
diff --git a/vndk/tools/header-checker/android/build-prebuilts.sh b/vndk/tools/header-checker/android/build-prebuilts.sh
index f38b6931a..f7abce27d 100755
--- a/vndk/tools/header-checker/android/build-prebuilts.sh
+++ b/vndk/tools/header-checker/android/build-prebuilts.sh
@@ -17,9 +17,8 @@
usage() {
echo "Usage: $(basename "$0") [build_target]..."
echo " Build all targets if build_target is not specified."
- echo " Supported build targets for macOS: ${MACOS_SOONG_BINARIES[*]}"
- echo " Supported build targets for Linux:" \
- "${LINUX_SOONG_BINARIES[@]}" "${LINUX_SOONG_TESTS[@]}"
+ echo " Supported build targets:" \
+ "${VALID_SOONG_BINARIES[@]}" "${VALID_SOONG_TESTS[@]}"
}
in_array () {
@@ -31,7 +30,7 @@ in_array () {
return 1
}
-LINUX_SOONG_BINARIES=(
+VALID_SOONG_BINARIES=(
"bindgen"
"cxx_extractor"
"header-abi-linker"
@@ -43,14 +42,10 @@ LINUX_SOONG_BINARIES=(
"versioner"
)
-LINUX_SOONG_TESTS=(
+VALID_SOONG_TESTS=(
"header-checker-unittests"
)
-MACOS_SOONG_BINARIES=(
- "versioner"
-)
-
BUILD_TARGETS=()
while [ $# -gt 0 ]; do
@@ -70,29 +65,12 @@ set -ex
source "$(dirname "$0")/envsetup.sh"
-UNAME="$(uname)"
-case "${UNAME}" in
-Linux)
- OS='linux'
- ;;
-Darwin)
- OS='darwin'
- ;;
-*)
- echo "error: Unknown uname: ${UNAME}"
+if [ "$(uname)" != "Linux" ]; then
+ echo "error: Unsupported uname: $(uname)"
exit 1
- ;;
-esac
-
-# Targets to be built
-if [ "${OS}" = "darwin" ]; then
- VALID_SOONG_BINARIES=("${MACOS_SOONG_BINARIES[@]}")
- VALID_SOONG_TESTS=()
-else
- VALID_SOONG_BINARIES=("${LINUX_SOONG_BINARIES[@]}")
- VALID_SOONG_TESTS=("${LINUX_SOONG_TESTS[@]}")
fi
+# Targets to be built
SOONG_BINARIES=()
SOONG_TESTS=()
@@ -124,7 +102,7 @@ TOP=$(pwd)
# Setup Soong configuration
SOONG_OUT="${OUT_DIR}/soong"
-SOONG_HOST_OUT="${OUT_DIR}/soong/host/${OS}-x86"
+SOONG_HOST_OUT="${OUT_DIR}/soong/host/linux-x86"
rm -rf "${SOONG_OUT}"
mkdir -p "${SOONG_OUT}"
cat > "${SOONG_OUT}/soong.variables" << __EOF__
@@ -143,14 +121,9 @@ for name in "${SOONG_BINARIES[@]}"; do
binaries+=("${SOONG_HOST_OUT}/bin/${name}")
done
-libs=()
-if [ "${OS}" = "darwin" ]; then
- libs+=("${SOONG_HOST_OUT}/lib64/libc++abi_host.dylib")
-fi
-
# Build binaries and shared libs
build/soong/soong_ui.bash --make-mode --skip-config --soong-only \
- "${binaries[@]}" "${libs[@]}" "${SOONG_TESTS[@]}"
+ "${binaries[@]}" "${SOONG_TESTS[@]}"
# Copy binaries and shared libs
SOONG_DIST="${SOONG_OUT}/dist"
@@ -164,7 +137,7 @@ cp -R "${SOONG_HOST_OUT}/lib64" "${SOONG_DIST}"
ln -s "lib64" "${SOONG_DIST}/lib"
# Copy clang header and share files
-CLANG_DIR="prebuilts/clang/host/${OS}-x86/${LLVM_PREBUILTS_VERSION}"
+CLANG_DIR="prebuilts/clang/host/linux-x86/${LLVM_PREBUILTS_VERSION}"
CLANG_LIB_DIR="${CLANG_DIR}/lib/clang/${LLVM_RELEASE_VERSION}"
CLANG_LIB_DIR_OUT="${SOONG_DIST}/lib/clang/${LLVM_RELEASE_VERSION}"
mkdir -p "${CLANG_LIB_DIR_OUT}"
@@ -175,20 +148,9 @@ ln -s "lib/clang/${LLVM_RELEASE_VERSION}/include" "${SOONG_DIST}/clang-headers"
# Normalize library file names. All library file names must match their soname.
function extract_soname () {
local file="$1"
-
- case "${OS}" in
- linux)
- readelf -d "${file}" | \
- grep '(SONAME)\s*Library soname: \[.*\]$' -o | \
- sed 's/(SONAME)\s*Library soname: \[\(.*\)\]$/\1/g'
- ;;
- darwin)
- local install_path="$(otool -D "${file}" | sed -n 2p)"
- if [ -n "${install_path}" ]; then
- basename "${install_path}"
- fi
- ;;
- esac
+ readelf -d "${file}" | \
+ grep '(SONAME)\s*Library soname: \[.*\]$' -o | \
+ sed 's/(SONAME)\s*Library soname: \[\(.*\)\]$/\1/g'
}
for file in "${SOONG_OUT}/dist/lib"*"/"*; do
diff --git a/vndk/tools/header-checker/android/update_clang-tools.sh b/vndk/tools/header-checker/android/update_clang-tools.sh
index 577e19391..a878f2c60 100755
--- a/vndk/tools/header-checker/android/update_clang-tools.sh
+++ b/vndk/tools/header-checker/android/update_clang-tools.sh
@@ -66,7 +66,7 @@ update_prebuilts () {
commit () {
cd "${CLANG_TOOLS_DIR}"
echo "Update clang-tools to ab/${BUILD_ID}" > "/tmp/clang-tools-update.msg"
- git add manifest.xml linux-x86 darwin-x86
+ git add manifest.xml linux-x86
git commit -a -t "/tmp/clang-tools-update.msg"
}
@@ -76,5 +76,4 @@ repo start "update_${BUILD_ID}" .
update_manifest
update_prebuilts "linux-x86" "linux"
-update_prebuilts "darwin-x86" "darwin_mac"
commit
diff --git a/vndk/tools/header-checker/utils/utils.py b/vndk/tools/header-checker/utils/utils.py
index 8d8a9b635..0d032c2ef 100644
--- a/vndk/tools/header-checker/utils/utils.py
+++ b/vndk/tools/header-checker/utils/utils.py
@@ -29,7 +29,7 @@ BUILTIN_HEADERS_DIR = (
SO_EXT = '.so'
SOURCE_ABI_DUMP_EXT_END = '.lsdump'
SOURCE_ABI_DUMP_EXT = SO_EXT + SOURCE_ABI_DUMP_EXT_END
-VENDOR_SUFFIX = '.vendor'
+LLNDK_ABI_DUMP_EXT = SO_EXT + '.llndk' + SOURCE_ABI_DUMP_EXT_END
DEFAULT_CPPFLAGS = ['-x', 'c++', '-std=c++11']
DEFAULT_CFLAGS = ['-std=gnu99']
@@ -83,6 +83,14 @@ class Arch(object):
return self.arch + arch_variant + cpu_variant
+def _strip_dump_name_ext(filename):
+ """Remove .so*.lsdump from a file name."""
+ for ext in (SOURCE_ABI_DUMP_EXT, LLNDK_ABI_DUMP_EXT):
+ if filename.endswith(ext) and len(filename) > len(ext):
+ return filename[:-len(ext)]
+ raise ValueError(f'{filename} has an unknown file name extension.')
+
+
def _validate_dump_content(dump_path):
"""Make sure that the dump contains relative source paths."""
with open(dump_path, 'r') as f:
@@ -102,13 +110,14 @@ def _validate_dump_content(dump_path):
def copy_reference_dump(lib_path, reference_dump_dir):
- reference_dump_path = os.path.join(
- reference_dump_dir, os.path.basename(lib_path))
- os.makedirs(os.path.dirname(reference_dump_path), exist_ok=True)
_validate_dump_content(lib_path)
- shutil.copyfile(lib_path, reference_dump_path)
- print('Created abi dump at', reference_dump_path)
- return reference_dump_path
+ ref_dump_name = (_strip_dump_name_ext(os.path.basename(lib_path)) +
+ SOURCE_ABI_DUMP_EXT)
+ ref_dump_path = os.path.join(reference_dump_dir, ref_dump_name)
+ os.makedirs(reference_dump_dir, exist_ok=True)
+ shutil.copyfile(lib_path, ref_dump_path)
+ print(f'Created abi dump at {ref_dump_path}')
+ return ref_dump_path
def run_header_abi_dumper(input_path, output_path, cflags=tuple(),
@@ -230,11 +239,7 @@ def _read_lsdump_paths(lsdump_paths_file_path, arches, lsdump_filter):
continue
tag, path = (x.strip() for x in line.split(':', 1))
dir_path, filename = os.path.split(path)
- if not filename.endswith(SOURCE_ABI_DUMP_EXT):
- continue
- libname = filename[:-len(SOURCE_ABI_DUMP_EXT)]
- if not libname:
- continue
+ libname = _strip_dump_name_ext(filename)
if not lsdump_filter(tag, libname):
continue
# dir_path may contain soong config hash.