| Age | Commit message (Collapse) | Author |
|
We must not depend dynamically on non-NDK libraries in
libdexfile_support, because it becomes a prebuilt that has to work on
older platforms. (Removing the libbase dependency is a NOP change since
no symbols from it are used now.)
We also must not re-export any platform header files, because they'll
then get added to the include path for the caller and may hide the
headers they should be using.
Plenty of platform and external headers are still exported by the
libdexfile and libdexfile_static prebuilts, but the former isn't a real
problem and the latter is an already known problem. Add some comments
to discuss both.
Test: Build prebuilts on internal git_master-art and use the S
prebuilts in a SCv2 tree with ag/19239336 and
https://r.android.com/2267725
Bug: 282171830
Bug: 169885605
Ignore-AOSP-First: Will cherry pick to AOSP later
Change-Id: Ibff288cd14400015456b04b805efbfd6d76a89a3
|
|
All the // NOLINT comments introduced in this CL were meant
to disable only the modernize-use-using checks, but changing
the comment to be // NOLINT(modernize-use-using) as explained
in https://clang.llvm.org/extra/clang-tidy/#suppressing-undesired-diagnostics
will make cpplint throw an error, as also cpplint uses the
// NOLINT(...) notation to suppress unwanted warnings.
Test: m tidy-art
Test: art/libnativebridge/tests/runtests.sh
Bug: 213953102
Change-Id: I9a992e0f0ecd06f7e64fd0bbf473bec4582370f6
|
|
Bug: 123517037
Bug: 145347927
Test: test-art-host-gtest-art_libdexfile_support_tests64
Test: test-art-host-gtest-art_libdexfile_external_tests64
Change-Id: I9673872585456937d2f54abb63e3dbd8aad4e9ad
|
|
Provide more direct access to the underlying C api.
Bug: 123517037
Test: m test-art-host-gtest
Change-Id: I364814e284e7569cf96eb7a7596a95bef38abbd7
|
|
Bug: 123517037
Test: m test-art-host-gtest
Test: libunwindstack_unit_test
Test: simpleperf_unit_test --gtest_filter=*dex*
Change-Id: I1bd9a6849ad79d9ddd0a0dfb93ea7c7d2311bf49
|
|
The requirement of an r-value for the DexFile constructor made it
hard to use and required a bunch of std::move calls.
Add a constructor that takes a unique_ptr instead.
Bug: 151966190
Test: Build and run art_libdexfile_support_static_tests.
Change-Id: Ie6711be8efce62f591814512f796605e20e1ac89
|
|
loaded.
libunwindstack needs it since it is used in situations where we cannot
guarantee that libdexfile_external.so is available, e.g. from
libc_malloc_debug.so in the bootstrap Bionic.
Test: m test-art-host-gtest-art_libdexfile_support_tests
Test: m test-art-host-gtest-art_libdexfile_support_static_tests
Bug: 139408016
Change-Id: I0c311222baaafbf5c3a0f7d3f9f2d83d4abbaf90
|
|
This allows users to depend on libdexfile_support (typically via
libbacktrace) also in binaries that don't run java code. The drawback is one
extra address load in all calls.
Also add support for a nonfunctional fake with recovery and vendor variants,
so that clients don't need special cases to avoid the libdexfile dependency.
Bug: 123403798
Bug: 123186083
Test: Flash and boot
Test: atest -a libdexfile_support{,_static}_tests
Test: mmma art/libdexfile/
Test: mmma system/core/{libunwindstack,libbacktrace}, run host gtests (cannot get atest to work)
Change-Id: Ia99ad8039bb37fe25bf7009a85ae89c2aa660bd1
|
|
This addresses the art-gtest-asan failure from http://r.android.com/867370:
http://ab/5224785
Test: env SANITIZE_HOST=address m test-art-host-gtest-dex_file_supp_test
Bug: 119632407
Change-Id: I84f761561223c7da56a335b6691189020027a4a0
|
|
This prompted a fix to ExtDexFileMakeString in the C API to make it fully
support strings with NUL chars. That's currently not expected to be
required; it's for the sake of API completeness.
Test: m test-art-{host,target}-gtest-dex_file_supp_test
Test: art/test/testrunner/run_build_test_target.py -j80 art-test
Bug: 119632407
Change-Id: Ibd3ef6e3ea7ae196f541e926a4a7665be1c91819
|
|
Also add a test to compile it with C.
Test: m
Test: m test-art-{host,target}-gtest-dex_file_ext_c_test
Test: art/test/testrunner/run_build_test_target.py -j80 art-test
Bug: 120978655
Change-Id: I6e9944a2051bef9a2775bc2072df4e0ed81dc833
|
|
For consistency with the new header file added in http://r.android.com/867369.
Test: m
Bug: 120978655
Change-Id: I7f3d1575c253028289d57b1a972c1f0bbcc88c7a
|
|
This isn't strictly necessary for the current use case in libunwindstack.
The reason for it is symmetry with GetAllMethodInfos.
Also drop the default for with_signature.
This is an incompatible C++ API change, so let's do it now.
Test: mmma art/ system/core/{libunwindstack,libbacktrace} system/extras/{simpleperf,perfprofd}
Test: Run out/host/linux-x86/nativetest*/libunwindstack_test/*
Test: mmma system/extras/simpleperf && adb root && adb shell rm -rf /data/test && adb push out/target/product/taimen/testcases/simpleperf_unit_test /data/test && adb shell /data/test/arm64/simpleperf_unit_test && adb shell /data/test/arm/simpleperf_unit_test
Bug: 119632407
Change-Id: I01345bd1b07554f70976cb8536f1304a3a739bf9
|
|
Bug: 121130430
Test: env WITH_TIDY=1 mmm art/libdexfile:libdexfile_support
Change-Id: Id73ec33bdb7d8a334b015935a2c87a1d178ad385
|
|
This defines a stable C ABI that is safe for external use in
libdexfile_external. On top of it is a thin stable C++ API in
libdexfile_support to be linked into clients.
TBD: Unit tests, e.g. move the relevant tests from libunwindstack.
Test: mmma art/
Test: gtests and runtests on target
Test: atest system/core/libunwindstack (no new failures, 1 old one)
Bug: 119632407
Change-Id: I64388337e6d31e4bf36ec435a78c4defc2e17aa2
|