This commit will rename vndk-core, vndk-fwk-ext, and vndk-vnd-ext
libraries so that the output will match with the post-Treble design
document.
Test: ./tests/test_vndk.py
Change-Id: I528ef380c76d71c743f1937ba94a8b72c00ce785
This commit adds non-AOSP libraries to imported_ext_symbols even when no
symbols are resolved to that specific non-AOSP library. This should fix
some errors related to the missing libraries from generic references.
Test: ./tests/run.py
Change-Id: I7f104737308d4dc0b591266d3408b001325c959e
After this commit, vndk_definition_tool.py will skip the NDK extension
check if generic references are not specified by the user. This fixes
an unexpected AttributeError on NoneType object.
Test: Run ./vndk_definition_tool.py vndk command w/o --generic-refs ...
Change-Id: Ibcd960039c5acc4adabb1a2e2b5965a026e9f23a
This commit no longer removes all dependencies (including system and
vendor dependencies) when a generic reference library has a dependency
to a library on the vendor partition. After this commit is merged,
vndk_definition_tool.py will only remove the offending dependencies.
Test: Run vndk_definition_tool.py against bullhead build with tweaked
dependencies.
Change-Id: Id6d23112128d9bbfec9e1e4430677a07f20fd193
This commit dumps the symbol usages in the dependency.
Test: Run ./vndk_definition_tool.py deps --symbol ...
Change-Id: I474dd0c0184e6dabd06968f953137384e14862c2
Bionic's FORTIFY implementation expects clang >= r285906, but
header-abi-dumper uses external/clang, which is a clone of clang at
r275480. This causes header-abi-dumper to emit errors in cases where
clang-3688880 doesn't (e.g.
unsigned char c[2];
// error: no matching function, since clang r275480 doesn't like
// unsigned char * -> char * casts
snprintf(c, sizeof(c), "a");).
Bug: 36076947
Test: Ran header-abi-dumper on external/e2fsprogs/lib/blkid/probe.c
(which previously gave us errors). It now only emits a few warnings.
Change-Id: I9460853b7f94aeb154a4d921a852954d82394055
This commit fixes vndk-fwk-ext qand vndk-vnd-ext computation. We should
hash imported_lib, an instance of ELFLinkData, instead of ELF object.
Test: ./tests/test_vndk.py
Change-Id: Idc5123bbf9980b76527b5fa295a1fe01c8f7f44c
This commit adds vndk-cap subcommand. vndk-cap subcommand will compute
the upper bound of the eligible libraries for VNDK definition.
Test: ./tests/test_elf_linker.py
Change-Id: Ie6600c35735de36055b2770836f2e87397221ddd
* changes:
vndk-def: Remove dump_exported_symbols().
vndk-def: Add parse from ELF dump file.
vndk-def: Warn on bad user-specified dependencies.
vndk-def: Split DT_NEEDED and dlopen() into two layers.
This commit removes dump_exported_symbols() and replace the usages with
dump().
Test: ./tests/run.py
Change-Id: Ifed15e606e470c25a3c0a9090b60889e9cb4cb28
This commit adds classify_lib() function which is a generalization of
is_equivalent_lib(). According to the input library argument, it will
run NEW_LIB, EXPORT_EQUAL, EXPORT_SUPER_SET, and MODIFIED.
Test: ./tests/test_generic_refs.py
Change-Id: I3073efe975be6e08ff67bb31d7fcb2eb8b556230
This commit resolves the library dependencies down to symbol level. It
will traverse all undefined symbols and try to find a matching symbol
from the libraries specified in DT_NEEDED entries. This algorithm
won't be able to find symbols for the libraries that are not built with
-Wl,--no-undefined. Unresolved weak symbols are added to
unresolved_symbols as well.
Test: ./tests/run.py
Change-Id: I3b0f06e38f256025bb6993d5c9f3d8afc3a4bf0e
This commit moves `input` and `expected` into `testdata/test_elfdump`
subdirectory.
Test: ./tests/test_elfdump.py
Change-Id: I53773471d36c26df736b066f4d00f76a2707459f
This commit separates SP-NDK from HL-NDK. In the latest design, to
allow HIDL Executables / Libs to use OpenGL-related libraries, SP-NDK is
spun off from HL-NDK.
Test: ./tests/test_ndk_libs.py
Change-Id: Ifafd71df8c517d88fb50d5027f4fcfec76ed5d4f
In preparation for removing junit and android.test classes from
the Android API this change adds explicit dependencies on junit
and/or legacy-android-test to ensure that modules will compile
properly once it is removed.
Care was taken to ensure that any targets that depended,
directly or indirectly, on android-support-test did not also
depend on junit or hamcrest as they conflict with the versions
embedded within android-support-test.
Bug: 30188076
Test: make checkbuild
Change-Id: I03f7836a1081acda5ed2c6e43cb24e9dc23b944c
This fixes some issues with using boost's asio (which wrongly assumes
_BSD_SOURCE implies that these things are available) following our
change from -isystem to --sysroot.
Test: Manual, check that we can build when using cfsetspeed on ICS.
Bug: https://github.com/android-ndk/ndk/issues/302
Change-Id: Iab50221e4864f9a09a8fb00691252170eb6e8d09
This commit implements ELF resolver so that we can change the default
search path and check the search directories specified in DT_RUNPATH.
Test: ./tests/run.py
Change-Id: I479d0cb1519032053c5813c003a959adde8fb05e