Commit Graph

3563 Commits

Author SHA1 Message Date
Jiyong Park
fc728d9598 add device_kernel_headers module for vendor-specific kernel headers
am: d773eb3e86

Change-Id: I5df3aded9d8ba25cde31eee61ca337eb74113ef4
2017-07-08 03:18:59 +00:00
Jiyong Park
d773eb3e86 add device_kernel_headers module for vendor-specific kernel headers
device_kernel_headers is a built-in heder-only lib that provides device-specific
kernel headers. The header path is configured via a new product variable
SystemIncludeDirs, which is currently the mirror of
TARGET_PROJECT_SYSTEM_INCLUDES in the make world.

Note: generic kernel headers (bionic/libc/kernel) have been added to the
include path by default. "device_kernel_headers" module is for device-specific
kernel headers such as /device/*/*/kernel-headers.

Note 2: this is opt-in for Android.bp modules (i.e. header_libs :
["device_kernel_headers"] required.) while it is always provided to
Android.mk modules.

Bug: 62939405
Test: choosecombo to aosp_sailfish (or any other Pixel/Nexus targets)
BOARD_VNDK_VERSION=current m -j gralloc.msm8996 (or any other vendor
libs using vendor-specific kernel headers)

Change-Id: I81c60abc13942c89fff723d1544b27a81b300db0
2017-07-08 09:29:04 +09:00
Ivan Lozano
1523dadc8b Add integer_overflow sanitization build option.
am: 0c3a1efae4

Change-Id: I5fcdec7b89b8104e532b945f30a966dc95c80518
2017-07-07 20:12:58 +00:00
Ivan Lozano
0c3a1efae4 Add integer_overflow sanitization build option.
Adds the SANITIZE_TARGET=integer_overflow build option to apply signed and
unsigned integer overflow sanitization globally. This implements the
Soong side of the build option.

An additional build option is provided to control whether or not to run
in diagnostics mode, controlled by SANITIZE_TARGET_DIAG. This works the
same way that SANITIZE_TARGET does and currently only supports
'integer_overflow' as an option.

A default sanitizer blacklist is added to avoid applying sanitization
to functions that are likely to exhibit benign overflows.

Bug: 30969751
Test: Building with and without the new flags, device boot-up, tested
various permutations of controlling the new flags from build files.

Change-Id: Ibc8a8615d3132f1a23faaf1cb4861f24c5ef734a
2017-07-07 09:52:23 -07:00
Dan Willemsen
b24b042eee Merge "Fix install location for vendor tests"
am: e9425b0277

Change-Id: Ia44a50350f0980cb1bec364088e53b6e0d39a388
2017-07-07 03:38:25 +00:00
Treehugger Robot
e9425b0277 Merge "Fix install location for vendor tests" 2017-07-07 03:30:13 +00:00
Dan Willemsen
00269f23ee Fix install location for vendor tests
These should be install in /data/nativetest* with the rest of the tests,
but had been moved to /vendor/nativetest* accidentally. Add some tests
so that this doesn't happen again.

Bug: 63393698
Test: m -j blueprint_tools
Test: compare out/soong/Android-aosp_arm64.mk
Test: compare out/soong/build.ninja
Change-Id: Id3b08a7e3908955df18a043a02ea576dc88086c3
2017-07-06 18:09:46 -07:00
Nan Zhang
9cfe44255b Merge "Fixed the unexpected scenario for "device_supported""
am: 195fb4183c

Change-Id: Ideac7ca40ce3e514e76356305ee456b7d8ad5447
2017-07-06 18:36:08 +00:00
Treehugger Robot
195fb4183c Merge "Fixed the unexpected scenario for "device_supported"" 2017-07-06 18:30:04 +00:00
Jiyong Park
d068054043 fix: a vendor variant of a lib doesn't re-export llndk headers
am: 4c35af09ea

Change-Id: If7b32f1f032b3dc8614a6e15fee2814f0c2a714d
2017-07-06 00:31:21 +00:00
Jiyong Park
4c35af09ea fix: a vendor variant of a lib doesn't re-export llndk headers
If a vendor (or vendor_available) lib has a dependency to a llndk
library, the name of the llndk library is modified to <name>.llndk.

There was a bug that this name modification is done only for shared_libs
property, but not for export_shared_lib_headers property. As a result,
the headers of the llndk was not re-exported. Fix the bug by modifying
export_shared_lib_headers property as well.

Bug: 63178444
Test: build
Test: look into out/soong/Android-<target>.mk. libutils.vendor has
system/core/liblog/include_vndk in its LOCAL_EXPORT_CFLAGS.

Change-Id: I6fcb1036cdb81ba167ead815b436a5cada283ede
2017-07-05 22:44:09 +00:00
Nan Zhang
1a0f09bc56 Fixed the unexpected scenario for "device_supported"
cc_defaults {
    name: boo,
    device_supported: false,
}

cc_library_static {
    name: foo,
    defaults: [boo],
}

Soong still tried to build foo_android_arm/arm64 device target which is not what we
expected.

Test: m -j checkbuild

Change-Id: I26a67c9ea024f5458f0818def0fa10cecc5fb7cf
2017-07-05 10:37:57 -07:00
Colin Cross
c59a0042a1 Refactor factories
am: 36242850fd

Change-Id: Ied58f93022523557a5d28edbcd79a76b8e2fb875
2017-06-30 22:54:46 +00:00
Colin Cross
36242850fd Refactor factories
Change module factories from returning a blueprint.Module and a list
of property structs to returning an android.Module, which holds the
list of property structs.

Test: build.ninja identical except for Factory: comment lines
Change-Id: Ica1d823f009db812c518f271a386fbff39c9766f
2017-06-30 21:08:36 +00:00
Jayant Chowdhary
73de197492 Merge "Add header-abi-linker dependency on so file."
am: 4817389148

Change-Id: Ia499c027161e1060c09ab11db5fd74f8b900ab18
2017-06-30 17:52:16 +00:00
Treehugger Robot
4817389148 Merge "Add header-abi-linker dependency on so file." 2017-06-30 17:38:53 +00:00
Dan Austin
4c83117c03 Update coverage sanitizer flags in soong
am: 8241abba87

Change-Id: I8a2ee007ecba513ffe01c8913cfaee8b5ea58136
2017-06-29 19:10:20 +00:00
Dan Austin
8241abba87 Update coverage sanitizer flags in soong
Update the coverage sanitizer flags in soong to use the new
flavor of coverage sanitization.

Bug: 63108942

Test: Fuzzer runs with coverage guards.
Change-Id: I2e817a5282cf7dab49aee6985743defd4fb74628
2017-06-29 08:55:13 -07:00
Lazar Trsic
959396bbf5 Revert "[mips] Disable compact branch generation"
am: 397866653e

Change-Id: Idecf1fea2e6ad2d6e831b46785ac9e2be6274b3a
2017-06-28 17:06:10 +00:00
Lazar Trsic
397866653e Revert "[mips] Disable compact branch generation"
With the latest Clang we do not have issue with beqc instruction,
so allow generation of compact branches for mips.

This reverts commit 3d6a38d601.

Change-Id: I6dbb5d1fce08bd714cc9a0318d50de5765cff038
2017-06-28 11:22:58 +02:00
Dimitry Ivanov
bfbde062a4 Add libdl.so to the list of system shared libs
am: ba6b55240b

Change-Id: I5011c3c0905eea2a930c87e96d108f647cda9c6e
2017-06-28 00:53:10 +00:00
Dimitry Ivanov
ba6b55240b Add libdl.so to the list of system shared libs
Note that libdl is already (always) implicitly loaded
because libc.so has a dependency on it.

This change also makes sure that libc.so always goes before
libdl.so in DT_NEEDED list.

Bug: http://b/62815515
Test: make
Change-Id: Idb231f8a8443ee859828bac6462236a1b7199d05
2017-06-27 16:08:03 -07:00
Jayant Chowdhary
6ab3d846b2 Add header-abi-linker dependency on so file.
Whenever a symbol file is not available, header-abi-linker can look at
the symbols with STV_DEFAULT or STV_PROTECTED visibility for further abi
filtering.

Bug: 62463617

Bug: 62307940

Test: make -j64

Change-Id: I5dc618be104a49d47375d37cf78c4490b1529987
2017-06-27 11:19:10 -07:00
Colin Cross
2cbe00ca9a Make '**' implicit am: 06382991e0
am: 8cc0a666e4

Change-Id: Ib0c1bf27b045e1e49aea7188dde2ddc97305783b
2017-06-23 23:43:23 +00:00
Colin Cross
ee3a0cbf75 Add jar sorting to zip2zip am: 8936b02b58
am: 64b283fa1a

Change-Id: Ic7abeabb6b34dd7ec18948cf9cdcfc8095eafaf5
2017-06-23 23:43:21 +00:00
Colin Cross
8cc0a666e4 Make '**' implicit
am: 06382991e0

Change-Id: I14a9b619b874e5e3e823cbd7b5dd31d2d7b7154c
2017-06-23 23:39:22 +00:00
Colin Cross
64b283fa1a Add jar sorting to zip2zip
am: 8936b02b58

Change-Id: I8c37cc74558234924675059f37bbe5ebbc0509a8
2017-06-23 23:39:20 +00:00
Colin Cross
181fb3da91 Add java config and share it with make am: 3e3e72da90
am: c77a095ebc

Change-Id: Iddefe9f7bdd551b9aae4167c78184f9238bbc561
2017-06-23 21:57:06 +00:00
Colin Cross
c77a095ebc Add java config and share it with make
am: 3e3e72da90

Change-Id: I06ffba5a9d5ce42e7cdeade3b717ffb44912b5b8
2017-06-23 21:48:51 +00:00
Colin Cross
06382991e0 Make '**' implicit
Default to copying all entries in the input zip to the output zip.

Test: zip2zip_test
Change-Id: I0d70620c621bfeee2b7fe2a64b350b4866ad2877
2017-06-23 14:08:42 -07:00
Colin Cross
8936b02b58 Add jar sorting to zip2zip
Jars have a strange sorting order; the META-INF/ directory should
come first, then META-INF/MANIFEST.MF, then any other files in
META-INF/, and then any files outside META-INF.  Add a -j argument
to zip2zip that sorts using jar ordering.

Test: zip2zip_test
Change-Id: I80e2bc7e284ef74f6561c26cb6541298834db1bc
2017-06-23 14:08:32 -07:00
Colin Cross
743d4bc56a Split java device properties into separate struct am: 540eff8e5f
am: 0fa5825749

Change-Id: I3de0abc3a501dc79b71f9482416bbc9b0f935525
2017-06-23 20:33:16 +00:00
Colin Cross
9b5ac44f46 Remove non-idiomatic inheritance am: 46c9b8bfd5
am: acc57aa071

Change-Id: Id71a259e8f1f075541686dfdf10450ad5d5465e7
2017-06-23 20:33:11 +00:00
Colin Cross
adb7ca535b Update obsolete references am: ba211130bd
am: c66644fb71

Change-Id: I808cb71ebdbf210155e6c1f62dc84e16aacf9a1f
2017-06-23 20:33:09 +00:00
Colin Cross
7c9bfa1f00 Fix panic in builds with no device am: 20e1365e61
am: 414e59cb8b

Change-Id: Id56046edf8bdb5a674f2517d9aba8d8757a536fb
2017-06-23 20:33:07 +00:00
Colin Cross
0fa5825749 Split java device properties into separate struct
am: 540eff8e5f

Change-Id: I40a7fd2d90a1a0297a343e4d8739ecfde12b2405
2017-06-23 20:22:42 +00:00
Colin Cross
acc57aa071 Remove non-idiomatic inheritance
am: 46c9b8bfd5

Change-Id: Ic2ddf8ed0fbb6e9da86f538776aeec0f105a821f
2017-06-23 20:22:40 +00:00
Colin Cross
c66644fb71 Update obsolete references
am: ba211130bd

Change-Id: I497ce9e6f52d01add734524deaecef474878b143
2017-06-23 20:22:38 +00:00
Colin Cross
414e59cb8b Fix panic in builds with no device
am: 20e1365e61

Change-Id: I401d080aaf27ed598c44628edcd7d249a0298a82
2017-06-23 20:22:35 +00:00
Colin Cross
3e3e72da90 Add java config and share it with make
Add a java/config package to hold config information, and share
it with make through makevars.

Test: builds
Change-Id: I46c088bda0fe97a1823bfdd80fa692d0bf61da1b
2017-06-23 11:24:54 -07:00
Colin Cross
540eff8e5f Split java device properties into separate struct
Prevent host modules from having fields that only make sense for
device modules.

Test: builds
Change-Id: I20278e029a38fb9a6b75ef3c2cf3c1a97cef2b87
2017-06-23 10:57:36 -07:00
Colin Cross
46c9b8bfd5 Remove non-idiomatic inheritance
Remove inheritance implemented with the bad "superclass calls
subclass through interface" pattern, and replace it with composition.

Test: builds
Change-Id: If323f89360455b3f98b40777edaaaa265bb3b5fc
2017-06-23 10:57:36 -07:00
Colin Cross
ba211130bd Update obsolete references
Test: builds
Change-Id: Ic37628b78704a03200b6326485fb4667e1c5a665
2017-06-23 10:57:36 -07:00
Colin Cross
20e1365e61 Fix panic in builds with no device
Running prebuilts/build-tools/build-prebuilts.sh in a repo that
contains art/build/art.go panics because config.Targets[Device] is
empty.  Check the length before accessing the slice.

Test: prebuilts/build-tools/build-prebuilts.sh
Change-Id: Ifb9fe0fad07b22d6b574f505c08c5c761278aad0
2017-06-23 10:57:36 -07:00
Dan Willemsen
c12a569ee4 Merge "zip2zip: Support sorting globbed arguments, '**'" am: 405ce4d352
am: 5cba5fc2f7

Change-Id: Id6c07e3c3651d1631649ae1eca12b11c04776793
2017-06-23 01:15:07 +00:00
Dan Willemsen
5cba5fc2f7 Merge "zip2zip: Support sorting globbed arguments, '**'"
am: 405ce4d352

Change-Id: Ieeec2f1c5628ddbe4327d5ef6746643ee49265d3
2017-06-23 01:11:08 +00:00
Treehugger Robot
405ce4d352 Merge "zip2zip: Support sorting globbed arguments, '**'" 2017-06-23 01:00:29 +00:00
Dan Willemsen
82218f285c zip2zip: Support sorting globbed arguments, '**'
When '-s' is passed, any globbed arguments will have their results
sorted. When there are multiple arguments, the files will still be
inserted in argument order.

A bare '**' is now special cased to mean every file in the input zip.

This allows zip2zip to sort entire zip files efficiently by using
`zip2zip -s -i <> -o <> '**'`. This can be useful if your original zip
program used filesystem ordering which was not reproducible.

Test: m -j blueprint_tools (new tests pass)
Change-Id: Ic3512c5fe14c94c6f3e134296905121d2ff8b58a
2017-06-22 15:55:27 -07:00
Chih-Hung Hsieh
2153dcece8 Merge "Add OWNERS in build/soong" am: 12e23182a6
am: 43fd6e40db

Change-Id: I3dcb920fbdad2700b5528df1664848392b32dd8f
2017-06-22 01:16:21 +00:00
Chih-Hung Hsieh
43fd6e40db Merge "Add OWNERS in build/soong"
am: 12e23182a6

Change-Id: I9d3d031bae60f9ae0b58de8b6447a412940aaad0
2017-06-22 01:13:49 +00:00