Commit Graph

2199 Commits

Author SHA1 Message Date
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
9e9eee01b2 Merge "Always respect system_shared_libs from Android.bp" am: 6af24f9677
am: cdc2d913a4

Change-Id: Ib8f16b7d43f51e2af4f4acff9022588ced7c336e
2019-01-18 18:49:44 -08: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
68b63d96ac Merge "Move arch variants registering code to arch.go." am: d4a393466a
am: 9dec005b6b

Change-Id: I74ca7e25eaa9c5f282a5be4596330b6ab9129efa
2019-01-17 07:43:10 -08:00
Logan Chien
4df0c7e015 Do not check the ABI stability of LL-NDK-Private am: f6dbd9c5f7
am: b95b70bf69

Change-Id: Id81bc2490f680a589dd572ca21c7212ac0b661a6
2019-01-17 07:42:49 -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
5c96ffb0b7 Return false in DirectlyInAnyApex for host libraries. am: c22c1bf130
am: b104c438b9

Change-Id: Ifbf8bc740ef8723de351ee2befe4faf4131a8c6e
2019-01-16 23:05:19 -08: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
9143221a06 Merge "Add Symbol_ordering_file property" am: cdfaaf4d75
am: 2c5ca34298

Change-Id: Ia183d1b009d9230ceca96b6391f0ad401edd4b9b
2019-01-16 10:07:03 -08: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
Jiyong Park
769e50b3c9 Symbols for libs in APEXes are available
The unstripped file for libraries in APEXes are available via
out/target/product/<device>/symbols/apex/<apex_name>/path_to_lib.

This change make the symbol files available by installing the individual
files in APEXes to the directory where the APEXes will be mounted at
(i.e. runtime directory which is /apex/<apex_name>). Note that the files
are not actually packaged to a filesystem image; they are installed just
to create the symbol files under the out directory where developers can
use them for debugging.

Bug: 120846816
Test: m com.android.runtime.debug
There are unstripped files under
out/target/product/walleye/symbols/apex/com.android.runtime.debug

Change-Id: Ib182e2bf8787b7669ccba13814491db35370f468
2019-01-11 23:45:20 +09:00
Jiyong Park
e45af66fc5 Rename non-stubs variant of a lib if it is included in APEX am: b07885714c
am: 8e071293b4

Change-Id: Id156d16ed3e5b8a224d692fbaf00e0d19a42f941
2019-01-09 19:29:36 -08:00
Jiyong Park
8e071293b4 Rename non-stubs variant of a lib if it is included in APEX
am: b07885714c

Change-Id: I01f9965ce641e561ec8429e037789718c73e951b
2019-01-09 19:26:21 -08:00
Jiyong Park
b07885714c Rename non-stubs variant of a lib if it is included in APEX
If a lib is directly included in an APEX (via native_shared_libs
property) and the lib has stubs (via stubs.versions property), then the
ordinary non-stubs variant of the library is renamed to
<libname>.bootstrap in the makefile. At the same time, the stubs variant
of the lib becomes visible and it's name is <libname>.

This ensures that modules in Android.mk build against the stubs
variant thus preventing them from using private APIs in the lib.

The non-stubs variant, however, is used if the module explicitly has
set the new 'bootstrap' property to true. This is useful for building
some early binaries (such as init and vold) which need to run before
APEXes are activated. Since they can't use the bionic libs from the
runtime APEX, they should use the bionic libs left in the system
partition which is called the boostrap bionic.

Bug: 120266448
Test: m
Test: m with https://android-review.googlesource.com/c/platform/bionic/+/849044

Change-Id: I882b8aeb5b29460f07b4424e4f8eb844d6c9a9b0
2019-01-10 09:57:29 +09:00
Dan Willemsen
0302e36cce Merge "Don't expect depfile from .s files" am: 9b84d34be3
am: 20541f773c

Change-Id: Icf4ffa0c93ff7a50a47477e611913adc307b3773
2019-01-04 08:39:56 -08:00
Dan Willemsen
20541f773c Merge "Don't expect depfile from .s files"
am: 9b84d34be3

Change-Id: Ib87334c82091ea52883d5b0273cdcc2bcc43d315
2019-01-04 08:28:42 -08:00
Treehugger Robot
9b84d34be3 Merge "Don't expect depfile from .s files" 2019-01-04 15:19:33 +00:00