Commit Graph

2356 Commits

Author SHA1 Message Date
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
Dan Willemsen
01a3c25ed7 Configure the default arch variant features per-OS
The minimum set of supported features are different between Android and
Linux with X86_64. So while the list of variants and features are still
technically correct, and may be shared more in the future, the default
needs to be configured differently.

Bug: 120208462
Test: add `host_supported: true` to libopus; m libopus
Change-Id: Ib79707d17b852f77341026085230c026b6386b78
2019-01-15 00:53:28 +00:00
Stephen Hines
f1d56697e8 Merge "Switch to clang-r346389c." am: db89aa2c1d
am: 053e24087b

Change-Id: I861a7a8b5ff491f84c27f0c546afbcaf80e8da32
2019-01-14 14:34:03 -08:00
Stephen Hines
053e24087b Merge "Switch to clang-r346389c."
am: db89aa2c1d

Change-Id: I93384b066fc2a6aafd89e46ad7c20b80f2e7010d
2019-01-14 14:04:15 -08:00
Stephen Hines
db89aa2c1d Merge "Switch to clang-r346389c." 2019-01-14 21:47:17 +00:00
Vic Yang
b70617a160 Add Symbol_ordering_file property
We add an optional Symbol_ordering_file property to linker properties
to allow modules to specify the order of symbols in the binary.

Bug: 112073665
Test: Build libc with a symbol ordering file and check the resulting
      binary.

Change-Id: Ibb24697cfdee4a5750442cb74f1ee6390d8a6430
2019-01-14 11:00:10 -08:00
Yi Kong
92071899bd Merge "Move -Wno-null-dereference to external only" am: 98975c301e
am: 52e8b1e270

Change-Id: I39e74436a541b308c88cc09995a7887e5f3680a5
2019-01-13 17:53:37 -08:00
Yi Kong
52e8b1e270 Merge "Move -Wno-null-dereference to external only"
am: 98975c301e

Change-Id: Iaeb4dfe5dd99f8b368b4aaeea94868e434653d75
2019-01-13 17:49:15 -08:00
Yi Kong
98975c301e Merge "Move -Wno-null-dereference to external only" 2019-01-14 01:38:38 +00:00
Jiyong Park
dd11dcd66e Merge "Stubs libs are built with version script" am: a374cbb445
am: c287271902

Change-Id: I1658eb55c13121a74ba7618089db43b0481268e5
2019-01-12 16:26:48 -08:00
Jiyong Park
c287271902 Merge "Stubs libs are built with version script"
am: a374cbb445

Change-Id: If72f30160049bb8b40aba9f049db274c6d2db934
2019-01-12 16:22:44 -08:00
Jiyong Park
c1e7f48b4c Stubs libs are built with version script
Stubs libs are built with the generated version script file.

Bug: 120266448 (comment #23)
Test: lunch walleye_hwasan-userdebug
make SANITIZE_TARGET=hwaddress oatdump

Change-Id: I38652e61d0b336227b7f541590b0e70fe291f0a3
2019-01-13 03:11:27 +09:00
Jiyong Park
379de2fab0 APEXes can be sanitized
This change first introduces the interface "Sanitizeable" that
module types other than cc.Module can use to be handled by the sanitizer
mutator. APEX module, by implementing the interface, gets sanitizer
variants.

In doing so, sanitizer.go is refactored so that modules have explicit
dependencies to the runtime sanitizer libraries. This allows the runtime
library to be packaged into the APEX when required. This also completes
the dependency graph; updating the prebuilt sanitizer runtime will
trigger rebuilding of modules using the runtime.

Bug: 120894259
Bug: 121038155
Test: SANITIZE_TARGET=hwaddress m apex.test
Test: TARGET_FLATTEN_APEX=true SANITIZE_TARGET=address m
Change-Id: Ia91576ff48cda3c996350308b75bf83fcf7c23d7
2019-01-13 00:48:47 +09:00
Michael Butler
6cc8462dc2 Merge "Revert "Symbols for libs in APEXes are available"" am: 4fd001280d
am: 54c454d064

Change-Id: Ife218d4a331975d0754fdaeda4593867e218a217
2019-01-11 13:13:55 -08:00
Michael Butler
54c454d064 Merge "Revert "Symbols for libs in APEXes are available""
am: 4fd001280d

Change-Id: I564df995f01f27eea5a44ffc70fd7baf404d3cd1
2019-01-11 13:02:38 -08:00
Michael Butler
eaebd76656 Revert "Symbols for libs in APEXes are available"
This reverts commit 769e50b3c9.

Reason for revert: Likely causing build failure on aosp_x86_64-eng in aosp_master:

"build/make/core/base_rules.mk:271: error: art/build/apex: MODULE.TARGET.SHARED_LIBRARIES.com.android.runtime.host.libart-compiler already defined by art/build/apex."

Change-Id: I83b7caa04b2648e4e4914aae2fa5878516634eed
2019-01-11 20:23:36 +00:00
Jiyong Park
40236a3498 Merge "Symbols for libs in APEXes are available" am: 07feb07a16
am: 3007628413

Change-Id: I3170fcf6ba7f1a4ff46f2dd04d8f152e35ad122c
2019-01-11 10:11:39 -08:00
Jiyong Park
3007628413 Merge "Symbols for libs in APEXes are available"
am: 07feb07a16

Change-Id: I6ef148e599227633baf30b15f84fdd96062d1ea1
2019-01-11 09:51:07 -08:00
Stephen Hines
c0042a2c77 Switch to clang-r346389c.
This cherry-pick update picks up a few patches to improve hwasan, ELF
tls, and LLD for kernel builds.

Bug: http://b/122549771
Test: make checkbuild, boot
Change-Id: I8a90282af41ad4c74df819484ba2c3507e20100f
2019-01-11 09:21:46 -08:00