Commit Graph

2324 Commits

Author SHA1 Message Date
Dan Willemsen
96ce8e71a3 Stop exporting the windows toolchain to Make
Make no longer supports building for Windows, they must be in Android.bp
files now.

Bug: 122618577
Test: compare build-aosp_arm.ninja before/after
Change-Id: Ie70d8519850da5b1bdddf73788f984eb3f4f0900
2019-01-28 10:59:16 -08:00
Jiyong Park
58e364a373 Add __ANDROID_APEX__
A module can be built multiple times when it is referenced from one
or more APEXes. Sometimes, it is required for the module to behave
differently depending on the context; e.g., do A when built form
APEX M, do B when built for APEX N, and do C when built for platform.

The idea is to have a macro __ANDROID_APEX__ which is set to the
name of the apex that the module is built for. It is undefined when
the module is built for platform.

Bug: 122714993
Test: m (apex_test amended)
Change-Id: I11a89c6a0e799f4810194de7ef9ee472a71ca498
2019-01-28 20:02:27 +09:00
Logan Chien
8f74fe6e14 Fix a typo related to abidiffs
This commit fixes a typo related to abidiffs.  The generated abidiffs
should be copied to `$$DIST_DIR/abidiffs` instead of
`$$DIST_DIR/abidiff`.

(See also. https://android-review.googlesource.com/796458/)

Bug: 123491909
Test: lunch aosp_x86-userdebug && make dist
Change-Id: I89c13580344a27cac5ea0d00497f5bba3227cf61
2019-01-28 14:30:04 +08:00
Orion Hodson
1e7c3d63a9 Remove libnativehelper from global includes
Bug: 119840313
Test: m checkbuild
Change-Id: Id80e26a396c2e289dcd2596a5b799e251d9ccf1b
2019-01-27 11:11:01 +00:00
Colin Cross
cf6e78b127 Add export_*_lib_headers to static and shared properties
am: eefe9a35b2

Change-Id: If1f3b987876b7e6ce9df9e78da1ab81537e8472c
2019-01-25 13:40:45 -08:00
Colin Cross
eefe9a35b2 Add export_*_lib_headers to static and shared properties
Allow specifying export_static_lib_headers and export_shared_lib_headers
in the static or shared properties of cc_library modules.

Use a named struct for the properties to avoid having to create
a runtime struct type since none of the properties are filtered.
This avoids running into the name length limit in runtime.StructOf.

Fixes: 122882789
Test: m checkbuild
Change-Id: Ib0e9933e93981ba44668a19ed748bd12a4dd4257
2019-01-25 21:27:02 +00:00
Jiyong Park
b18e72dd28 Make sure that ASAN runtime lib is the first DT_NEEDED one
am: 64a44f231d

Change-Id: I9de37b751142ba8e26636f318be3f8cfa3d4946e
2019-01-24 21:10:14 -08:00
Pirama Arumuga Nainar
d2fffefd91 Merge "Revert "Revert "Fix: sanitizerRuntimeMutator is not run for host"""
am: de54534d2a

Change-Id: Ib19d2a09ba70070aa59c82ea38a7ff53b66d65e6
2019-01-24 21:09:49 -08:00
Jiyong Park
64a44f231d Make sure that ASAN runtime lib is the first DT_NEEDED one
Introduce a new tag earlySharedDepTag which is added in front of the
ordinary sharedDep dependencies. Dependency to the ASAN runtime lib is
added with the new tag.

Bug: 120894259
Bug: 121038155
Test: m; SANITIZE_TARGET=address m
Use readelf -d to see if the runtime lib is in the first DT_NEEDED one.

Change-Id: I90de6ab95df734a99995532d826564b13fe05316
2019-01-25 14:05:51 +09:00
Treehugger Robot
de54534d2a Merge "Revert "Revert "Fix: sanitizerRuntimeMutator is not run for host""" 2019-01-25 04:54:40 +00:00
Dan Willemsen
cf71b8ca86 Merge "Remove armv7-a without neon support"
am: e4f12785db

Change-Id: I2529ec9417cf4f49e70a424dd7a37441fb884624
2019-01-24 19:57:47 -08:00
Dan Willemsen
e4f12785db Merge "Remove armv7-a without neon support" 2019-01-25 03:52:17 +00:00
Pirama Arumuga Nainar
6aa210243c Revert "Revert "Fix: sanitizerRuntimeMutator is not run for host""
Bug: http://b/123254047

This reverts commit 84757ea7ea.

Reason for revert: veridex asan failure is fixed.

Change-Id: Id03180b8d3d1dc1386fd7e4f800d64dc8578139c
2019-01-25 00:21:02 +00:00
Doug Horn
ac2925f410 Support building for Fuchsia.
am: c32c6b0d79

Change-Id: Ic180340f6f508e4a897e0464e3e0bc2f3d22c87c
2019-01-24 15:58:35 -08:00
Dan Willemsen
f4e0601c7e Remove armv7-a without neon support
Test: treehugger
Change-Id: I8565d84224daedb6a6dde6dfb9c0fe5f5fabb0f6
2019-01-24 15:51:26 -08:00
Doug Horn
c32c6b0d79 Support building for Fuchsia.
This CL adds configs for the arm64 and x64 fuchsia
device targets, sets up the necessary linker flags,
and disables some functionality that is not currently
supported on Fuchsia.

Bug: 119831161
Test: Compile walleye, internal validation against
fuchsia_arm64-eng and fuchsia_x86_64-eng.
Change-Id: I2881b99d2e3a1995e2d8c00a2d86ee101a972c94
2019-01-24 18:59:29 +00:00
Dan Albert
9d12a12dc8 Merge "Revert "Fix: sanitizerRuntimeMutator is not run for host""
am: 9f100ca0e3

Change-Id: Ied9767b9a8264bab62e134874cc1fc8a368f7fde
2019-01-23 15:53:28 -08:00
Dan Albert
84757ea7ea Revert "Fix: sanitizerRuntimeMutator is not run for host"
This reverts commit 1c29b0e6ec.

Reason for revert: Broke aosp_x86_64

Change-Id: I581200f1c271c3e1a39d5cdad84c782977b13054
2019-01-23 23:33:25 +00:00
George Burgess IV
7294cdced0 config: swap to glibc 2.17
**Please do not revert this change without consulting with either
srhines@ or gbiv@ first. It's a large change, and if it only causes
simple/small breakages, we plan to fix those as they pop up.**

This CL swaps the host Android Linux toolchain to gcc 4.8.3 + glibc
2.17, landed in Ieeed444801160e3d288bbad7d871067e81411118.

Bug: 111358231
Test: We've done extensive testing on internal master. Please see
      Ieeed444801160e3d288bbad7d871067e81411118.
Change-Id: If991a603a3dce33b55086672c27a11992f0f3123
2019-01-23 14:02:10 -08:00
Dan Willemsen
d493964e21 Merge "Fix: sanitizerRuntimeMutator is not run for host"
am: 27fd541cf3

Change-Id: I6bf52e195a6e4ed0bcee103af7829aff20cea648
2019-01-23 13:12:12 -08:00
Jiyong Park
1c29b0e6ec Fix: sanitizerRuntimeMutator is not run for host
Bug: 123254047
Test: m ASAN_OPTIONS=detect_leaks=0 SANITIZE_HOST=address
FORCE_BUILD_LLVM_COMPONENTS=true out/host/linux-x86/bin/adb
nm -an out/host/linux-x86/bin/adb  | grep -c asan
shows non-zero value

Change-Id: I030e08bd0db38585b1fdaecd00220406f1e8b371
2019-01-23 23:37:45 +09:00
Logan Chien
31698575be Fix shared_libs for cc/prebuilt.go
am: c7f797ea54

Change-Id: I2455c46dbce897068ad472740f641e8d5a20c65b
2019-01-22 23:27:35 -08:00
Logan Chien
9839dd76c3 Merge "Add prebuilt ABI checker support to soong"
am: f1b3352b97

Change-Id: I38b6006e3107944826c31bcfb2052b830bff3cd0
2019-01-22 23:26:19 -08:00
Logan Chien
c7f797ea54 Fix shared_libs for cc/prebuilt.go
This commit fixes `shared_libs` for `cc_prebuilt_binary`,
`cc_prebuilt_library_static`, and `cc_prebuilt_library_shared`.  Before
this commit, all shared libraries in `shared_libs` are dropped from the
generated `LOCAL_SHARED_LIBRARIES`.  This commit fixes the problem by
delegating `linkerDeps()` to `libraryDecorator.linkerDeps()`.

This commit also fixes the dependencies to NDK shared libraries.  Before
this change, those dependencies are mapped to a `ndkStubDepTag` and then
ignored by the computation of `AndroidMkSharedLibs`.  This commit adds
it back.

Bug: 123053270
Bug: 119084334
Test: libclang_rt.scudo-*.so can be checked with 2 more hacks.
Change-Id: I59e37e1a3fe0c329e8cb7032e5671f117f7832a0
2019-01-23 07:21:56 +00:00
Logan Chien
4fcea3d9a3 Add prebuilt ABI checker support to soong
This commit adds prebuilt ABI checker support to soong so that
`cc_prebuilt_library_shared` and `cc_prebuilt_binary` are checked.

To opt out the check, add `check_elf_files: false` to your module.

Bug: 119086738
Test: lunch aosp_sailfish-userdebug && CHECK_ELF_FILES=true make check-elf-files
Change-Id: Idb4290c8f48aad545894a7ae718a537cbf832233
2019-01-23 10:15:02 +08:00
Logan Chien
9202e84536 Merge "Add sdk version workaround for libclang_rt"
am: 5c7c78a2e0

Change-Id: I0acd7d6d9268d4291c9249769d13c5ed6548a5b7
2019-01-21 17:18:41 -08:00
Logan Chien
5c7c78a2e0 Merge "Add sdk version workaround for libclang_rt" 2019-01-22 01:04:35 +00:00
Jerome Gaillard
c5c22a4f86 Merge "Add Skia deps to the list of available Windows libraries"
am: 13a539c009

Change-Id: I45c4f8d8305b9ef8f296d50b374d778fabdaf362
2019-01-21 12:13:31 -08:00
Jerome Gaillard
7f7f34f81a Add Skia deps to the list of available Windows libraries
Building Skia for Windows requires linking some Windows libraries that
were not in the list of available ones. This adds the necessary
libraries.

Test: N/A
Change-Id: I803b7b05f47163316c6f03866145dc50656a6bef
2019-01-21 11:34:46 +00:00
Logan Chien
834b9a6216 Add sdk version workaround for libclang_rt
libclang_rt.*.so depends on libc++, which is not a part of NDK.  Thus,
this workaround must be added in order not to break the build when the
prebuilt dependencies are checked.

Bug: 121358700
Test: make checkbuild
Change-Id: Icaeb7adf96fb72829053e198b659ebcb19a035fc
2019-01-21 10:29:47 +08:00
Logan Chien
f2dd11f316 Merge "Add apex stub lib to LOCAL_SHARED_LIBRARIES"
am: 6cf8ff918a

Change-Id: Ib9b482acc7348c5f93022dc01609ae3bd550ba1b
2019-01-18 19:56:37 -08:00
Logan Chien
6cf8ff918a Merge "Add apex stub lib to LOCAL_SHARED_LIBRARIES" 2019-01-19 03:48:30 +00:00
Logan Chien
cdc2d913a4 Merge "Always respect system_shared_libs from Android.bp"
am: 6af24f9677

Change-Id: I3ddb5655da9a145154f48d38f5c8a7bfd43d127c
2019-01-18 18:44:35 -08:00
Logan Chien
6af24f9677 Merge "Always respect system_shared_libs from Android.bp" 2019-01-19 02:34:34 +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
Jaewoong Jung
9dec005b6b Merge "Move arch variants registering code to arch.go."
am: d4a393466a

Change-Id: I58e957455a7bcfdcf40e3b4454a0195921b54f20
2019-01-17 07:38:47 -08:00
Logan Chien
b95b70bf69 Do not check the ABI stability of LL-NDK-Private
am: f6dbd9c5f7

Change-Id: Id1d0350a38529bc90be4c25e3bf52ea98ce95973
2019-01-17 07:37:52 -08: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
Nicolas Geoffray
b104c438b9 Return false in DirectlyInAnyApex for host libraries.
am: c22c1bf130

Change-Id: Ib311f7669227f559e54624df474f2beb843703db
2019-01-16 23:00:15 -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
Vic Yang
2c5ca34298 Merge "Add Symbol_ordering_file property"
am: cdfaaf4d75

Change-Id: Ice92bb7d3e42bf7f9eb9540ce2674cc4902576ad
2019-01-16 10:02:41 -08:00
Treehugger Robot
cdfaaf4d75 Merge "Add Symbol_ordering_file property" 2019-01-16 17:52:48 +00:00
Jiyong Park
d4e0239cd0 Merge "APEXes can be sanitized" am: a09e13a4ab
am: 81551d4616

Change-Id: I44fcff612e4b4da27abcadf9ee6c0d7dd92dedbd
2019-01-14 18:44:37 -08:00
Jiyong Park
81551d4616 Merge "APEXes can be sanitized"
am: a09e13a4ab

Change-Id: I3ca93248947ccbcc81006a06757788f378fe9f5f
2019-01-14 18:34:37 -08:00
Treehugger Robot
a09e13a4ab Merge "APEXes can be sanitized" 2019-01-15 02:13:32 +00:00
Dan Willemsen
fc9dff9965 Configure the default arch variant features per-OS am: 01a3c25ed7
am: ea53a95e10

Change-Id: Id1d2733acaa48287da535394c65e9200a67bb72f
2019-01-14 17:18:24 -08:00
Dan Willemsen
ea53a95e10 Configure the default arch variant features per-OS
am: 01a3c25ed7

Change-Id: Icb12a09355a8b418667eef9ec6668dbd4f240525
2019-01-14 17:09:56 -08:00