summaryrefslogtreecommitdiff
path: root/libnativeloader
AgeCommit message (Collapse)Author
2022-02-09Add libnativeloader test to CTS for API coverage. Martin Stjernholm
Test: m cts cts-tradefed cts-tradefed run commandAndExit cts \ --module libnativeloader_test Test: atest libnativeloader_test Bug: 208464250 Change-Id: I70b613a67fcd1acbd83aa479dc7902c4558f74b9
2021-11-09Inherit art_defaults in cc_library_headers as well. Martin Stjernholm
To take art_defaults closer to a true global defaults used by everything in the ART module. It has mostly compiler flags which aren't applicable for header modules, but it may have other things as well, notably min_sdk_version. #codehealth Test: Run-tests, gtests, libcore tests and libjdwp tests for host and device on master-art Bug: 204364566 Change-Id: Iba53785a992894fe7e8209a520e7ad9ec32636a2
2021-08-31Fix a few non-inclusive terms Orion Hodson
Largely based on go/hiddenapi-list-renaming Bug: 161336379 Test: TH Change-Id: Iaa06eed26ab0cb9bb4e2995a148f3251386ad33d
2021-08-17Read public.libraries-<company>.txt from product/etc/ Justin Yun
Even in the case of unbundled product partition, extending the public libraries must follow the existing policy. Read public.libraries-<company>.txt from the product partition instead of public.libraries.txt in any cases. Bug: 186055799 Test: pm list libraries atest libnativeloader_test Change-Id: I1c9fd182fa902cf750a9644bf9a3c1ffcfa01340
2021-08-17Define product public libraries Justin Yun
When /product is unbundled from the /system, /product/etc/ may not have 'public.libraries-<companyname>.txt' to extend public libraries. Instead, /product/etc/public.library.txt can provide public libraries from /product. Bug: 186055799 Test: atest libnativeloader_test Change-Id: I8994649826657f59ac1dac655205b9704a2c67c9
2021-06-21Fix link apex for jni libs Jooyung Han
When library_path is ":" splitted list of .jar files, we should iterate over each .jar file path to link a proper APEX namespace for JNI lib. Bug: 169826971 Test: libnativeloader_test Test: move libicing to appsearch apex Change-Id: I3df47203d336036d0e015f9c5421b30a0377087f
2021-06-09Avoid internal APEX stubs in libnative{bridge,loader} and clean up Martin Stjernholm
exported symbols. The APEX stubs don't have any practical effect on the lazy loading library wrappers. Add notes about that and update the function wrappers to keep them in sync. Also add tests for the lazy libraries. That necessitated some reshuffling in libnativeloader tests to reuse the mocks. Test: art/libnativebridge/tests/runtests.sh Test: atest libnativebridge-lazy-tests Test: atest libnativeloader_test libnativeloader_lazy_test Bug: 122710865 Change-Id: I7e291f2e84d8e35731dfb1114c9b19978ff87969
2021-06-03Fold the C API tests into the regular libnative{bridge,loader} tests. Martin Stjernholm
They only need to be compiled. This way we avoid separate tests that need gtest:false and that atest doesn't handle well (although there are other reasons it doesn't handle libnativebridge-tests). Test: art/libnativebridge/tests/runtests.sh atest libnativeloader_test with and without a planted syntax error in the .c files Bug: 122710865 Change-Id: I3225bdb7c2dd268c2cf9353b7ce89819e6d396a5
2021-05-19Disable most ART source modules when ART prebuilts are enabled. Martin Stjernholm
After libdexfile_external was merged into libdexfile, libdexfile is an APEX stub when prebuilts are enabled, and that cannot be used to build libart and all the other internal modules that depend on it. This CL: - Changes art_defaults to disable native modules when building from prebuilts. Some other modules that depends on them, like the art-script sh_binary, also get disabled. - Consolidates the makefile sections that are disabled when building from prebuilts so that only a small bit is still enabled then. - Temporarily removes the prebuilt for libctstiagent and activates its source even when prebuilts are used, to work around sdk_version problem (b/187288515). - Removes explicit "enabled: true" in a couple of places that would override the inherited flag that lets us disable them in builds from prebuilts. - Makes some Soong defaults available to libcore. Test: m checkbuild Test: art/build/build-art-module.sh --skip-apex packages/modules/ArtPrebuilt/update-art-module-prebuilts.py \ --local-dist out/dist/ --skip-apex m SOONG_CONFIG_art_module_source_build=false droid m SOONG_CONFIG_art_module_source_build=false checkbuild Change-Id: Ief60b933cd6273fc8b85fe7637b99ba1b78505f6
2021-05-17Fix golem breakage. Nicolas Geoffray
Test: build-art-target-golem Change-Id: I262ebc20870debb357d12c87e944284f84191cbc
2021-05-13Drop ro.debuggable restriction for NATIVELOADER_DEFAULT_NAMESPACE_LIBS. Martin Stjernholm
To allow running tests on user builds. The (non)existence of the environment variable itself serves fine as a toggle, and it is hard to inject into the zygote environment on a user build anyway. Also a few other cleanups from comments on https://r.android.com/1689792. Test: art/test/testrunner/testrunner.py --target --64 --optimizing Bug: 130340935 Change-Id: I1843a8bbfb5dadc560919022d1f2123eb652be5a
2021-05-13Drop ANDROID_ADDITIONAL_PUBLIC_LIBRARIES. Martin Stjernholm
It's not needed any more since libarttest(d).so is loaded from the ART linker namespace. Test: art/test/testrunner/testrunner.py --target --64 --optimizing Bug: 130340935 Bug: 167578583 Change-Id: I785133e921277cb25360856e9af20fa681b54a3b
2021-05-10Avoid loading external libraries from ARTs internal linker namespace Martin Stjernholm
(reland). dlopen() calls in ART will use its own linker namespace (com_android_art). That's appropriate for internal libraries in the APEX, but not when ART loads libraries on behalf of external requests. In those cases we should instead use android_dlopen_ext to load them from the system namespace, i.e. the one that searches /system/lib(64). The linker config has been using allow_all_shared_libs, so any loads from com_android_art fall back to the system namespace, and hence dlopen() usually works regardless which namespace it ought to use. However we want to drop allow_all_shared_libs, so we need to figure out which dlopen's should use which namespace: 1. Several ART libraries are loaded on-demand, e.g. libart-compiler and libart-disassembler. There are also those going through the runtime plugin system, like libperfetto_hprofd and heapprofd_client_api. All these are internal or at least statically known (so we can provide links for them in the linker config), and should continue to use dlopen from the ART namespace. 2. libnativeloader loads the preloadable public libraries from system/etc/public.libraries.txt, and should use the system namespace for that. 3. libnativebridge loads the native bridge implementation specified through the command line (or ultimately the system property ro.dalvik.vm.native.bridge). It's not part of the ART APEX and not known statically, so the system namespace should be used. 4. libnativeloader also loads JNI libraries from classloader namespaces, but has a fallback if no such namespace can be found based on caller location. Fall back to the system namespace to handle libraries loaded during the preload phase in the zygote. 5. JVMTI agents are loaded by dalvik.system.VMDebug.attachAgent(). Treat these too as external libraries - they are loaded in a way similar to JNI libraries through OpenNativeLibrary in libnativeloader, so are covered by #4. They are normally loaded by apps with a classloader, but a special case is adbconnection which loads libjdwp.so in the ART APEX without one and hence falls back to the system namespace. We therefore need to create a link for it (https://r.android.com/1690889, https://r.android.com/1690795). All cases #2-#5 are covered by libnativeloader and libnativebridge. Introduce OpenSystemLibrary, and since libnativeloader depends on libnativebridge, put it in the latter to be usable from both. It's only an internal dependency not exposed in the APEX stubs. (Another possibility could be to put it in the generic toolbox lib libartbase, but it's split into -d and non-d variants, and we don't want to split libnative{loader,bridge} that way.) Since libnativeloader_test no longer needs to mock dlopen we can simplify it to a more regular test that loads the tested libs dynamically. This relands https://r.android.com/1673312 without setting ANDROID_ADDITIONAL_PUBLIC_LIBRARIES in run-test-jar, because that made libnativeloader try to preload internal libraries from the system namespace. Test: mmm art Test: atest art/libnativeloader Test: atest CtsJniTestCases Test: Cuttlefish app compat test that uses NDK translation Test: Manual tests with Android Studio TI agents (http://g/art-module-team/7Jy3Tg7LCh0) Test: art/test/testrunner/testrunner.py --target --64 --optimizing in chroot on cuttlefish Bug: 130340935 Change-Id: I7fb32faacc1c214402b58125d8190e97bbbcfad2
2021-05-09Revert "Avoid loading external libraries from ARTs internal linker namespace." Calin Juravle
This reverts commit 582448f29f2f2529202bf868d00ba5d3d3776bb6. Reason for revert: breaks tests Change-Id: I2e0b2a28d4644b314887673d4aef4f1094aea289
2021-05-07Avoid loading external libraries from ARTs internal linker namespace. Martin Stjernholm
dlopen() calls in ART will use its own linker namespace (com_android_art). That's appropriate for internal libraries in the APEX, but not when ART loads libraries on behalf of external requests. In those cases we should instead use android_dlopen_ext to load them from the system namespace, i.e. the one that searches /system/lib(64). The linker config has been using allow_all_shared_libs, so any loads from com_android_art fall back to the system namespace, and hence dlopen() usually works regardless which namespace it ought to use. However we want to drop allow_all_shared_libs, so we need to figure out which dlopen's should use which namespace: 1. Several ART libraries are loaded on-demand, e.g. libart-compiler and libart-disassembler. There are also those going through the runtime plugin system, like libperfetto_hprofd and heapprofd_client_api. All these are internal or at least statically known (so we can provide links for them in the linker config), and should continue to use dlopen from the ART namespace. 2. libnativeloader loads the preloadable public libraries from system/etc/public.libraries.txt, and should use the system namespace for that. 3. libnativebridge loads the native bridge implementation specified through the command line (or ultimately the system property ro.dalvik.vm.native.bridge). It's not part of the ART APEX and not known statically, so the system namespace should be used. 4. libnativeloader also loads JNI libraries from classloader namespaces, but has a fallback if no such namespace can be found based on caller location. Fall back to the system namespace to handle libraries loaded during the preload phase in the zygote. 5. JVMTI agents are loaded by dalvik.system.VMDebug.attachAgent(). Treat these too as external libraries - they are loaded in a way similar to JNI libraries through OpenNativeLibrary in libnativeloader, so are covered by #4. They are normally loaded by apps with a classloader, but a special case is adbconnection which loads libjdwp.so in the ART APEX without one and hence falls back to the system namespace. We therefore need to create a link for it (https://r.android.com/1690889, https://r.android.com/1690795). All cases #2-#5 are covered by libnativeloader and libnativebridge. Introduce OpenSystemLibrary, and since libnativeloader depends on libnativebridge, put it in the latter to be usable from both. It's only an internal dependency not exposed in the APEX stubs. (Another possibility could be to put it in the generic toolbox lib libartbase, but it's split into -d and non-d variants, and we don't want to split libnative{loader,bridge} that way.) Since libnativeloader_test no longer needs to mock dlopen we can simplify it to a more regular test that loads the tested libs dynamically. Test: mmm art Test: atest art/libnativeloader Test: atest CtsJniTestCases Test: Cuttlefish app compat test that uses NDK translation Test: Manual tests with Android Studio TI agents (http://g/art-module-team/7Jy3Tg7LCh0) Bug: 130340935 Change-Id: I2513472c4e1c44f0fcb01a6b4f6eccbb03718f1d
2021-05-05In run tests, do not rely on loading native libs in the ART namespace Martin Stjernholm
with an allow_all_shared_libs fallback to system. The system and com_android_art namespaces need to be properly separated, but run tests have relied on loading test libraries through either LD_LIBRARY_PATH or java.library.path without a clear separation. That has worked through a combination of ANDROID_ADDITIONAL_PUBLIC_LIBRARIES and fallback dlopen() calls that used the ART namespace. This change introduces a new directory /data/nativetest(64)/com.android.art for test libraries that depend on internal ART libraries. It's added with LD_LIBRARY_PATH to the default namespace, which in the APEX linker config has full access to com_android_art. Normal JNI libraries that don't depend on ART internals stay in /data/nativetest(64)/art/<arch>. There should be no overlap between the two locations. A new environment variable NATIVELOADER_DEFAULT_NAMESPACE_LIBS is introduced to list the libraries added through LD_LIBRARY_PATH, so libnativeloader can link to them from classloader namespaces and in the fallback namespace when no classloader is specified. Like ANDROID_ADDITIONAL_PUBLIC_LIBRARIES, NATIVELOADER_DEFAULT_NAMESPACE_LIBS is only effective when ro.debuggable is true. A new cc_defaults "art_test_internal_library_defaults" is added to Android.bp, to be used in libraries that should be installed in the new com.android.art directory. Some run tests that are special and need more treatment are disabled for now, to be addressed in b/186654484. Test: art/test/testrunner/testrunner.py --target --64 --optimizing Test: art/test/testrunner/testrunner.py --target --32 --jit Test: art/test/testrunner/testrunner.py --host --64 --optimizing Bug: 130340935 Change-Id: Iec640d5e22b46af2c1a4d375ce3f06c57b1d224e
2021-05-05Extend Link() to allow linking to the default namespace. Martin Stjernholm
The code path through native bridge and NDK translation should propagate nullptr as well. This to support a later change that changes the way native test libraries are loaded in ART run tests. Test: art/test/testrunner/testrunner.py --target --64 --optimizing Bug: 130340935 Change-Id: I934d11942e41ccc6d140a7044faa160b006166f1
2021-04-23[LSC] Add LOCAL_LICENSE_KINDS to art Bob Badour
Added SPDX-license-identifier-Apache-2.0 to: libnativeloader/test/Android.mk Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I51f13e645548e7f78e94e27352c87f39a7f7c1f6
2021-03-19Add min_sdk_version for ART module. Nicolas Geoffray
Bug: 180399951 Test: m Change-Id: I5e2a1ddc3063be26c602bf4db8e6b77f2d54b656
2021-03-02[LSC] Add LOCAL_LICENSE_KINDS to art Bob Badour
Added SPDX-license-identifier-Apache-2.0 to: adbconnection/Android.bp benchmark/Android.bp build/Android.bp build/Android.cpplint.mk build/Android.gtest.mk build/apex/Android.bp build/boot/Android.bp build/sdk/Android.bp cmdline/Android.bp compiler/Android.bp dalvikvm/Android.bp dex2oat/Android.bp dexdump/Android.bp dexlayout/Android.bp dexlist/Android.bp dexoptanalyzer/Android.bp disassembler/Android.bp dt_fd_forward/export/Android.bp imgdiag/Android.bp libartbase/Android.bp libartpalette/Android.bp libartservice/Android.bp libartservice/tests/Android.bp libarttools/Android.bp libdexfile/Android.bp libelffile/Android.bp libnativebridge/Android.bp libnativebridge/tests/Android.bp libnativeloader/Android.bp libnativeloader/test/Android.bp libnativeloader/test/Android.mk libprofile/Android.bp oatdump/Android.bp odrefresh/Android.bp perfetto_hprof/Android.bp profman/Android.bp runtime/Android.bp simulator/Android.bp test/001-HelloWorld/Android.bp test/001-Main/Android.bp test/002-sleep/Android.bp test/004-InterfaceTest/Android.bp test/004-SignalTest/Android.bp test/004-UnsafeTest/Android.bp test/004-checker-UnsafeTest18/Android.bp test/006-args/Android.bp test/007-count10/Android.bp test/009-instanceof/Android.bp test/010-instance/Android.bp test/011-array-copy/Android.bp test/012-math/Android.bp test/013-math2/Android.bp test/014-math3/Android.bp test/015-switch/Android.bp test/016-intern/Android.bp test/017-float/Android.bp test/018-stack-overflow/Android.bp test/019-wrong-array-type/Android.bp test/020-string/Android.bp test/021-string2/Android.bp test/022-interface/Android.bp test/025-access-controller/Android.bp test/026-access/Android.bp test/027-arithmetic/Android.bp test/028-array-write/Android.bp test/029-assert/Android.bp test/030-bad-finalizer/Android.bp test/033-class-init-deadlock/Android.bp test/034-call-null/Android.bp test/035-enum/Android.bp test/036-finalizer/Android.bp test/037-inherit/Android.bp test/038-inner-null/Android.bp test/039-join-main/Android.bp test/040-miranda/Android.bp test/041-narrowing/Android.bp test/043-privates/Android.bp test/044-proxy/Android.bp test/045-reflect-array/Android.bp test/046-reflect/Android.bp test/047-returns/Android.bp test/048-reflect-v8/Android.bp test/049-show-object/Android.bp test/050-sync-test/Android.bp test/051-thread/Android.bp test/052-verifier-fun/Android.bp test/053-wait-some/Android.bp test/054-uncaught/Android.bp test/055-enum-performance/Android.bp test/058-enum-order/Android.bp test/059-finalizer-throw/Android.bp test/061-out-of-memory/Android.bp test/062-character-encodings/Android.bp test/063-process-manager/Android.bp test/067-preemptive-unpark/Android.bp test/070-nio-buffer/Android.bp test/072-precise-gc/Android.bp test/072-reachability-fence/Android.bp test/074-gc-thrash/Android.bp test/076-boolean-put/Android.bp test/078-polymorphic-virtual/Android.bp test/079-phantom/Android.bp test/080-oom-fragmentation/Android.bp test/080-oom-throw-with-finalizer/Android.bp test/080-oom-throw/Android.bp test/081-hot-exceptions/Android.bp test/082-inline-execute/Android.bp test/083-compiler-regressions/Android.bp test/084-class-init/Android.bp test/086-null-super/Android.bp test/087-gc-after-link/Android.bp test/090-loop-formation/Android.bp test/092-locale/Android.bp test/093-serialization/Android.bp test/094-pattern/Android.bp test/095-switch-MAX_INT/Android.bp test/096-array-copy-concurrent-gc/Android.bp test/098-ddmc/Android.bp test/099-vmdebug/Android.bp test/100-reflect2/Android.bp test/1004-checker-volatile-ref-load/Android.bp test/101-fibonacci/Android.bp test/102-concurrent-gc/Android.bp test/103-string-append/Android.bp test/104-growth-limit/Android.bp test/105-invoke/Android.bp test/106-exceptions2/Android.bp test/107-int-math2/Android.bp test/108-check-cast/Android.bp test/109-suspend-check/Android.bp test/110-field-access/Android.bp test/112-double-math/Android.bp test/114-ParallelGC/Android.bp test/115-native-bridge/Android.bp test/116-nodex2oat/Android.bp test/120-hashcode/Android.bp test/121-simple-suspend-check/Android.bp test/122-npe/Android.bp test/123-compiler-regressions-mt/Android.bp test/123-inline-execute2/Android.bp test/125-gc-and-classloading/Android.bp test/128-reg-spill-on-implicit-nullcheck/Android.bp test/129-ThreadGetId/Android.bp test/132-daemon-locks-shutdown/Android.bp test/133-static-invoke-super/Android.bp test/1336-short-finalizer-timeout/Android.bp test/1337-gc-coverage/Android.bp test/1339-dead-reference-safe/Android.bp test/136-daemon-jni-shutdown/Android.bp test/139-register-natives/Android.bp test/140-dce-regression/Android.bp test/140-field-packing/Android.bp test/143-string-value/Android.bp test/144-static-field-sigquit/Android.bp test/148-multithread-gc-annotations/Android.bp test/149-suspend-all-stress/Android.bp test/150-loadlibrary/Android.bp test/151-OpenFileLimit/Android.bp test/152-dead-large-object/Android.bp test/153-reference-stress/Android.bp test/154-gc-loop/Android.bp test/156-register-dex-file-multi-loader/Android.bp test/158-app-image-class-table/Android.bp test/159-app-image-fields/Android.bp test/163-app-image-methods/Android.bp test/165-lock-owner-proxy/Android.bp test/168-vmstack-annotated/Android.bp test/169-threadgroup-jni/Android.bp test/170-interface-init/Android.bp test/172-app-image-twice/Android.bp test/174-escaping-instance-of-bad-class/Android.bp test/175-alloc-big-bignums/Android.bp test/176-app-image-string/Android.bp test/177-visibly-initialized-deadlock/Android.bp test/178-app-image-native-method/Android.bp test/179-nonvirtual-jni/Android.bp test/1900-track-alloc/Android.bp test/1901-get-bytecodes/Android.bp test/1902-suspend/Android.bp test/1903-suspend-self/Android.bp test/1904-double-suspend/Android.bp test/1905-suspend-native/Android.bp test/1906-suspend-list-me-first/Android.bp test/1907-suspend-list-self-twice/Android.bp test/1908-suspend-native-resume-self/Android.bp test/1909-per-agent-tls/Android.bp test/1910-transform-with-default/Android.bp test/1911-get-local-var-table/Android.bp test/1912-get-set-local-primitive/Android.bp test/1913-get-set-local-objects/Android.bp test/1914-get-local-instance/Android.bp test/1915-get-set-local-current-thread/Android.bp test/1916-get-set-current-frame/Android.bp test/1917-get-stack-frame/Android.bp test/1919-vminit-thread-start-timing/Android.bp test/1920-suspend-native-monitor/Android.bp test/1921-suspend-native-recursive-monitor/Android.bp test/1922-owned-monitors-info/Android.bp test/1923-frame-pop/Android.bp test/1924-frame-pop-toggle/Android.bp test/1925-self-frame-pop/Android.bp test/1926-missed-frame-pop/Android.bp test/1927-exception-event/Android.bp test/1928-exception-event-exception/Android.bp test/1930-monitor-info/Android.bp test/1931-monitor-events/Android.bp test/1932-monitor-events-misc/Android.bp test/1933-monitor-current-contended/Android.bp test/1934-jvmti-signal-thread/Android.bp test/1935-get-set-current-frame-jit/Android.bp test/1936-thread-end-events/Android.bp test/1937-transform-soft-fail/Android.bp test/1938-transform-abstract-single-impl/Android.bp test/1939-proxy-frames/Android.bp test/1941-dispose-stress/Android.bp test/1942-suspend-raw-monitor-exit/Android.bp test/1943-suspend-raw-monitor-wait/Android.bp test/1945-proxy-method-arguments/Android.bp test/1947-breakpoint-redefine-deopt/Android.bp test/1949-short-dex-file/Android.bp test/1951-monitor-enter-no-suspend/Android.bp test/1953-pop-frame/Android.bp test/1954-pop-frame-jit/Android.bp test/1955-pop-frame-jit-called/Android.bp test/1956-pop-frame-jit-calling/Android.bp test/1957-error-ext/Android.bp test/1958-transform-try-jit/Android.bp test/1959-redefine-object-instrument/Android.bp test/1960-checker-bounds-codegen/Android.bp test/1960-obsolete-jit-multithread-native/Android.bp test/1961-checker-loop-vectorizer/Android.bp test/1961-obsolete-jit-multithread/Android.bp test/1962-multi-thread-events/Android.bp test/1963-add-to-dex-classloader-in-memory/Android.bp test/1967-get-set-local-bad-slot/Android.bp test/1968-force-early-return/Android.bp test/1969-force-early-return-void/Android.bp test/1970-force-early-return-long/Android.bp test/1971-multi-force-early-return/Android.bp test/1972-jni-id-swap-indices/Android.bp test/1973-jni-id-swap-pointer/Android.bp test/1974-resize-array/Android.bp test/1975-hello-structural-transformation/Android.bp test/1976-hello-structural-static-methods/Android.bp test/1977-hello-structural-obsolescence/Android.bp test/1978-regular-obsolete-then-structural-obsolescence/Android.bp test/1979-threaded-structural-transformation/Android.bp test/1980-obsolete-object-cleared/Android.bp test/1982-no-virtuals-structural-redefinition/Android.bp test/1984-structural-redefine-field-trace/Android.bp test/1985-structural-redefine-stack-scope/Android.bp test/1986-structural-redefine-multi-thread-stack-scope/Android.bp test/1987-structural-redefine-recursive-stack-scope/Android.bp test/1988-multi-structural-redefine/Android.bp test/1989-transform-bad-monitor/Android.bp test/1990-structural-bad-verify/Android.bp test/1991-hello-structural-retransform/Android.bp test/1992-retransform-no-such-field/Android.bp test/1993-fallback-non-structural/Android.bp test/1994-final-virtual-structural/Android.bp test/1995-final-virtual-structural-multithread/Android.bp test/1996-final-override-virtual-structural/Android.bp test/1997-structural-shadow-method/Android.bp test/1998-structural-shadow-field/Android.bp test/1999-virtual-structural/Android.bp test/2003-double-virtual-structural/Android.bp test/2004-double-virtual-structural-abstract/Android.bp test/2005-pause-all-redefine-multithreaded/Android.bp test/2008-redefine-then-old-reflect-field/Android.bp test/201-built-in-except-detail-messages/Android.bp test/2011-stack-walk-concurrent-instrument/Android.bp test/2019-constantcalculationsinking/Android.bp test/202-thread-oome/Android.bp test/2020-InvokeVirtual-Inlining/Android.bp test/2021-InvokeStatic-Inlining/Android.bp test/2022-Invariantloops/Android.bp test/2023-InvariantLoops_typecast/Android.bp test/2024-InvariantNegativeLoop/Android.bp test/2025-ChangedArrayValue/Android.bp test/2026-DifferentMemoryLSCouples/Android.bp test/2027-TwiceTheSameMemoryCouple/Android.bp test/2028-MultiBackward/Android.bp test/2029-contended-monitors/Android.bp test/203-multi-checkpoint/Android.bp test/2030-long-running-child/Android.bp test/2031-zygote-compiled-frame-deopt/Android.bp test/2033-shutdown-mechanics/Android.bp test/2036-jni-filechannel/Android.bp test/2037-thread-name-inherit/Android.bp test/2231-checker-heap-poisoning/Android.bp test/2232-write-metrics-to-log/Android.bp test/300-package-override/Android.bp test/301-abstract-protected/Android.bp test/302-float-conversion/Android.bp test/304-method-tracing/Android.bp test/305-other-fault-handler/Android.bp test/401-optimizing-compiler/Android.bp test/402-optimizing-control-flow/Android.bp test/403-optimizing-long/Android.bp test/404-optimizing-allocator/Android.bp test/405-optimizing-long-allocator/Android.bp test/406-fields/Android.bp test/407-arrays/Android.bp test/408-move-bug/Android.bp test/409-materialized-condition/Android.bp test/410-floats/Android.bp test/411-checker-hdiv-hrem-const/Android.bp test/411-checker-hdiv-hrem-pow2/Android.bp test/411-checker-instruct-simplifier-hrem/Android.bp test/411-optimizing-arith/Android.bp test/413-regalloc-regression/Android.bp test/414-static-fields/Android.bp test/418-const-string/Android.bp test/419-long-parameter/Android.bp test/420-const-class/Android.bp test/421-exceptions/Android.bp test/421-large-frame/Android.bp test/422-instanceof/Android.bp test/422-type-conversion/Android.bp test/423-invoke-interface/Android.bp test/424-checkcast/Android.bp test/426-monitor/Android.bp test/427-bitwise/Android.bp test/427-bounds/Android.bp test/429-ssa-builder/Android.bp test/430-live-register-slow-path/Android.bp test/433-gvn/Android.bp test/434-shifter-operand/Android.bp test/435-try-finally-without-catch/Android.bp test/436-rem-float/Android.bp test/436-shift-constant/Android.bp test/437-inline/Android.bp test/438-volatile/Android.bp test/439-npe/Android.bp test/439-swap-double/Android.bp test/440-stmp/Android.bp test/441-checker-inliner/Android.bp test/443-not-bool-inline/Android.bp test/444-checker-nce/Android.bp test/445-checker-licm/Android.bp test/446-checker-inliner2/Android.bp test/447-checker-inliner3/Android.bp test/449-checker-bce-rem/Android.bp test/449-checker-bce/Android.bp test/450-checker-types/Android.bp test/451-regression-add-float/Android.bp test/451-spill-splot/Android.bp test/454-get-vreg/Android.bp test/455-checker-gvn/Android.bp test/456-baseline-array-set/Android.bp test/458-long-to-fpu/Android.bp test/461-get-reference-vreg/Android.bp test/464-checker-inline-sharpen-calls/Android.bp test/465-checker-clinit-gvn/Android.bp test/466-get-live-vreg/Android.bp test/469-condition-materialization/Android.bp test/470-huge-method/Android.bp test/471-deopt-environment/Android.bp test/472-type-propagation/Android.bp test/473-checker-inliner-constants/Android.bp test/473-remove-dead-block/Android.bp test/474-checker-boolean-input/Android.bp test/474-fp-sub-neg/Android.bp test/475-simplify-mul-zero/Android.bp test/476-checker-ctor-fence-redun-elim/Android.bp test/476-checker-ctor-memory-barrier/Android.bp test/476-clinit-inline-static-invoke/Android.bp test/477-checker-bound-type/Android.bp test/477-long-2-float-convers-precision/Android.bp test/478-checker-clinit-check-pruning/Android.bp test/478-checker-inline-noreturn/Android.bp test/478-checker-inliner-nested-loop/Android.bp test/479-regression-implicit-null-check/Android.bp test/480-checker-dead-blocks/Android.bp test/481-regression-phi-cond/Android.bp test/482-checker-loop-back-edge-use/Android.bp test/483-dce-block/Android.bp test/485-checker-dce-switch/Android.bp test/486-checker-must-do-null-check/Android.bp test/487-checker-inline-calls/Android.bp test/488-checker-inline-recursive-calls/Android.bp test/489-current-method-regression/Android.bp test/490-checker-inline/Android.bp test/491-current-method/Android.bp test/492-checker-inline-invoke-interface/Android.bp test/493-checker-inline-invoke-interface/Android.bp test/494-checker-instanceof-tests/Android.bp test/495-checker-checkcast-tests/Android.bp test/496-checker-inlining-class-loader/Android.bp test/497-inlining-and-class-loader/Android.bp test/499-bce-phi-array-length/Android.bp test/500-instanceof/Android.bp test/505-simplifier-type-propagation/Android.bp test/507-boolean-test/Android.bp test/507-referrer/Android.bp test/508-checker-disassembly/Android.bp test/508-referrer-method/Android.bp test/513-array-deopt/Android.bp test/514-shifts/Android.bp test/519-bound-load-class/Android.bp test/521-checker-array-set-null/Android.bp test/521-regression-integer-field-set/Android.bp test/524-boolean-simplifier-regression/Android.bp test/525-checker-arrays-fields1/Android.bp test/525-checker-arrays-fields2/Android.bp test/526-checker-caller-callee-regs/Android.bp test/526-long-regalloc/Android.bp test/527-checker-array-access-simd/Android.bp test/527-checker-array-access-split/Android.bp test/528-long-hint/Android.bp test/529-long-split/Android.bp test/530-checker-loops1/Android.bp test/530-checker-loops2/Android.bp test/530-checker-loops3/Android.bp test/530-checker-loops4/Android.bp test/530-checker-loops5/Android.bp test/530-checker-lse-ctor-fences/Android.bp test/530-checker-lse-simd/Android.bp test/530-checker-lse/Android.bp test/530-checker-lse2/Android.bp test/530-instanceof-checkcast/Android.bp test/530-regression-lse/Android.bp test/532-checker-nonnull-arrayset/Android.bp test/534-checker-bce-deoptimization/Android.bp test/535-deopt-and-inlining/Android.bp test/536-checker-intrinsic-optimization/Android.bp test/537-checker-arraycopy/Android.bp test/537-checker-jump-over-jump/Android.bp test/538-checker-embed-constants/Android.bp test/540-checker-rtp-bug/Android.bp test/542-bitfield-rotates/Android.bp test/542-inline-trycatch/Android.bp test/542-unresolved-access-check/Android.bp test/545-tracing-and-jit/Android.bp test/548-checker-inlining-and-dce/Android.bp test/549-checker-types-merge/Android.bp test/550-checker-multiply-accumulate/Android.bp test/550-new-instance-clinit/Android.bp test/551-checker-clinit/Android.bp test/551-checker-shifter-operand/Android.bp test/551-implicit-null-checks/Android.bp test/552-checker-sharpening/Android.bp test/552-checker-x86-avx2-bit-manipulation/Android.bp test/554-checker-rtp-checkcast/Android.bp test/555-UnsafeGetLong-regression/Android.bp test/557-checker-instruct-simplifier-ror/Android.bp test/558-switch/Android.bp test/559-bce-ssa/Android.bp test/559-checker-rtp-ifnotnull/Android.bp test/560-packed-switch/Android.bp test/561-divrem/Android.bp test/561-shared-slowpaths/Android.bp test/562-bce-preheader/Android.bp test/562-checker-no-intermediate/Android.bp test/563-checker-invoke-super/Android.bp test/564-checker-bitcount/Android.bp test/564-checker-inline-loop/Android.bp test/564-checker-negbitwise/Android.bp test/565-checker-condition-liveness/Android.bp test/566-checker-codegen-select/Android.bp test/566-polymorphic-inlining/Android.bp test/567-checker-builder-intrinsics/Android.bp test/568-checker-onebit/Android.bp test/570-checker-select/Android.bp test/572-checker-array-get-regression/Android.bp test/573-checker-checkcast-regression/Android.bp test/576-polymorphic-inlining/Android.bp test/577-checker-fp2int/Android.bp test/578-bce-visit/Android.bp test/578-polymorphic-inlining/Android.bp test/579-inline-infinite/Android.bp test/580-checker-round/Android.bp test/580-crc32/Android.bp test/581-rtp/Android.bp test/582-checker-bce-length/Android.bp test/583-checker-zero/Android.bp test/584-checker-div-bool/Android.bp test/589-super-imt/Android.bp test/590-checker-arr-set-null-regression/Android.bp test/591-checker-regression-dead-loop/Android.bp test/593-checker-long-2-float-regression/Android.bp test/594-checker-array-alias/Android.bp test/594-load-string-regression/Android.bp test/595-profile-saving/Android.bp test/597-deopt-busy-loop/Android.bp test/597-deopt-invoke-stub/Android.bp test/597-deopt-new-string/Android.bp test/602-deoptimizeable/Android.bp test/603-checker-instanceof/Android.bp test/604-hot-static-interface/Android.bp test/605-new-string-from-bytes/Android.bp test/607-daemon-stress/Android.bp test/609-checker-inline-interface/Android.bp test/609-checker-x86-bounds-check/Android.bp test/610-arraycopy/Android.bp test/611-checker-simplify-if/Android.bp test/614-checker-dump-constant-location/Android.bp test/615-checker-arm64-store-zero/Android.bp test/616-cha-abstract/Android.bp test/616-cha-interface/Android.bp test/616-cha-miranda/Android.bp test/616-cha-native/Android.bp test/616-cha-regression-proxy-method/Android.bp test/616-cha/Android.bp test/617-clinit-oome/Android.bp test/618-checker-induction/Android.bp test/619-checker-current-method/Android.bp test/620-checker-bce-intrinsics/Android.bp test/622-checker-bce-regressions/Android.bp test/623-checker-loop-regressions/Android.bp test/625-checker-licm-regressions/Android.bp test/626-set-resolved-string/Android.bp test/627-checker-unroll/Android.bp test/628-vdex/Android.bp test/629-vdex-speed/Android.bp test/631-checker-get-class/Android.bp test/632-checker-char-at-bounds/Android.bp test/635-checker-arm64-volatile-load-cc/Android.bp test/636-arm64-veneer-pool/Android.bp test/637-checker-throw-inline/Android.bp test/638-checker-inline-cache-intrinsic/Android.bp test/639-checker-code-sinking/Android.bp test/640-checker-boolean-simd/Android.bp test/640-checker-integer-valueof/Android.bp test/640-checker-simd/Android.bp test/641-checker-arraycopy/Android.bp test/641-iterations/Android.bp test/642-fp-callees/Android.bp test/643-checker-bogus-ic/Android.bp test/645-checker-abs-simd/Android.bp test/646-checker-arraycopy-large-cst-pos/Android.bp test/646-checker-long-const-to-int/Android.bp test/646-checker-simd-hadd/Android.bp test/647-jni-get-field-id/Android.bp test/650-checker-inline-access-thunks/Android.bp test/652-deopt-intrinsic/Android.bp test/654-checker-periodic/Android.bp test/655-checker-simd-arm-opt/Android.bp test/655-jit-clinit/Android.bp test/656-checker-simd-opt/Android.bp test/656-loop-deopt/Android.bp test/657-branches/Android.bp test/658-fp-read-barrier/Android.bp test/660-checker-sad/Android.bp test/660-checker-simd-sad/Android.bp test/660-clinit/Android.bp test/661-checker-simd-reduc/Android.bp test/661-oat-writer-layout/Android.bp test/662-regression-alias/Android.bp test/664-aget-verifier/Android.bp test/665-checker-simd-zero/Android.bp test/666-dex-cache-itf/Android.bp test/667-checker-simd-alignment/Android.bp test/667-jit-jni-stub/Android.bp test/667-out-of-bounds/Android.bp test/669-checker-break/Android.bp test/671-npe-field-opts/Android.bp test/672-checker-throw-method/Android.bp test/673-checker-throw-vmethod/Android.bp test/674-HelloWorld-Dm/Android.bp test/674-hotness-compiled/Android.bp test/676-proxy-jit-at-first-use/Android.bp test/677-fsi2/Android.bp test/679-locks/Android.bp test/680-checker-deopt-dex-pc-0/Android.bp test/680-sink-regression/Android.bp test/684-checker-simd-dotprod/Android.bp test/684-select-condition/Android.bp test/685-deoptimizeable/Android.bp test/687-deopt/Android.bp test/689-multi-catch/Android.bp test/689-zygote-jit-deopt/Android.bp test/693-vdex-inmem-loader-evict/Android.bp test/694-clinit-jit/Android.bp test/695-simplify-throws/Android.bp test/696-loop/Android.bp test/697-checker-string-append/Android.bp test/698-selects/Android.bp test/700-LoadArgRegs/Android.bp test/703-floating-point-div/Android.bp test/704-multiply-accumulate/Android.bp test/705-register-conflict/Android.bp test/707-checker-invalid-profile/Android.bp test/708-jit-cache-churn/Android.bp test/711-checker-type-conversion/Android.bp test/717-integer-value-of/Android.bp test/718-zipfile-finalizer/Android.bp test/720-thread-priority/Android.bp test/721-osr/Android.bp test/726-array-store/Android.bp test/728-imt-conflict-zygote/Android.bp test/805-TooDeepClassInstanceOf/Android.bp test/806-TooWideClassInstanceOf/Android.bp test/812-recursive-default/Android.bp test/813-fp-args/Android.bp test/814-large-field-offsets/Android.bp test/815-invokeinterface-default/Android.bp test/818-clinit-nterp/Android.bp test/900-hello-plugin/Android.bp test/901-hello-ti-agent/Android.bp test/902-hello-transformation/Android.bp test/903-hello-tagging/Android.bp test/904-object-allocation/Android.bp test/905-object-free/Android.bp test/906-iterate-heap/Android.bp test/907-get-loaded-classes/Android.bp test/908-gc-start-finish/Android.bp test/910-methods/Android.bp test/911-get-stack-trace/Android.bp test/913-heaps/Android.bp test/914-hello-obsolescence/Android.bp test/915-obsolete-2/Android.bp test/916-obsolete-jit/Android.bp test/917-fields-transformation/Android.bp test/918-fields/Android.bp test/919-obsolete-fields/Android.bp test/920-objects/Android.bp test/921-hello-failure/Android.bp test/922-properties/Android.bp test/923-monitors/Android.bp test/924-threads/Android.bp test/925-threadgroups/Android.bp test/926-multi-obsolescence/Android.bp test/927-timers/Android.bp test/928-jni-table/Android.bp test/930-hello-retransform/Android.bp test/931-agent-thread/Android.bp test/932-transform-saves/Android.bp test/933-misc-events/Android.bp test/937-hello-retransform-package/Android.bp test/939-hello-transformation-bcp/Android.bp test/940-recursive-obsolete/Android.bp test/941-recursive-obsolete-jit/Android.bp test/942-private-recursive/Android.bp test/943-private-recursive-jit/Android.bp test/944-transform-classloaders/Android.bp test/945-obsolete-native/Android.bp test/946-obsolete-throw/Android.bp test/947-reflect-method/Android.bp test/949-in-memory-transform/Android.bp test/950-redefine-intrinsic/Android.bp test/951-threaded-obsolete/Android.bp test/963-default-range-smali/Android.bp test/982-ok-no-retransform/Android.bp test/983-source-transform-verify/Android.bp test/984-obsolete-invoke/Android.bp test/985-re-obsolete/Android.bp test/986-native-method-bind/Android.bp test/987-agent-bind/Android.bp test/988-method-trace/Android.bp test/989-method-trace-throw/Android.bp test/990-field-trace/Android.bp test/991-field-trace-2/Android.bp test/992-source-data/Android.bp test/993-breakpoints/Android.bp test/994-breakpoint-line/Android.bp test/995-breakpoints-throw/Android.bp test/996-breakpoint-obsolete/Android.bp test/997-single-step/Android.bp test/Android.bp tools/Android.bp tools/ahat/Android.bp tools/ahat/Android.mk tools/art_verifier/Android.bp tools/cpp-define-generator/Android.bp tools/dexanalyze/Android.bp tools/dexfuzz/Android.bp tools/dmtracedump/Android.bp tools/hiddenapi/Android.bp tools/jfuzz/Android.bp tools/jvmti-agents/breakpoint-logger/Android.bp tools/jvmti-agents/chain-agents/Android.bp tools/jvmti-agents/dump-jvmti-state/Android.bp tools/jvmti-agents/enable-vlog/Android.bp tools/jvmti-agents/field-counts/Android.bp tools/jvmti-agents/field-null-percent/Android.bp tools/jvmti-agents/jit-load/Android.bp tools/jvmti-agents/list-extensions/Android.bp tools/jvmti-agents/simple-force-redefine/Android.bp tools/jvmti-agents/simple-profile/Android.bp tools/jvmti-agents/ti-alloc-sample/Android.bp tools/jvmti-agents/ti-fast/Android.bp tools/jvmti-agents/titrace/Android.bp tools/jvmti-agents/wrapagentproperties/Android.bp tools/signal_dumper/Android.bp tools/tracefast-plugin/Android.bp tools/veridex/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: sigchainlib/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-GPL-2.0 to: Android.bp Android.mk Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0 SPDX-license-identifier-GPL-with-classpath-exception to: dt_fd_forward/Android.bp openjdkjvmti/Android.bp Added SPDX-license-identifier-GPL-2.0 SPDX-license-identifier-GPL-with-classpath-exception to: openjdkjvm/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: If775045c12955fa6d72d40ccf2a09beef93d1699 Merged-in: If775045c12955fa6d72d40ccf2a09beef93d1699
2021-02-10Mark cc_test as not gtest since they are not gtest Julien Desprez
Change-Id: Id923a7aa04d4341a833683333101eae0324eeec2 Test: None Bug: 179092189
2021-01-29Don't use whole_static_libs in libnativeloader. Martin Stjernholm
It has the effect that all the headers of those libs get included in the libnativeloader prebuilt snapshots, which in this particular case makes it contain all the xxx.sysprop.h generated headers from PlatformPropoerties. Test: mmm art/libnatveloader Test: `m art-module-sdk` and check that art-module-sdk-current.zip doesn't have any .sysprop.h files Bug: 178379642 Change-Id: Ic11007945fd6f1cd2d7996cae8a7b533c91aea7b
2020-11-04Move hardcoded Soong apex_available lines for ART modules into ART Martin Stjernholm
blueprints. Test: m droid Bug: 133140750 Change-Id: I99139a4f8c618f237fa169e125de9479feaeb07f
2020-11-04Fix missing //apex_available:platform on some libs. Martin Stjernholm
They're used from platform libs, e.g. libandroid_runtime. Also changed the *_lazy shims to use the more precise runtime_libs for their dlopen dependencies. Test: m Bug: 133140750 Change-Id: I4a3f1af6155b414aed4aac7a28365177ea1ae716
2020-10-23Rename ART release APEX to com.android.art. Martin Stjernholm
Test: Build & boot on AOSP master Test: `m` on AOSP master, flipping PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD between true and false, and check out/target/product/bonito/symbols/apex/com.android.art. Test: art/build/apex/runtests.sh Test: art/tools/buildbot-build.sh {--host,--target} Test: art/tools/run-gtests.sh Test: m test-art-host-gtest Test: art/test/testrunner/testrunner.py --target --64 --optimizing Test: m build-art-target-golem Bug: 169639321 Change-Id: Ic4bb8d6f9988ce99bba326b9c635bd3c01ed74ab Merged-In: Ic4bb8d6f9988ce99bba326b9c635bd3c01ed74ab
2020-09-16Remove dangling symlinks to clang-format config. Martin Stjernholm
Before the move symlinks pointed to system/core/.clang-format-2, which points to build/soong/scripts/system-clang-format-2. ART style is not (yet) enforced with clang-format, but if that changes it should apply here too. Test: n/a Change-Id: Ib27dcf053e88a51782cbd295a7ccd4c66365fbd1
2020-09-08clean up statsd public libraries Jooyung Han
JNI library(libstat_jni) from statsd apex is handled via the build system and linkerconfig. Bug: 150767721 Test: presubmit Test: atest libnativeloader_test Change-Id: Ia7527f053508d5992c3eef209f77260f0d210e81
2020-09-08libnativeloader: clean-up hard-coded public libs Jooyung Han
art, nn, i18n apexes provide some of libs listed in public.libraries.txt. The list of these apexes are now read from /linkerconfig/apex.libraries.config.txt generated by /system/bin/linkerconfig. Bug: 150767721 Test: cuttlefish boots Test: atest libnativeloader_test Change-Id: Ic603b42669dff89d5d3da2f6822312e827eddd86
2020-09-07Fix libnativeloader unit tests being skipped. Martin Stjernholm
ART_TARGET_ANDROID was only defined in art_defaults, which wasn't imported into libnativeloader_test. However doing that imports a lot of stuff, including compiler pickiness that doesn't work with cxxabi.h included via gtest.h. We instead make ART_TARGET_(ANDROID|LINUX) implicitly defined in all art_cc_* module types. These tests have probably not run since https://r.android.com/1295365. Also fixed the accumulated bitrot. Test: atest libnativeloader_test, check that 25 tests pass. Test: Plant a test failure in native_loader_test.cpp, check that presubmit fails. Bug: 154074847 Bug: 137356719 Change-Id: I4e9d4dc8d78c91a7b750b8de0ab7db2114b154ac
2020-08-04Rename linker greylist to exempt-list Ryan Prichard
Update language to comply with Android's inclusive language guidance See https://source.android.com/setup/contribute/respectful-code for reference #inclusivefixit Bug: http://b/162536543 Test: device boots Change-Id: Ia80fb2f3be6abdadbd061570d48a4ef0fefcfebc
2020-07-24libnativeloader understands uses-native-library tag Jiyong Park
Previously, libnativeloader provided all the partner-provided public shared libraries to apps unconditionally. Starting from Android S, apps targeting S (or higher) get only the libs that are explicited listed as dependencies using the <uses-native-library> tag in the app manifest. The libs not listed there are not available to the app even if they are registered as public libraries. The changed behavior affects new (S+) apps. Existing apps are not affected; they still get all the libraries. The implementation is rather straightforward. The library accepts a new parameter soname_list from the framework, which is actually from the <uses-native-library> tags of the app manifest. The list is used to filter the partner-provided libraries when the target sdk is > 30. Bug: 142191088 Test: atest CtsUsesNativeLibraryTest Merged-In: I52e23dda58fc69f51451c5dbeffd0a77125c9bff (cherry picked from commit e741dfd18dcd15f002bc1db9bd6634322e4eeef8) Change-Id: I52e23dda58fc69f51451c5dbeffd0a77125c9bff
2020-07-06Add liblog to libnative(bridge|loader)_lazy. Mitch Phillips
These DSO's use LOG_IF, which requires liblog. Compiling them with asserts shouldn't fail to build. Bug: 160324350 Test: Build with asserts enabled (`-UNDEBUG`). Change-Id: Id72ef2cef0e60072bd762b63feae3db114ee7a26
2020-07-02Improve library search paths for host gtests. David Srbecky
Ensure the host gtests can also find the needed data and libraries when executed remotely from testcases directory. Bug: 147817558 Test: Tested that tests pass with further followup CLs. Change-Id: I3562b1e89044dbc125afe4c83a4817cb0e73e716
2020-07-01Revert "Support running of host gtests in eng-prod" David Srbecky
This reverts commit 22872da653053bb4b86fbef67163a9f6b7aee25b. Reason for revert: Checking if this CL is cause of b/160132136 Bug: 147817558 Bug: 160132136 Change-Id: Ifb6f2292292a7f69fbd0f2e9204fd37dbca84277
2020-06-26Support running of host gtests in eng-prod David Srbecky
Add more libraries and tools to the shared ART directory in testcases. Change the tests environment setup, so that it can find the tools. Vast majority of tests pass. Some individual tests still need fixing. Bug: 147817558 Test: run gtests in forrest Change-Id: I3214f532436828c2a1a5a543e69d6b9bcf1e42af
2020-06-24Copy tools needed by host gtests to testcases directory. David Srbecky
Atest requires that everything is in the testcases directory. The files are not used yet (this is left to follow-up CLs). Bug: 147819342 Test: check the generated general-tests.zip ("m general-tests") Change-Id: Ied22a736e81a7cff03641d18bacd829b86a6ef0b
2020-05-15Revert^2 "Remove test_per_src from ART tests." David Srbecky
Second attempt at this, which fixes the asan failures. Remove test_per_src since it is not supported by atest. Replace it with gtest_isolate which is transparent to atest, and which still allows us to run tests in parallel. The size of test binaries halves (from 1GB to 0.5GB). Test run-time on host is unchanged. Test run-time on target is 4x faster (tested on walleye). Added a gtest_main.cc with the gtest isolated main function, and ART-specific initialization. Bug: 147819342 Test: m test-art-host-gtest Test: art/tools/run-gtests.sh Test: art/test/testrunner/run_build_test_target.py art-gtest-asan Change-Id: I515c911bb7d44285495802fc66cd732fc8e6d8df
2020-05-08Revert "Remove test_per_src from ART tests." Christopher Ferris
This reverts commit 8103e479d8f8447584582b2b70752029f7087776. Reason for revert: asan run fails in multiple ways Test: ran ./art/test/testrunner/run_build_test_target.py art-gtest-asan Change-Id: Ib9f2887436a664b64c6410f56a25ae2dd0e0aab4
2020-05-07Remove test_per_src from ART tests. David Srbecky
Remove test_per_src since it is not supported by atest. Replace it with gtest_isolate which is transparent to atest, and which still allows us to run tests in parallel. The size of test binaries halves (from 1GB to 0.5GB). Test run-time on host is unchanged. Test run-time on target is 4x faster (tested on walleye). Bug: 147819342 Test: m test-art-host-gtest Test: art/tools/run-gtests.sh Change-Id: Id295af00d08b24baa2e421b0f3313df0b2e56fe9
2020-05-07"Move ICU from ART APEX to i18n APEX" Attempt 2 Victor Chang
The change was previously submitted in https://r.android.com/1283897 "Calling @IntraCoreApi from core-icu4j should not cause Core platform API violation" https://r.android.com/1299494 Bug: 138994281 Test: m checkbuild on aosp_x86-userdebug Test: device boots Change-Id: Idb3e2450fca5d8300aef353fc1e4e99e24f04372
2020-05-05Revert "Move ICU from ART APEX to i18n APEX" vichang
Revert "Move v8 and libpac into i18n APEX" Revert "Move core-icu4j into I18n APEX" Revert "Move ICU from ART APEX into i18n APEX" Revert "Move core-icu4j into i18n APEX" Revert "Move libpac into i18n APEX" Revert "Add shared library into i18n APEX and add the required s..." Revert "Make com_android_i18n namespace visible" Revert submission 1299494-i18nApex Reason for revert: Breaking aosp_x86-eng on aosp-master Reverted Changes: I30fc3735b:Move ICU from ART APEX to i18n APEX Icb7e98b5c:Calling @IntraCoreApi from core-icu4j should not c... Ic7de63fe3:Move core-icu4j into I18n APEX I65b97bdba:Make com_android_i18n namespace visible Ia4c83bc15:Move v8 and libpac into i18n APEX I10e6d4948:Move core-icu4j into i18n APEX I8d989cad7:Move ICU from ART APEX into i18n APEX I72216ca12:Move ICU into i18n APEX Ief9dace85:Add shared library into i18n APEX and add the requ... I7d97a10ba:Move libpac into i18n APEX I90fff9c55:Move ICU from ART APEX into i18n APEX Change-Id: I516a8d290e3a3cc2b45d71ba5400364b0478a57a
2020-05-05Move ICU from ART APEX to i18n APEX Victor Chang
It involves a change of boot class path to use core-icu4j from i18n APEX. Bug: 138994281 Test: device boots Test: m build-art-target-tests Test: CtsJniTestCases Test: atest libnativeloader_test Test: ./art/test/testrunner/run_build_test_target.py -j80 art-test Test: art/build/apex/runtests.sh Change-Id: I30fc3735be760cba48856cd102852d2a6c796374
2020-05-04Set apex_available property Jiyong Park
The marked library(ies) were available to the APEXes via the hand-written whitelist in build/soong/apex/apex.go. Trying to remove the whitelist by adding apex_available property to the Android.bp of the libraries. Bug: 150999716 Test: m Merged-In: Ie9a693be10c6c6571c8aa5357500f5d931400593 (cherry picked from commit 0f152391c0458d3d1cce04a11bc92e7234955d6f) Change-Id: Ie9a693be10c6c6571c8aa5357500f5d931400593
2020-05-04Add libnativehelper.so to public libraries Orion Hodson
Exposes one copy libnativehelper to apps and everywhere else. Bug: 150252746 Bug: 151443957 Test: m & boot Test: art/tools/run-gtests.sh -j4 Test: art/test.py --target -r Change-Id: I20b3c5b722bb54a2d4aca74819bd38f801324452
2020-04-27Use ART_TARGET_ANDROID instead of __ANDROID__ Nicolas Geoffray
On golem, we build for ART_TARGET_LINUX, which doesn't have support for linkerconfig. Therefore, guard all linker namespace code on ART_TARGET_ANDROID instead of __ANDROID__ (which is unfortunately not under ART's control). Test: build for golem and run Bug: 154074847 Change-Id: I7a2b81918177704b42d8aafbd6d7e9d06d34e5f4
2020-04-15Replaced dangerous uses of sizeof() Chris Wailes
This patch replaces several uses of sizeof with calls to std::array's size method. Bug: 153655228 Test: Compiled with changed static asserts Test: Treehugger Change-Id: I4cf87f2d7fffe0d7c81e0652688bedd4d5c9c5c2
2020-04-07Add explicit dependencies on jni_headers Orion Hodson
Bug: 152482542 Test: lunch aosp_x86_64 && m checkbuild Change-Id: I1859a5b15d7e1a4939968908d862d27b2345acc4
2020-03-24Skip reading VNDK libs for product if not available Justin Yun
If a device do not define "ro.product.vndk.version", we don't need to initialize the VNDK libraries for them. In that case, return emtpy string. Bug: 151992099 Test: atest libnativeloader_test Change-Id: Ic4d5e0e1162d367e919b5381e3a6c7d048a5e103
2020-03-05Fix bugprone-macro-parentheses warnings Chih-Hung Hsieh
Bug: 150783705 Test: WITH_TIDY=1 make Change-Id: If8462783e9e15d46a48004285ced2a0e04d27b42
2020-03-04libnativeloader: Remove hard-coded cronet Jooyung Han
Because cronet apex sets its jni_libs, its classloader-namespace is linked automatically via jni.config.txt. Bug: 143733063 Bug: 146420818 Test: atest CronetApiTest Change-Id: I7ae0f7bc60f09e7e384abd1f0a1e4f8f90f64052