Commit graph

5989 commits

Author SHA1 Message Date
Logan Chien
e2b6f7bad2 Support VNDK extensions am: f351174107
am: aef07f2351

Change-Id: I9e062bdb3b81194c1c52576d5da282c439e1878a
2018-01-23 02:29:53 +00:00
Logan Chien
aef07f2351 Support VNDK extensions
am: f351174107

Change-Id: Ic8694308013e535da7431da1520e5ea023f5f0e1
2018-01-23 02:19:20 +00:00
Logan Chien
f351174107 Support VNDK extensions
This commit adds `extends: "name"` property and provides basic support
to VNDK extensions.  This is the simplest example:

```
cc_library {
    name: "libvndk",
    vendor_available: true,
    vndk {
        enabled: true,
    },
}

cc_library {
    name: "libvndk_ext",
    vendor: true,
    vndk: {
        enabled: true,
        extends: "libvndk",
    },
}
```

A vndk extension library must extend an existing vndk library which has
`vendor_available: true`.  These two libraries must have the same
`support_system_process` property.

VNDK-ext libraries are installed to `/vendor/lib[64]/vndk` and
VNDK-SP-ext libraries are installed to `/vendor/lib[64]/vndk-sp` by
default.

If there is a matching abi-dumps in `prebuilts/abi-dumps`,
`header-abi-diff` will be invoked to check for ABI breakages.

Bug: 38340960

Test: lunch aosp_walleye-userdebug && make -j8   # runs unit tests

Test: lunch aosp_arm-userdebug && make -j8  # build a target w/o VNDK

Test: Create a lsdump for a vndk lib, add an exported API to vndk lib,
and build fails as expected.

Test: Create a lsdump for a vndk lib, create an vndk extension lib with
extra API, and build succeeds as expected.

Test: Create libutils_ext, add an extra function to libutils_ext, and
call it from a HIDL service.

Change-Id: Iba90e08848ee99814405457f047321e6b52b2df0
2018-01-23 01:40:54 +00:00
Dan Willemsen
281af4413e Merge "Normalize LANG / LC_* environment" am: a167e3ba42
am: 6dd0600225

Change-Id: I16d1f23b7b5ce3d8f68da9051a04cc15053d3c87
2018-01-23 00:33:36 +00:00
Dan Willemsen
6dd0600225 Merge "Normalize LANG / LC_* environment"
am: a167e3ba42

Change-Id: I4a3a05923dc486911e9597db2fdc49a4ea9e133a
2018-01-23 00:28:32 +00:00
Treehugger Robot
a167e3ba42 Merge "Normalize LANG / LC_* environment" 2018-01-23 00:15:29 +00:00
Dan Albert
9c9ddf04ec Fix static_ndk_lib for sanitized libraries. am: 7d1eecf3cc
am: bc341ee329

Change-Id: I8585ce8ca0829af847cb3a429b02a9359a85b49a
2018-01-22 20:52:44 +00:00
Dan Albert
bc341ee329 Fix static_ndk_lib for sanitized libraries.
am: 7d1eecf3cc

Change-Id: I41e9aeb072f8c5b5acb9485c99758ce39b514ae7
2018-01-22 20:50:09 +00:00
Dan Albert
7d1eecf3cc Fix static_ndk_lib for sanitized libraries.
Test: build-ndk-prebuilts.sh with libc/libm included in the NDK
Bug: https://github.com/android-ndk/ndk/issues/272
Change-Id: Ic398f541036f6c16f7dc58b9af984c60ed948495
2018-01-22 12:40:13 -08:00
Ivan Lozano
0370b8c419 Merge "Revert "Support enabling overflow sanitization by path."" am: e021b0405d
am: a8388ac9e6

Change-Id: I19f71e6471308d32768148ddafbb84daa9d9ebad
2018-01-20 04:03:08 +00:00
Ivan Lozano
a8388ac9e6 Merge "Revert "Support enabling overflow sanitization by path.""
am: e021b0405d

Change-Id: Iaeceb0c8afece1ac7f2664e92de40f624da156ab
2018-01-20 04:00:31 +00:00
Treehugger Robot
e021b0405d Merge "Revert "Support enabling overflow sanitization by path."" 2018-01-20 03:54:23 +00:00
Dan Willemsen
4ebbb3f804 Merge "Add Nan to OWNERS" am: af71ddfe28
am: 51bb0698ec

Change-Id: If46959e23fd8b30054f3abc8f69c5f49190249f8
2018-01-20 02:08:01 +00:00
Dan Willemsen
51bb0698ec Merge "Add Nan to OWNERS"
am: af71ddfe28

Change-Id: I3134df47d72875661efbfd43c7155eb47035ac10
2018-01-20 02:04:59 +00:00
Treehugger Robot
af71ddfe28 Merge "Add Nan to OWNERS" 2018-01-20 01:59:37 +00:00
Ivan Lozano
b7d0f52337 Revert "Support enabling overflow sanitization by path."
This reverts commit 17df3c1b76.

Change-Id: Id5dab777da591c24113c3048b8606547a661afdd
2018-01-20 01:44:38 +00:00
Dan Albert
772f79e491 Merge "Update NdkMaxPrebuiltVersionInt." am: 4fe7c6aee8
am: c0004669b6

Change-Id: I908e2278d48ff0b6d099f6697a79a7263ffd6dbd
2018-01-19 23:58:11 +00:00
Dan Albert
c0004669b6 Merge "Update NdkMaxPrebuiltVersionInt."
am: 4fe7c6aee8

Change-Id: Id46cc747c082e64d5c26ab3cd02c579d7a06ae0f
2018-01-19 23:56:04 +00:00
Treehugger Robot
4fe7c6aee8 Merge "Update NdkMaxPrebuiltVersionInt." 2018-01-19 23:48:32 +00:00
Dan Willemsen
ed86952403 Normalize LANG / LC_* environment
This ensures that the current locale supports UTF-8, and that we're
getting a consistent (but still supported by the system) locale for
every configuration except user-facing messages. This should eliminate
any reproducibility problems around sorting, formatting, etc for all
built products, while still showing localized error messages where
available.

Bug: 71573630
Test: LANG=es_ES LANGUAGE=es: m   (check env in soong.log)
Change-Id: If33311899eaed8c44573113ee35c5a71cee503a0
2018-01-19 21:46:21 +00:00
Ivan Lozano
cbc5232329 Merge "Support enabling overflow sanitization by path." am: c1fecc2dfa
am: a613b55860

Change-Id: Ifb8dba1132793e88c2331935abe33db53db935cb
2018-01-19 16:05:16 +00:00
Ivan Lozano
a613b55860 Merge "Support enabling overflow sanitization by path."
am: c1fecc2dfa

Change-Id: I20a412c972f20016cfc230575864adfdbab2a4b9
2018-01-19 16:03:01 +00:00
Ivan Lozano
c1fecc2dfa Merge "Support enabling overflow sanitization by path." 2018-01-19 15:55:38 +00:00
Justin Yun
67d9f21eca Merge "VNDK snapshot modules must have vndk subdirectory" am: d40471c7c8
am: b94713329c

Change-Id: I501e21f65d44c74e8ad2a7a98dd7c1797e7aa2d1
2018-01-19 07:59:31 +00:00
Justin Yun
b94713329c Merge "VNDK snapshot modules must have vndk subdirectory"
am: d40471c7c8

Change-Id: I14eeafb91e36aa835e8b5383dec04d89f780dedd
2018-01-19 07:52:25 +00:00
Treehugger Robot
d40471c7c8 Merge "VNDK snapshot modules must have vndk subdirectory" 2018-01-19 07:14:27 +00:00
Jayant Chowdhary
beaef2407d Merge "Use -advice-only for libraries which do not export headers." am: b0712e8014
am: d9ec9ad566

Change-Id: Iaa14e95e6d25db13b66ccc2407b9a5d523f6d6ff
2018-01-19 05:29:58 +00:00
Jayant Chowdhary
d9ec9ad566 Merge "Use -advice-only for libraries which do not export headers."
am: b0712e8014

Change-Id: I3c9386d1adda4291c7556031aeefea25d8f32e0f
2018-01-19 05:28:00 +00:00
Treehugger Robot
b0712e8014 Merge "Use -advice-only for libraries which do not export headers." 2018-01-19 05:20:33 +00:00
Justin Yun
2e0a23ca40 Include VNDK snapshot modules only if the arch matches am: 74c3f5c9d1
am: ce7fe752b4

Change-Id: I3a977e7a48e65a184dcb13ec76ed6c1ec6b77ef4
2018-01-19 04:26:09 +00:00
Justin Yun
ce7fe752b4 Include VNDK snapshot modules only if the arch matches
am: 74c3f5c9d1

Change-Id: Iab52e9f039a9147974fbb540b8f4a6afcd519b38
2018-01-19 04:16:42 +00:00
Justin Yun
3e15b96234 VNDK snapshot modules must have vndk subdirectory
VNDK snapshot modules must have vndk subdirectory for their
LOCAL_MODULE_PATH regardless of BOARD_VNDK_VERSION definition.
The snapshot target output file must be not changed.

Bug: 71782197
Test: Build marlin with snapshot in the source and boot
Change-Id: I2b6ec9a5c20d6a5014f690d4eb8e6cd7b3b2f2fa
2018-01-19 12:19:24 +09:00
Justin Yun
74c3f5c9d1 Include VNDK snapshot modules only if the arch matches
If the target_arch for the snapshot module does not match with
the build variable TARGET_ARCH, hide the module from the make file.

Bug: 71787263
Test: Install VNDK snapshot v27
      lunch aosp_arm64_ab-userdebug; m vndk_v27_arm64
      - vndk libs must be installed
      m vndk_v27_arm
      - no vndk libs must be installed because target does not match

Change-Id: I32ab5004832a4164e1b2c056ad149ede50828b92
2018-01-19 09:48:45 +09:00
Jayant Chowdhary
e44995078f Use -advice-only for libraries which do not export headers.
While diffing abi, for libraries which do not export headers, use
-advice-only.

Test: Create reference dump for libdl; mm -j64; header-abi-diff gets
      invoked with '-advice-only'.

Test: Create reference dump for libjpeg; mm -j64; header-abi-diff gets
      invoked without '-advice-only'.

Bug: 71768219

Change-Id: I678346081f15088388f223f1276d0b0c42d2a8c2
2018-01-18 15:52:43 -08:00
Dan Willemsen
278d07dd8e Add Nan to OWNERS
Test: None
Change-Id: I3ba8feab4c389747780aa4d910ec9e2f9363500e
2018-01-18 15:48:48 -08:00
Ivan Lozano
17df3c1b76 Support enabling overflow sanitization by path.
Handle paths variable provided from Make about where integer overflow
sanitization should be enabled by default, and prepare to enable minimal
runtime diagnostics for integer overflow sanitizers in userdebug/eng builds.

This provides Soong support for on-by-default paths from Make for
integer overflow sanitization.

Bug: 30969751
Bug: 63927620
Test: Include paths passed from Make are being sanitized.
Test: Compilation succeeds with and without diagnostics enabled.
Test: See Make patch for further test notes.

Change-Id: I803a75646cc27ef5b4b5b74b8eb2981c39f8a6a3
2018-01-18 14:16:47 -08:00
Dan Albert
c715eda106 Update NdkMaxPrebuiltVersionInt.
We have newer NDK prebuilts now.

Test: make checkbuild
Bug: None
Change-Id: I00ba5d1638832bc0feff46599afbaa201294fdad
2018-01-18 13:25:41 -08:00
Pirama Arumuga Nainar
85a98d3fba Update profile_file discovery rules am: 64946fec54
am: 1fd9199527

Change-Id: I3064890c33dc9af07ef3bb7b9f58e346cea97971
2018-01-18 20:43:24 +00:00
Pirama Arumuga Nainar
1fd9199527 Update profile_file discovery rules
am: 64946fec54

Change-Id: I6c77cbdf699c5626512ebe26b9382fbd5f50754f
2018-01-18 20:41:21 +00:00
Pirama Arumuga Nainar
64946fec54 Update profile_file discovery rules
Bug: http://b/63768402

Profile files are searched in multiple directories in a pre-define list,
instead of just one.

PGO profile_file enforcement is also removed - profile_file dependency
and -fprofile-use are added iff the profile_file is present.

Test: Build https://android-review.googlesource.com/c/474805 with
.profdata files in vendor/google_data/pgo-profiles and
toolchain/pgo-profiles and verify expected behavior.

Change-Id: I2604713a8a7a682bd5c6bde569dc32335be5eca9
Merged-In: I2604713a8a7a682bd5c6bde569dc32335be5eca9
2018-01-18 10:26:34 -08:00
Jayant Chowdhary
84ca81d8b5 Merge "Remove the use of version scripts with header-abi-linker." am: 85935a2f9c
am: 807df5b8d1

Change-Id: I36fda713783470a6560d3832fd19f0e9db671232
2018-01-18 18:18:01 +00:00
Jayant Chowdhary
807df5b8d1 Merge "Remove the use of version scripts with header-abi-linker."
am: 85935a2f9c

Change-Id: Idda410c48a934b831f6cd331b428a1e9a20dee1c
2018-01-18 18:09:57 +00:00
Jayant Chowdhary
85935a2f9c Merge "Remove the use of version scripts with header-abi-linker." 2018-01-18 17:51:33 +00:00
Sundong Ahn
111fb11714 change vsdk_v$(ver) to system_sdk_v$(ver) am: b5b5b2667d
am: be0a67a88f

Change-Id: I59e9b27587b126c068c686fd576b9f604abe7eeb
2018-01-18 07:19:24 +00:00
Sundong Ahn
be0a67a88f change vsdk_v$(ver) to system_sdk_v$(ver)
am: b5b5b2667d

Change-Id: I6670045df779e866975cc746229675608d7beaa9
2018-01-18 07:15:12 +00:00
Jayant Chowdhary
df344d57b0 Remove the use of version scripts with header-abi-linker.
Version scripts were earlier used as a symbol map, primarily for llndk
libraries. Since they do have stub libraries which contain symbols, we
shall use them instead, to internally form symbol maps in
header-abi-linker.

Test: mm -j64 in bionic/libdl, header-abi-linker gets invoked with
      -so <so-file> rather than -v <version-script>

Change-Id: Ifb67dc34457a997f37cc9f71ca16ad068e9b44c1
2018-01-17 11:17:40 -08:00
Sundong Ahn
b5b5b2667d change vsdk_v$(ver) to system_sdk_v$(ver)
The vsdk name is change to system sdk, so vsdk_v$(ver) need to
change to system_sdk_v$(ver)

Bug: 67724799
Test: build & boot on taimen
Change-Id: I9ac508f5ed2602fbf827e0b0e4c205ab01915525
2018-01-16 09:51:03 +09:00
Stephen Hines
8d7ba61a81 Merge "Remove unnecessary DeviceUsesClang." am: 2e020842dc
am: 4bf625d7e6

Change-Id: Ia38f97fccd3eafb673e985b04b350eafa644092b
2018-01-12 18:39:56 +00:00
Stephen Hines
4bf625d7e6 Merge "Remove unnecessary DeviceUsesClang."
am: 2e020842dc

Change-Id: I092e3952f6cd3674b0013d34e981e4a0f7ab68f7
2018-01-12 18:27:04 +00:00
Stephen Hines
2e020842dc Merge "Remove unnecessary DeviceUsesClang." 2018-01-12 18:19:45 +00:00