Commit Graph

9481 Commits

Author SHA1 Message Date
Logan Chien 6cf8ff918a Merge "Add apex stub lib to LOCAL_SHARED_LIBRARIES" 2019-01-19 03:48:30 +00:00
Logan Chien 6af24f9677 Merge "Always respect system_shared_libs from Android.bp" 2019-01-19 02:34:34 +00:00
Dan Willemsen f655b1db10 Merge "Add BUILD_CTS_* to androidmk" 2019-01-19 01:56:26 +00:00
Logan Chien 09106e182e Add apex stub lib to LOCAL_SHARED_LIBRARIES
This commit removes a break statement so that apex stub libraries are
added to LOCAL_SHARED_LIBRARIES for prebuilt ABI checker.

This CL doesn't change I09b78e38df285033ef6e9c85f7ea4b0274e85070 [1].
The libraries provided by apex modules are not installed to
`/system/lib[64]` because their stub libraries have
`LOCAL_UNINSTALLABLE_MODULE := true`.

[1] https://android-review.googlesource.com/844555

Bug: 120266448
Bug: 119084334
Test: Add `stubs: { symbol_file: "libnetd_resolv.map.txt", versions: ["1"]}`
      to libnetd_resolv, create a program that depends on
      `libnetd_resolve`, build the program, and do not find
      `/system/lib/libnetd_resolv.so`.
Change-Id: Iffa2c1a0eac9c4940ec1fa05fbacb9806272c31e
2019-01-19 07:45:31 +08:00
Clay Murphy f41ed72c97 Merge "Docs: Add link to related Soong docs on SAC" 2019-01-18 21:51:45 +00:00
Treehugger Robot 63989e5bcf Merge "Switch to toybox wc(1)." 2019-01-18 21:04:57 +00:00
David Brazdil 0b6f492e30 Merge "Restore UNSAFE_DISABLE_HIDDENAPI_FLAGS functionality." 2019-01-18 17:32:41 +00:00
Elliott Hughes 46e68636f8 Switch to toybox wc(1).
Test: treehugger
Change-Id: I14d22406c1a462d4075a8538e549a8d0f5b88e8d
2019-01-18 08:28:54 -08:00
David Brazdil 9fc36a68d0 Restore UNSAFE_DISABLE_HIDDENAPI_FLAGS functionality.
It got broken with the move to hiddenapi to Soong.

Test: UNSAFE_DISABLE_HIDDENAPI_FLAGS=true m -j32
Change-Id: Id369bfae8e118907b1f12faa7e4207494904edda
2019-01-18 11:12:33 +00:00
Dan Willemsen 57554aecb2 Add Sasha to OWNERS
Test: none
Change-Id: I78adc499449017298d4e4ff3ca7d6b14e2813d90
2019-01-17 21:49:22 -08:00
Treehugger Robot 77542038eb Merge "Use module name as intermediates name for android_app modules" 2019-01-18 01:27:41 +00:00
Elliott Hughes c86dd89b60 Merge "Switch to toybox md5sum/sha1sum/sha256sum/sha512sum." 2019-01-18 01:14:17 +00:00
Treehugger Robot 8abbd93928 Merge "Fix incorrect soong symlink rule" 2019-01-18 00:32:36 +00:00
Colin Cross 5a1af88dd5 Use module name as intermediates name for android_app modules
Use foo.apk instead of package.apk for the intermediate package for
a module named foo.

Fixes: 122996822
Test: m checkbuild
Change-Id: I38058a54038e1c2eeaefc0f0e7f450a74a3e96a7
2019-01-17 14:57:50 -08:00
Colin Cross 8faf8fc060 Move hiddenapi to Soong
Perform hiddenapi CSV generation and dex encoding for Soong modules
in Soong.  This fixes an issue where dexpreopting was happening on
a different jar than was being installed.

Bug: 122856783
Test: m checkbuild
Test: no change out/target/common/obj/PACKAGING/hiddenapi-flags.csv
Test: only ordering change to out/target/common/obj/PACKAGING/hiddenapi-greylist.csv
Test: cts/tests/signature/runSignatureTests.sh
Change-Id: I4fc481efc29e73cb2bdaacf672e86d5f6f0075ae
2019-01-17 22:19:28 +00:00
Colin Cross 56abb83628 Set LOCAL_PREBUILT_MODULE_FILE for hostdex modules
Java modules with hostdex: true have to manually create an extra
androidmk entry, which was missing LOCAL_PREBUILT_MODULE_FILE.

Test: m checkbuild
Change-Id: I9ecb853e149c83282738178f74c1c3a263d203cc
2019-01-17 22:19:21 +00:00
Alex Light fb4353d476 Fix incorrect soong symlink rule
Soong was incorrectly creating symlinks by not making the link target
relative to the link location. This caused symlink_prefered_arch to
not work when run with --skip-make.

Test: ALLOW_MISSING_DEPENDENCIES=true OUT_DIR=out DIST_DIR=out/dist \
      ./art/tools/dist_linux_bionic.sh -j80 com.android.runtime.host dex2oatd
      ls -l out/host/linux_bionic-x86/bin

Change-Id: I0ae5f059d19c0eec53e4d7c8dc68ae890980e6b4
2019-01-17 14:03:26 -08:00
Clay Murphy 021e3763b1 Docs: Add link to related Soong docs on SAC
Test: make online-sac-docs

Bug: 120866204
Change-Id: I4560a32ec2cb29aaaa9e9048d4ed075d09a44d13
2019-01-17 21:36:31 +00:00
Jaewoong Jung a4d4570e91 Merge "Enable arch variant properties in prebuilt_etc." 2019-01-17 20:59:00 +00:00
Elliott Hughes c97a91183d Switch to toybox md5sum/sha1sum/sha256sum/sha512sum.
Test: treehugger
Change-Id: Icc8c3d5765d73f191e47adfe0a9d68727d075e50
2019-01-17 12:37:40 -08:00
Doug Horn 24c4cd7aa3 Merge "Initial Fuchsia support." 2019-01-17 20:37:27 +00:00
Elliott Hughes 3aa6533f39 Merge "Switch to toybox mv(1)." 2019-01-17 18:32:08 +00:00
Treehugger Robot fffddb799e Merge "Relax restriction on sharded annotation processors" 2019-01-17 18:10:06 +00:00
Treehugger Robot 671e066812 Merge "Fix nested minijail0 execution" 2019-01-17 17:05:43 +00:00
Jaewoong Jung b9a11518bc Enable arch variant properties in prebuilt_etc.
Bug: 122332178
Test: Soong unit tests + TreeHugger.
Change-Id: Ia8fab0add09478599398e8cbb703debc39f658f6
2019-01-17 09:02:34 -08:00
Ashley Rose e36efcfa93 Relax restriction on sharded annotation processors
Bug: 77284273
Test: m framework
Change-Id: If617bcf65b5d04ecb81227a9a8b76bbd78ea8598
2019-01-17 11:29:09 -05:00
Doug Horn 21b9427380 Initial Fuchsia support.
This change adds Fuchsia as a valid OS. Future changes
will add proper toolchain support.

Bug: 119831161
Test: Compile walleye. Confirm that adding `fuchsia` to the
os-specific declaration of an arbitrary target does not throw
a build error.
Change-Id: I64eb928afb7512f3fbe32abb313b4c3efe16b169
2019-01-17 16:21:07 +00:00
Jaewoong Jung d4a393466a Merge "Move arch variants registering code to arch.go." 2019-01-17 15:26:23 +00:00
Logan Chien 14bd0db2f7 Always respect system_shared_libs from Android.bp
This commit removes a special case that ignores `system_shared_libs`
when `sdk_version`, `vendor_available`, or `vendor` is specified.

In the past, that special case was required for `libasync_safe` and
`libpropertyinfoparser`.  However, ignoring `system_shared_libs` meant
that we didn't have a way to skip the default libs when `sdk_version`
was specified.  This becomes a problem when the dependencies of
prebuilts are actually checked.  To be specific,
`libclang_rt.builtins-${arch}` falls into circular dependencies.

Bug: 123006819
Test: make checkbuild
Change-Id: I5fe038c00892b3abe5189b30d57ba59884b47cbb
2019-01-17 21:16:48 +08:00
Logan Chien f6dbd9c5f7 Do not check the ABI stability of LL-NDK-Private
This commit skips the ABI checks on LL-NDK-Private because
LL-NDK-Private libs are only used by other VNDK-core or VNDK-SP libs on
the system partition, are NOT used by vendor modules, and do not
constitute a system-vendor interface.

Bug: 122938657
Test: development/vndk/tools/header-checker/utils/create_reference_dumps.py
Change-Id: Ia2af4250ef1443f8ea3ed5ab111668462f120979
2019-01-17 11:54:53 +00:00
Treehugger Robot 18cc300204 Merge "Support core library" 2019-01-17 10:01:37 +00:00
Dan Willemsen 3a4dbd651f Fix nested minijail0 execution
We've got an internal testcase that uses minijail0 inside an Android.mk
rule. That was failing since we turned on the linux sandbox, as /proc
was mounted read-only, which prevented setting up the uid/gid mappings
for a child namespace.

Fixes: 122985455
Test: treehugger & forrest of breaking build
Change-Id: Ia77a91a7f4eeeb8a24e84075d8272287f5087587
2019-01-16 23:04:16 -08:00
Sundong Ahn 054b19a131 Support core library
To support core library, "Openjdk9", "No_standard_libs" and metalava
properties are added to java_sdk_library.
If core_lib is true, dist paths are changed to
apistubs/core/....
impl library name is changed to {module_name}.jar instead of
{module_name}.impl.jar

Bug: 110404779
Test: m -j
Change-Id: Ieb6248ea714b4260333d8bf61573d4f3413f7f24
Merged-In: Ieb6248ea714b4260333d8bf61573d4f3413f7f24
(cherry picked from commit af4907fed7)
2019-01-16 22:00:17 -08:00
Jaewoong Jung e46114c11b Move arch variants registering code to arch.go.
This enables using arch-dependent property values in modules defined in
android/.

Bug: 122332178
Test: Soong tests + TreeHugger
Change-Id: I89869e395fabf0e69f505b77eab8a4221384124e
2019-01-16 18:29:03 -08:00
Nicolas Geoffray c22c1bf130 Return false in DirectlyInAnyApex for host libraries.
Host doesn't have apexes.

Bug: 122947954
Test: build dex2oat, check that libnativebridge is installed.
Change-Id: I3548e3f155a200e56d71e88631b71511bad84161
2019-01-16 23:37:07 +00:00
Elliott Hughes 6064792393 Switch to toybox mv(1).
Test: treehugger
Change-Id: If4e53cc8d088c7b79399ae8e10601c9b22bd118d
2019-01-16 21:54:30 +00:00
Elliott Hughes 63d91fad6a Merge "Switch to toybox rm(1)." 2019-01-16 21:53:15 +00:00
Treehugger Robot cdfaaf4d75 Merge "Add Symbol_ordering_file property" 2019-01-16 17:52:48 +00:00
Elliott Hughes c0cf454a63 Switch to toybox rm(1).
Test: treehugger
Change-Id: Ib31182ca7ce827396476699ac9d1c636cdd324fc
2019-01-16 17:44:29 +00:00
Treehugger Robot 64462b1132 Merge "Effectively disable network access during the build" 2019-01-16 15:37:57 +00:00
Colin Cross 03e785d272 Merge "Revert "Set LOCAL_PREBUILT_MODULE_FILE for hostdex modules"" 2019-01-16 01:41:01 +00:00
Colin Cross ebb83dfdde Revert "Set LOCAL_PREBUILT_MODULE_FILE for hostdex modules"
This reverts commit 462963b513.

Reason for revert: broke emma turbine build

Change-Id: I2e49bb127e1eb5006e7e27a59c4e85efa63bb38e
2019-01-16 01:38:56 +00:00
Dan Willemsen 24024eafee Effectively disable network access during the build
This starts a new network namespace without any connections to the
outside.

Bug: 122270019
Test: USE_GOMA=true m libc
Test: treehugger
Test: add rule to use /usr/bin/wget, fails after this change
Change-Id: Iba262025ce0e4e3bef5c34c817cc678d6c61403b
2019-01-15 16:58:27 -08:00
Dan Willemsen e9622a33c3 Add BUILD_CTS_* to androidmk
Bug: 122617736
Test: new unit tests
Change-Id: Ibce6b4bbe49015a1ca6cf88cd43badc6b5cc078e
2019-01-15 16:39:02 -08:00
Treehugger Robot adf980bf91 Merge "Implement linux sandboxing with nsjail" 2019-01-16 00:06:09 +00:00
Colin Cross ca0083554b Merge "Set LOCAL_PREBUILT_MODULE_FILE for hostdex modules" 2019-01-15 23:39:25 +00:00
Ivan Lozano 0b475181a6 Merge "Enable execute-only memory layouts by default." 2019-01-15 23:29:51 +00:00
Dan Willemsen 63663c6bc9 Implement linux sandboxing with nsjail
This really only initializes the sandbox, it does not attempt to change
the view of the filesystem, nor does it turn off networking.

Bug: 122270019
Test: m
Test: trigger nsjail check failure; lunch; m; cat out/soong.log
Test: USE_GOMA=true m libc
Change-Id: Ib291072dcee8247c7a15f5b6831295ead6e4fc22
2019-01-15 13:47:31 -08:00
Neil Fuller 073941d780 Merge "Remove references to core-simple" 2019-01-15 19:04:26 +00:00
Ivan Lozano b84fc9dc32 Enable execute-only memory layouts by default.
This enables execute-only memory (XOM) layouts to be used by default in
the build system. As of now, there's only support for ARM64 devices, so
this only affects those. Since userland XOM requires kernel support,
devices without the necessary support will continue to allow pages
marked execute-only to be read and they should be unaffected by this.

Bug: 77958880
Test: Device with and without kernel support boot.
Test: Binary throws segfault when reading from XOM on supported device.
Test: Debugger works and stack traces are still generated correctly.
Test: Teamfooding, stable during regular usage.

Change-Id: Ifc7438cd242a824db441b8d557454d1c3cc81eeb
2019-01-15 10:31:35 -08:00