Commit Graph

15870 Commits

Author SHA1 Message Date
Pete Gillin
b9e63fe015 Merge "Enable Java language level 9 by default."
am: 4fe25b05b9

Change-Id: I3e136a958f8ef54b9c92aa5cecc7bb46dbcec118
2019-10-17 04:05:22 -07:00
Pete Gillin
4fe25b05b9 Merge "Enable Java language level 9 by default." 2019-10-17 10:38:35 +00:00
Jiyong Park
53fb8dd285 Merge "Create scripts to update and freeze a module SDK"
am: d7d5e5a1ac

Change-Id: I56ad28f0e8ee441dec2b89fd49cde41823a4bb0a
2019-10-16 21:18:59 -07:00
Mitch Phillips
403f0998cd Merge "Add SingletonContext::VisitDirectDepths[If] to Android proxy."
am: 344eed4eb1

Change-Id: I78306020fbc7413e336e7bb7c21c5fe5aa4f2d09
2019-10-16 21:15:52 -07:00
TreeHugger Robot
8ccb10fd7d Merge "Skip QD1A.190821.011 in stage-aosp-master" into stage-aosp-master 2019-10-17 01:35:32 +00:00
Treehugger Robot
d7d5e5a1ac Merge "Create scripts to update and freeze a module SDK" 2019-10-17 01:02:16 +00:00
Treehugger Robot
344eed4eb1 Merge "Add SingletonContext::VisitDirectDepths[If] to Android proxy." 2019-10-17 00:45:25 +00:00
Yi Kong
acfa1423db Merge "Revert "Create libgcc_stripped with llvm-objcopy""
am: 7801661907

Change-Id: I3a67a5c3c53d4fd1219b50f30a45a14569dc8ac9
2019-10-16 16:40:49 -07:00
Yi Kong
7801661907 Merge "Revert "Create libgcc_stripped with llvm-objcopy"" 2019-10-16 23:33:52 +00:00
Xin Li
bf0c054f4b Skip QD1A.190821.011 in stage-aosp-master
Bug: 141248619
Change-Id: I09a9599fc66b42478c824a5d7cd89b40d9a59ba4
2019-10-16 15:19:11 -07:00
Mitch Phillips
3a7a31b0c1 Add SingletonContext::VisitDirectDepths[If] to Android proxy.
Adds the VisitDirectDepths[If] function from blueprint to the Android
SingletonContext proxy.

Bug: N/A
Test: N/A
Change-Id: I4037364ef11b545abc9a383db7e1e818854db68f
2019-10-16 15:06:32 -07:00
Mitch Phillips
ed4ed3b6b9 Merge "Fuzz corpus entries should not go in a subdirectory."
am: 959a3ffbda

Change-Id: Id814f2919151a4e470dea7a29ab2c9179967cec6
2019-10-16 14:26:33 -07:00
Treehugger Robot
959a3ffbda Merge "Fuzz corpus entries should not go in a subdirectory." 2019-10-16 21:09:59 +00:00
Mitch Phillips
b4f9d86666 Merge "Do not link libc++.so statically on device."
am: 98eccba8b4

Change-Id: I5decbaf3ae182910d10851f185681dc111ba0b93
2019-10-16 13:48:36 -07:00
Mitch Phillips
708b9e6c38 Merge "Workaround unexported sancov symbols. Fix multiple sanitizer RT deps."
am: 83246459d1

Change-Id: I11f8867d1004d251ce82d56156eb4d909f44b7ee
2019-10-16 13:44:03 -07:00
Treehugger Robot
98eccba8b4 Merge "Do not link libc++.so statically on device." 2019-10-16 20:28:54 +00:00
Treehugger Robot
83246459d1 Merge "Workaround unexported sancov symbols. Fix multiple sanitizer RT deps." 2019-10-16 20:28:38 +00:00
Elliott Hughes
3fb7864cf1 Merge "Revert "-D__ANDROID_NDK__ for SDK builds.""
am: 60ee98582c

Change-Id: I6dc5be7db83465728c86e0a54c29a0bc1759a6f3
2019-10-16 09:14:06 -07:00
Elliott Hughes
60ee98582c Merge "Revert "-D__ANDROID_NDK__ for SDK builds."" 2019-10-16 16:01:14 +00:00
Adrian Roos
2f0c56e0cf Merge "API Lint: Apply Javadoc.args when invoking api lint"
am: 49a1384b11

Change-Id: Ie83f95dc539fe982b41c750a672f9b7c501fd093
2019-10-16 05:27:04 -07:00
Adrian Roos
49a1384b11 Merge "API Lint: Apply Javadoc.args when invoking api lint" 2019-10-16 12:07:52 +00:00
Pete Gillin
1b3370f5d7 Enable Java language level 9 by default.
This changes the default Java language level from 8 to 9, i.e. javac
invocations now use -source 1.9 -target 1.9.

The environment variable EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9=false is
added to switch back to the language level 8 behaviour. (Previously,
setting that variable to true was required to opt in to language level
9.)

Test: make droid java tests cts docs
Test: javap -v <some class file in output> | grep 'major version' (reports 53, for classes from 'benchmarks' which is in Android.bp and 'ahat' which is in Android.mk)
Test: make RunBluetoothRoboTests RunCarSettingsLibRoboTests (two main flavours of robolectric)
Test: make cts && cts-tradefed help
Test: atest CtsLibcoreTestCases (reasonably low-level device tests)
Test: atest CtsHostTzDataTests (arbitrary host test)
Bug: 115604102
Change-Id: I9de888e1df021244d5e61c40934178676f09ecc7
Merged-In: I52be1817fa7121fca3bce3d8857cb9ed0825570c
2019-10-16 11:20:13 +01:00
Pirama Arumuga Nainar
077a726afb Merge "Pass -static-libgcc to Windows link commands"
am: a60e81853f

Change-Id: I34dd8c94a262fa993d4bcea02095c70366029b12
2019-10-15 21:29:36 -07:00
Jiyong Park
090366ef0c Merge "add [static|shared].apex_available to cc_library"
am: a4cdb8dd40

Change-Id: I4486cd7d051a3b774bf0c457659c2950121a6ca7
2019-10-15 21:20:59 -07:00
Pirama Arumuga Nainar
a60e81853f Merge "Pass -static-libgcc to Windows link commands" 2019-10-16 03:06:30 +00:00
Treehugger Robot
a4cdb8dd40 Merge "add [static|shared].apex_available to cc_library" 2019-10-16 02:09:44 +00:00
Yi Kong
049ae6ae3e Revert "Create libgcc_stripped with llvm-objcopy"
We rely on a weird, GNU specific behaviour of objcopy:

$ aarch64-linux-android-objcopy -w libgcc.a stripped.a --strip-unneeded-symbol=*
$ llvm-nm --defined-only stripped.a | grep multi
0000000000000000 T __multi3

$ aarch64-linux-android-objcopy -w libgcc.a stripped.a --strip-unneeded-symbol=* --keep-symbol=FOO
$ llvm-nm --defined-only stripped.a | grep multi

llvm-objcopy has a different, more consistent behaviour that does not
mark exported symbols as unneeded when "--keep-symbol" flag exists.
However this behaviour will leave most symbols not deleted in the
libgcc_stripped library.

Revert the change while I'm implementing an alternative solution.

Test: presubmit
Bug: 142585047
Change-Id: I175e811f8a1f6afc6558267fc54e159ad5e12acf
2019-10-15 16:43:12 -07:00
Pirama Arumuga Nainar
105cab2b5a Pass -static-libgcc to Windows link commands
This was unnecessary in the past, when -nodefaultlibs was used while
linking, but that changed with
aosp/I722bd6596a1f3f5819f2767c29c0fa1e8b3ec0e8.

Test: simpleperf_ndk64.exe no longer depends on libgcc_s_seh-1.dll.
Change-Id: I435d7302906eb3758e758b5aefca8763bfba6290
2019-10-15 13:58:30 -07:00
Jiyong Park
9b409bcd10 Create scripts to update and freeze a module SDK
`m <sdk_name>` generates two scripts each of which is use to update the
current snapshot of the SDK and to freeze ToT as a new version,
respectively. Executing the scripts will copy necessary files (stub
libraries, AIDL files, etc.) along with Android.bp into the ./<apiver>
directory under the directory where the sdk is defined.

This change also introduces a new module type 'sdk_snapshot' that
represents a snapshot of an SDK. It will be auto-generated by the above
scripts, so developers are not expected to write this manually.

The module type 'sdk' is now used to simply specify the list of modules
that an SDK has.

Finally, this change changes the version separator from '#' to '@'
because '#' confuses Make.

Bug: 138182343
Test: m

Change-Id: Ifcbc3a39a2f6ad5b4f4b200ba55a1ce3281498cf
2019-10-15 18:49:58 +09:00
Jooyung Han
5291b25795 Merge changes from topic "add-vndk-apex"
am: 5ac191f51f

Change-Id: Ia76d1fe92132005139b7078a733310ffec5a5617
2019-10-15 02:43:43 -07:00
Jooyung Han
2e4c99a684 Supports VNDK APEX with different versions
am: 394951da73

Change-Id: I198d15b5debeefffaec5dbadd515a119ebcb77d7
2019-10-15 02:43:37 -07:00
Jooyung Han
5ac191f51f Merge changes from topic "add-vndk-apex"
* changes:
  Add __ANDROID_APEX_<NAME>__ for apex variants
  Supports VNDK APEX with different versions
2019-10-15 09:21:19 +00:00
Jiyong Park
a90ca00786 add [static|shared].apex_available to cc_library
apex_available property can be appended differently per the linkage
type. This will be used to restrict certain libs (e.g.
libc_malloc_debug) to an APEX while allowing them to be statically
linkable from platform for testing purpose.

Test: m (apex_test amended)
Change-Id: I6dec23129c5ac93a3ef06fea28f26f240c0ba410
2019-10-15 15:28:07 +09:00
patricktu
8c28f4d04f Merge "AIDEGen: Remove the duplicate *.srcjar from srcs"
am: d90d208628

Change-Id: Id8b2995b3b07d286490fb9da078cb75346690b27
2019-10-14 19:03:08 -07:00
Inseob Kim
c16ad617f4 Merge "Add BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW"
am: b9326a5b12

Change-Id: If2993aa286425ee10ffb3e22e6360bd7e3c0a046
2019-10-14 18:55:24 -07:00
Treehugger Robot
d90d208628 Merge "AIDEGen: Remove the duplicate *.srcjar from srcs" 2019-10-15 01:51:37 +00:00
Mitch Phillips
302f964aa0 Do not link libc++.so statically on device.
If fuzzer coverage sanitized shared libraries are not deployed - we shouldn't
break users during dynamic link time. I need to think more about how we
should solve this problem in earnest, but for now let's just disable
static linkage of libc++ on device.

Bug: 142671952
Test: Cherrypick ag/9550833 and ag/9544155, make and run the fuzz target
there.

Change-Id: I39dfd6ba314e7a610ef3f0b30f35383a5e3a1e4b
2019-10-14 18:35:17 -07:00
Inseob Kim
b9326a5b12 Merge "Add BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW" 2019-10-15 01:29:06 +00:00
Inseob Kim
822fdcab1f Add BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW
A new sysprop neverallow rules are mandatory only for devices launching
with R or later. For devices already launched, neverallow rules can be
relaxed with adding following line to BoardConfig.mk:

BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW := true

Bug: 131162102
Test: Set PRODUCT_SHIPPING_API_LEVEL := 30 and try building with
changing some system_public_prop to system_internal_prop
Test: m cts sepolicy_tests

Change-Id: I5e1640f7b43fd47863bc7bd163c2f43b01fa3326
Merged-In: I5e1640f7b43fd47863bc7bd163c2f43b01fa3326
(cherry picked from commit e36f52754f)
2019-10-15 09:22:42 +09:00
Jooyung Han
d29e551efd Add __ANDROID_APEX_<NAME>__ for apex variants
With __ANDROID_APEX_<NAME>__ definition, native modules may have
different behavior when it is built for a specific apex module.

Previously, the name is passed as value of definition __ANDROID_APEX__
like -D__ANDROID_APEX__=com.android.foo. But it is difficult to do
conditional compilation with it.

Now, since the name is incorporated into definition itself, it gets
easier to set #ifdef condition.

Bug: 142582178
Test: m (soong test added)
Change-Id: I3c90c789fa692a19addf2e5a7c8d4cc571cde112
2019-10-15 07:34:02 +09:00
Jooyung Han
394951da73 Supports VNDK APEX with different versions
Older VNDK libraries are provided as vndk_prebuilt_shared modules. Those
are added to corresponding VNDK APEX as dependencies.

With VNDK APEX installed, VNDK libs are unnecessary. By the way, since
there can be vendor modules which depend on VNDK libs, Make targets are
still emitted with UNINSTALLABLE=true.

Android.mk has additional modules for vndk libraries which are named
with apex name as suffices. For example, if libfoo is a vndk library,
then libfoo.vendor is its vendor variant and it would be in
/system/lib/vndk. But with vndk apex, it has additional
libfoo.com.android.vndk.current variant.

Bug: 141451661
Bug: 139772411
Test: m (soong tests)
Test: boot with aosp_arm64 system image on Q vendor device
Change-Id: I269c28a4d4c4e2f1518bd51df558438fe5316774
2019-10-15 07:33:49 +09:00
Adrian Roos
cab4a2c84a API Lint: Apply Javadoc.args when invoking api lint
Bug: 142459906
Test: make checkapi
Change-Id: I64c83a8064491303088cca713537c391f1a3d876
Merged-In: I64c83a8064491303088cca713537c391f1a3d876
2019-10-14 16:33:08 +02:00
Paul Duffin
01e3863121 Merge "Add system_modules to droidstubs"
am: baf127ce2a

Change-Id: I77dcd480ceb1f68939dd777b1c5f4806c416c2a2
2019-10-14 06:50:39 -07:00
Treehugger Robot
baf127ce2a Merge "Add system_modules to droidstubs" 2019-10-14 13:30:38 +00:00
Anton Hansson
8c24d37c62 Merge "Move odexes of non-system apps into system_other"
am: 300a084db6

Change-Id: Ib460b44a0080eb8aa268c643cba9eca4cf527570
2019-10-14 02:40:43 -07:00
Anton Hansson
300a084db6 Merge "Move odexes of non-system apps into system_other" 2019-10-14 09:29:10 +00:00
patricktu
242faad111 AIDEGen: Remove the duplicate *.srcjar from srcs
AIDEGen collects the complied sources which are generated from build
system, the sources includes not only java/kt files but also srcjar
files. Since the srcjar files are record in srcjars parameter in json
file, we should keep only java or kt files in the srcs parameter.

The size diff of module_bp_java_deps.json:
Without this patch: 15,298,369 Bytes
With this patch: 15,044,804 Bytes

The build time diff:
Without this patch: 2m31.345
With this patch: 2m32.662

Bug: 141528361
Test: 1. m clean -j
      2. aidegen tradefed
      3. Open out/soong/module_bp_java_deps.json
      4. Find the module CtsSyncManagerCommon and check the
         sync_manager_cts.srcjar files doesn't exist in srcs but exists
         in srcjars section.

Change-Id: I43fc5c05b657473054e632cae4795220907dc711
2019-10-14 10:16:17 +08:00
Jiyong Park
5215b7ec73 Merge "Correctly install APK-in-APEX"
am: 8785e55e1c

Change-Id: I4aba9447e3f32f3eca013051a69c2b808dfec8c5
2019-10-13 17:48:04 -07:00
Treehugger Robot
8785e55e1c Merge "Correctly install APK-in-APEX" 2019-10-14 00:22:33 +00:00
Jaewoong Jung
c07cc8a629 Merge "Add go directive to indicate go version number."
am: 692a8fd4b6

Change-Id: I300c1402e53e7a0c39271f68bf39487c83de8fca
2019-10-11 12:37:42 -07:00