Commit Graph

3295 Commits

Author SHA1 Message Date
Jiyong Park
1c6a810e72 Merge "Reland "Symbols for libs in APEXes are available"" am: 3a30e13683 am: c49fa7b522
am: 11eda2d3dd

Change-Id: Ifb6e8f8d6192d2a65f2d52bbd17bd2d5daaa94be
2019-01-30 09:36:33 -08:00
Jiyong Park
c4843f1d9f Fix: deps to sanitizer runtime libs are with correct 'image' variant am: 3b1746a212
am: dc9872a0d3

Change-Id: I53c6b3a08b1c7e5a2a16e88e202d2eee3989567e
2019-01-30 09:34:29 -08:00
Jiyong Park
11eda2d3dd Merge "Reland "Symbols for libs in APEXes are available"" am: 3a30e13683
am: c49fa7b522

Change-Id: I2c71be24d61b5ad65b7ddd9347c5f52d961da7e6
2019-01-30 09:25:53 -08:00
Jiyong Park
dc9872a0d3 Fix: deps to sanitizer runtime libs are with correct 'image' variant
am: 3b1746a212

Change-Id: Ie04156a9528e39d378d7eddec3500e789381303b
2019-01-30 09:24:27 -08:00
Jiyong Park
c49fa7b522 Merge "Reland "Symbols for libs in APEXes are available""
am: 3a30e13683

Change-Id: I89cfa808ab2f32f9bf4c3d305c9e3f43c0d6faa2
2019-01-30 09:08:28 -08:00
Jiyong Park
3b1746a212 Fix: deps to sanitizer runtime libs are with correct 'image' variant
This change fixes a bug that sanitizer runtime libs for non-core variant
(e.g. recovery, vendor, etc.) are not installed. It happened because the
dependency to the sanitizer runtime lib was without 'image' variant,
which in most case caused only the core variant - which is the first in
the image variants - of the lib to be installed.

Fixing the issue by correctly selecting image variant depending on the
location of the lib having dependency to the runtime lib.

Bug: 123525879
Test: SANITIZE_TARGET=hwaddress m out/target/product/blueline/boot.img
Test: SANITIZE_TARGET=address m out/target/product/blueline/boot.img
libclang_rt.*.so is under
out/target/product/blueline/root/recovery/system/lib64

Change-Id: Iea7d718d4971e36521f0a3f712a454de944cd7ac
2019-01-31 01:58:26 +09:00
Logan Chien
e3d7a0d062 Add a header_abi_checker section
This commit adds a header_abi_checker section so that the library owner
can have a fine-grained control over the ABIs that must be checked.

For example, a library "libexample" may have following configurations:

    cc_library {
        name: "libexample",
        header_abi_checker: {
            symbol_file: "libexample.map.txt",
            exclude_symbol_versions: ["LIBEXAMPLE_PRIVATE"],
            exclude_symbol_tags: ["platform", "apex"],
        },
    }

Bug: 122845490
Test: Add header_abi_checker to libc to filter out LIBC_PRIVATE
Change-Id: I60cfea868f815afe6213c242ed0ca818161d55c6
2019-01-30 22:18:59 +08:00
Jiyong Park
719b4467aa Reland "Symbols for libs in APEXes are available"
This reverts commit eaebd76656.

Bug: 120846816
Test: build/soong/build_test.bash -dist -products mainline_system_arm64
Test: lunch aosp_cf_x86_pasan-userdebug; m && SANITIZE_TARGET=address m

Change-Id: I0d2f3eba33c2d1d034d13839c1bd23970adb9f85
2019-01-30 12:34:46 +09:00
George Burgess IV
6e55ec9f03 Merge "config: swap to glibc 2.17" am: f4803454b0 am: 5106157118
am: 1b9ee9d55e

Change-Id: I84e406ac79693d62c784d18ae7dc5e5fb0556444
2019-01-29 15:11:25 -08:00
George Burgess IV
1b9ee9d55e Merge "config: swap to glibc 2.17" am: f4803454b0
am: 5106157118

Change-Id: If14fbfc6a66f39f36a2d8c626576a2e0582c630a
2019-01-29 14:47:13 -08:00
George Burgess IV
5106157118 Merge "config: swap to glibc 2.17"
am: f4803454b0

Change-Id: I7671fe1c1a8bd380aa338cc981cca954fa7d59b6
2019-01-29 14:39:52 -08:00
George Burgess IV
f4803454b0 Merge "config: swap to glibc 2.17" 2019-01-29 22:24:58 +00:00
Alex Light
b99850902f Merge "Update compdb to put full path to compiler" am: 4087dd660f am: 1a90a8a5c0
am: 6ac171c19c

Change-Id: Id57a7f1b64cb894a660e1e1889fea78c0866848a
2019-01-29 13:08:04 -08:00
Alex Light
6ac171c19c Merge "Update compdb to put full path to compiler" am: 4087dd660f
am: 1a90a8a5c0

Change-Id: I3916221ca82ee1044cfd41b5d77406a7596775d4
2019-01-29 13:03:56 -08:00
Alex Light
1a90a8a5c0 Merge "Update compdb to put full path to compiler"
am: 4087dd660f

Change-Id: I9bc32323ed59d55922a8555556f1f9c2807b48de
2019-01-29 12:57:53 -08:00
Alex Light
4087dd660f Merge "Update compdb to put full path to compiler" 2019-01-29 20:52:27 +00:00
Alex Light
c77e47ca69 Merge "Add support for symlink_preferred_arch in apex" am: 5956b2b3cb am: 4c3b29cd80
am: 205efdab08

Change-Id: Iff884c8541a404439a7ca86310362ebba46f15d7
2019-01-29 10:25:22 -08:00
Alex Light
205efdab08 Merge "Add support for symlink_preferred_arch in apex" am: 5956b2b3cb
am: 4c3b29cd80

Change-Id: I63d2f240e6dd995a1550e6c036b00cf55b6d516a
2019-01-29 09:56:55 -08:00
Alex Light
4c3b29cd80 Merge "Add support for symlink_preferred_arch in apex"
am: 5956b2b3cb

Change-Id: I0070c0782784b11f9e4d860e15921ba81b9fa3d7
2019-01-29 09:51:36 -08:00
Alex Light
5956b2b3cb Merge "Add support for symlink_preferred_arch in apex" 2019-01-29 17:41:25 +00:00
Alex Light
e812818656 Update compdb to put full path to compiler
Some language servers (vscode) seem to have started to rely on the
compiler being an absolute path recently. This updates the compdb
generator to match this expectation.

Bug: https://github.com/Microsoft/vscode-cpptools/issues/3112
Test: m nothing && m SOONG_GEN_COMPDB=1 SOONG_LINK_COMPDB_TO=$ANDROID_BUILD_TOP nothing
Test: Open vscode
Change-Id: Id146d69c2b808b23896132bbd4bc38ed5c7fd9c7
2019-01-29 17:27:37 +00:00
Orion Hodson
50ecc4d730 Merge "Remove libnativehelper from global includes" am: 6703e6f390 am: 2946369186
am: d5325cde0a

Change-Id: Ib2d861763ff3612fa4f81a16fa1b6d7142bba557
2019-01-29 07:03:10 -08:00
Orion Hodson
d5325cde0a Merge "Remove libnativehelper from global includes" am: 6703e6f390
am: 2946369186

Change-Id: I2a4368d191d443fff15e385c6ef89a9af6cb9f03
2019-01-29 06:51:53 -08:00
Orion Hodson
2946369186 Merge "Remove libnativehelper from global includes"
am: 6703e6f390

Change-Id: I2c35da64b0886c0a6a0d24f8432ef9f8ff92319a
2019-01-29 06:41:33 -08:00
Treehugger Robot
6703e6f390 Merge "Remove libnativehelper from global includes" 2019-01-29 14:30:16 +00:00
Jiyong Park
4c47d6013d Merge "Create sanitizer variants of APEX only when SANITIZE_TARGET is set" am: 62f6fcbbb9 am: f85699e747
am: 991d5c09d0

Change-Id: I11a5a3b9a0bf6e1991b0444f272f6afe38293b36
2019-01-29 00:29:06 -08:00
Jiyong Park
593d2b0967 Merge "stubs lib can export headers lib" am: b55752827a am: b5d6b973f7
am: 366532c88a

Change-Id: I1ef0d3f2dd64576f1b821ac656cff24259fd0894
2019-01-29 00:07:44 -08:00
Logan Chien
dd580e39ca Merge "Fix a typo related to abidiffs" am: a9403f279c am: 5258d3a8ad
am: aa943b0a65

Change-Id: Ida42f387b581b2c7c25d04cc5302868df4abf014
2019-01-28 23:21:50 -08:00
Jiyong Park
991d5c09d0 Merge "Create sanitizer variants of APEX only when SANITIZE_TARGET is set" am: 62f6fcbbb9
am: f85699e747

Change-Id: I4c3ce8bdbf9dcbb313651ed515544a9346229b66
2019-01-28 23:13:42 -08:00
Jiyong Park
a35ff0e0d1 Merge "Add __ANDROID_APEX__" am: 0425aa13ec am: 7cb4725f99
am: 3f86876d8e

Change-Id: I8a4bb326256280a9a9030eab2bc4d0d60dd01fc6
2019-01-28 23:10:19 -08:00
Jiyong Park
366532c88a Merge "stubs lib can export headers lib" am: b55752827a
am: b5d6b973f7

Change-Id: I236f45a8f6361ce45901042b14274c51daa1e80f
2019-01-28 23:08:49 -08:00
Logan Chien
aa943b0a65 Merge "Fix a typo related to abidiffs" am: a9403f279c
am: 5258d3a8ad

Change-Id: I01a85bd4dab958053d6856f0c9f30b8139e794d7
2019-01-28 22:40:49 -08:00
Jiyong Park
3f86876d8e Merge "Add __ANDROID_APEX__" am: 0425aa13ec
am: 7cb4725f99

Change-Id: I705f7a3045b3223e4e40736153fcc30d2b02f439
2019-01-28 22:19:07 -08:00
Jiyong Park
f85699e747 Merge "Create sanitizer variants of APEX only when SANITIZE_TARGET is set"
am: 62f6fcbbb9

Change-Id: Id0f028a8c59f6b99403eb6088532f1ff34e5fb2a
2019-01-28 21:36:13 -08:00
Jiyong Park
b5d6b973f7 Merge "stubs lib can export headers lib"
am: b55752827a

Change-Id: I5060665330da4906d42f9bb9e9e7e5de98256e6e
2019-01-28 21:30:09 -08:00
Logan Chien
5258d3a8ad Merge "Fix a typo related to abidiffs"
am: a9403f279c

Change-Id: Iaefd92f7d7734c5b76d60308b49c36f6bad2bd0d
2019-01-28 21:27:13 -08:00
Jiyong Park
7cb4725f99 Merge "Add __ANDROID_APEX__"
am: 0425aa13ec

Change-Id: I0496dc489bb0805730a392a732724e98a4de6cc6
2019-01-28 21:07:28 -08:00
Alex Light
3d67359f2f Add support for symlink_preferred_arch in apex
Some modules rely on symlink_preferred_arch to have expected files
present. This change makes apexs include these symlinks.

Test: m com.android.runtime.debug
      pushd $(mktemp -d)
      mkdir mnt
      unzip $OUT/apex/system/com.android.runtime.debug.apex
      sudo mount -o loop,ro apex_payload.img mnt
      Ensure that mnt/bin/dalvikvm and mnt/bin/dex2oatd both exist and
      are symlinks to mnt/bin/dalvikvm64 and mnt/bin/dex2oatd32
      respectively.

Bug: 119942078
Bug: 122373634
Bug: 123079311
Change-Id: I47868fbedc5bdd3141a836c488f79e91e0a6ddfe
2019-01-29 03:21:47 +00:00
Treehugger Robot
62f6fcbbb9 Merge "Create sanitizer variants of APEX only when SANITIZE_TARGET is set" 2019-01-29 02:46:31 +00:00
Treehugger Robot
b55752827a Merge "stubs lib can export headers lib" 2019-01-29 01:52:30 +00:00
Logan Chien
a9403f279c Merge "Fix a typo related to abidiffs" 2019-01-29 00:52:31 +00:00
Jiyong Park
7e636d0b98 stubs lib can export headers lib
Add a dependency from a stubs lib to headers libs so that the headers
can be re-exported.

Bug: 122717287
Test: m; a test added to apex_test.go
Change-Id: I8d48c072815c6b02d343ef09cb44dfc6d1af8e64
2019-01-29 07:38:42 +09:00
Jiyong Park
388ef3f5aa Create sanitizer variants of APEX only when SANITIZE_TARGET is set
This fixes a problem that APEX is unconditionally mutated for all
sanitizer types. This can make an APEX to include sanitized version
of a lib even when SANITIZE_TARGET is not set. It can happen when lib X
is directly depended on by an APEX (e.g. via native_shared_libs) and X
has a sanitized variant due to the dependency from another library Y
which is force sanitized (via 'sanitize' property). In that case,
regardless of lib Y is in the APEX or not, the APEX chooses the
sanitized variant of lib X since the dependency from APEX to the lib is
created with AddFarVariationDependency.

Fixing this problem by mutating the APEX for a sanitizer type only when
the device is requested to be sanitized.

Bug: 122717287
Test: add libnetd_client to com.android.runtime APEX.
Inspect build.ninja to verify that libnetd_client.so in the runtime APEX
is not a sanitized one.

Change-Id: I918bc8407137d74c5456142b3a29de13df68c0b3
2019-01-29 07:10:31 +09:00
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
69825e3860 Add export_*_lib_headers to static and shared properties am: eefe9a35b2 am: cf6e78b127
am: 333b667691

Change-Id: I227fbac9c4ea1d17a6974c17c0d4748503312297
2019-01-25 13:52:58 -08:00
Colin Cross
333b667691 Add export_*_lib_headers to static and shared properties am: eefe9a35b2
am: cf6e78b127

Change-Id: I87821a03e3db738f010fe60adeb9e8d22b6530f2
2019-01-25 13:46:52 -08: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