* changes:
Retry the command for querying parent artifacts
Revise comments for when -v, -m options are needed
Check first if system_dir and device_dir exists
Print error on missing device target_files archive
This commit removes the full import path from abi_diff.proto so that
header-abi-dumper can be built separately.
Test: ./tests/test.py
Change-Id: Iec5062dc7ddecfec0f2fdac5993513fd647475ae
Currently mixed build targets are flaky, intermittently breaking
with the error message that either the parent artifact directory
does not exist (system_dir, device_dir) or a specific artifact
in the parent artifact directory does not exist.
To help debug this flakiness issue and avoid any race conditions
within the build-chaining infrastructure, allow the retrying of
the command for querying parent artifacts.
Test: build_mixed system_dir device_dir out_dir
Bug: 112250435
Change-Id: Ic2fd4056163c2a32d6057b6c182061c605cd158d
Change the order of variable checking so it is clear whether
the system_dir or device_dir does not exist or a specific file
in the *_dir does not exist.
Test: build_mixed system_dir device_dir dist_dir
Merged-In: I0d61ea11c3bd22ef12eccbb46b8f665414188307
Change-Id: I0d61ea11c3bd22ef12eccbb46b8f665414188307
(cherry picked from commit 52edf8fb4f)
Check the newly-created DEVICE_TARGET_FILES_ARCHIVE variable instead of
checking the DEVICE_ARCHIVE variable twice.
Test: run build_mixed with only the *-img-* archive in the device directory
Merged-In: I59d9b8f77cac1dcdeb2c88cdf37bc8dfbd1111ca
Change-Id: I59d9b8f77cac1dcdeb2c88cdf37bc8dfbd1111ca
(cherry picked from commit c1474312b3)
Test: changing tests/integration/cpp/include/abstract_class.h changes to
test results. This would not happen earlier, since inadvertently,
the test used to pick up abi references locally instead of freshly
creating them.
Change-Id: Id2c62a6a69b151c5c7f504cfd94bc2be8c851c31
This commit removes wildcards from the `srcs` properties and removes
unnecessary static libraries.
Test: It builds
Change-Id: I20b288eacf571b367195c809ff23dbbe2c1dd32c
Starting from the P VNDK snapshot, the linker config file will be
built and installed from the source tree at the time the VNDK
snapshot is installed to the system.img (of Q+), rather than
installing the prebuilt from /prebuilts/vndk/v{VER}. The installed
linker config file is used for both system and vendor processes,
thus should be built from the most up-to-date ld.config.txt
template in the source tree of the system partition.
Test: python gen_buildfiles.py 28 -vv
Test: m -j vndk_v28_arm64; check /system/etc/ld.config.28.txt
Bug: 74658756
Merged-In: I86034e6bbbab6a096814389332c26920ef7d40fc
Change-Id: I86034e6bbbab6a096814389332c26920ef7d40fc
(cherry picked from commit e020f7131e)
This commit removes "is_inlined" flag from lsdump's VTableComponent,
because the clang library used to walk the ast doesn't report accurate
information about whether a member function is inlined or not.
Also update the testcases.
Bug: 80217511
Test: ./tests/test.py
Change-Id: I0e133b140a4f3debff8030de7d6712590cf98d76
Instead of skipping the vtable entry, vndk-vtable-dumper now prints
undemanglable vtable entries.
Vtables should always contain C++ symbols (mangled symbols). The only
exceptions are when vtables contain pure virtual or deleted
virtual functions. In that case the vtable may contain C symbols
(unmangled symbols) of __cxa_pure_virtual or __cxa_deleted_virtual.
In that case we just print the undemanglable C symbol as its mangled and
demangled name, though technically its not mangled.
Bug: 111968285
Test: m vndk-vtable-dumper
Test: vndk-vtable-dumper android.frameworks.displayservice@1.0.so
Test: vndk-vtable-dumper android.frameworks.displayservice@1.0.so -mangled
Change-Id: I4d1c99ba23a327fd5709233a38d309180c9cfd43
This commit makes vndk-vtable-dumper to check ELF file machine arch
(x86/x86_64/arm/arm64) when detecting relocation type, as relocation
type constants such as R_ARM_ABS32, R_386_32 are not gauranteed to be
unique across different machines.
Test: m vndk-vtable-dumper
Test: vndk-vtable-dumper libziparchive.so # with x86/x86_64/arm/arm64 arch
Change-Id: I58d6d7bff7b7eb16e96cbe02f4989e45a17fd295
Add the compiled python proto module so that vts tests can process lsdump.
Test: python -c 'import abi_dump_pb2'
Change-Id: I8beb6e5de8c55e2dc5bb5ecff1364892bb8c58d8
Split the content of lsdump_paths.txt with newline.
Bug: 111814844
Test: m vndk findlsdumps -j18
Test: ./utils/create_reference_dumps.py -products aosp_arm64
Change-Id: I76ed008382fff8589d29ab97720d262a7636d523
- abi_dump.proto: Adds is_inlined and is_pure flag to VTableComponent.
is_inlined means a virtual function is inlined and probably not exported.
is_pure means a virtual function is pure and probably not exported.
Bug: 80217511
Test: ./tests/test.py
Change-Id: Ic1562ed47faba1f3d7eec6dffe94991296ba7176
This commit adds `vndk-lib-extra-list-current.txt`. This file contains
the LLNDK/VNDK/SP-HAL shared libraries (and dependencies) that cannot be
specified in Android.bp.
Bug: 80521281
Test: make vts
Change-Id: If7b414589786dab424a21773bfd33f10b415d899
Merged-In: If7b414589786dab424a21773bfd33f10b415d899
(cherry picked from commit 7e177685d8)
This commit checks whether the path maps to a git project specified in
`manifest.xml`. If it does not map to a git project, emit an error and
skip it. If we don't do so, an exception will be raised because the
`sorted()` function cannot compare `None` object with `str` object.
Test: Add a project to external and it does not stop the analyzer.
Change-Id: I386ab7c1f76d5630a2c5f43186f38a791a3bb7b9
- Convert method declarations to thunk symbols if thunk information
exists.
- Add a test case and reference dumps for virtual inheritance.
Bug: 80671888
Test: ./tests/test.py
Change-Id: I55ecbd7c8b0f5b0f534d81e6c6967f99ffd1d42e
Starting in VNDK snapshot v28 (P), prebuilts built for 32-bit
binder interface are isolated in separate 'binder32' subdirectory
under prebuilts/vndk/v{VER}/{ARCH}/. All other prebuilts are
assumed to use 64-bit binder interface.
To differentiate prebuilts per binder bitness, the following
changes are made:
1) a new 'binder32bit' property added to the Android.bp files
autogenerated for the vndk_prebuilt_shared soong module
2) new phony modules, vndk_v{ver}_{arch}_binder32, defined for
32-bit binder prebuilts,
3) 'binder32' suffix added to the prebuilt versioned name,
e.g. libfoo.vndk.{ver}.{arch}.binder32.vendor
Test: python gen_buildfiles.py 28 -vv
Test: python gen_buildfiles.py 27 -vv
Bug: 78279738
Change-Id: I283fe25a34d3381d13097ede34c428c83dffe11e
This commit adds a missing `__init__.py` to `ninja/tests`, so that
unit test discovery can find unit tests without any arguments.
Test: sourcedr/ninja/tests/run_tests.sh
Change-Id: I6077d014f33ccb176bf2138e3a0035c871c8eead