Commit Graph

3749 Commits

Author SHA1 Message Date
Yi Kong
34684a9f3a Merge "Repack libgcc.a to only include required objects" am: 00ae8b3996 am: 57f7dd4196 am: ed4fbfb5a7
am: e6ab537c0e

Change-Id: Ie6a82118c7a8925f3265ebf0290498d091a67310
2019-10-25 01:36:07 -07:00
Jooyung Han
7289ddbeba Merge changes from topic "add-vndk-again"
* changes:
  add symlink for compatibility (vndk apex)
  Revert "Revert "Add __ANDROID_APEX_<NAME>__ for apex variants""
  Revert "Revert "Supports VNDK APEX with different versions""
2019-10-25 08:21:13 +00:00
Yi Kong
00ae8b3996 Merge "Repack libgcc.a to only include required objects" 2019-10-25 08:00:58 +00:00
Ryan Prichard
b49fe1bde7 Stop linking libdl.a into static bins
libdl.a has a no-op dlopen, which breaks static libraries that need a real
dlopen. Instead of automatically linking libdl.a into static executables,
make it optional.

Until recently, the libunwind_llvm.a unwinder, used on arm32, needed the
no-op dladdr, but it's now built using -D_LIBUNWIND_USE_DLADDR=0.

The HWASan run-time uses dlsym and dladdr, so add a libdl dependency for
HWASan-built static binaries. We could also remove the dependency from
libclang_rt.hwasan_static-*.a, but this is also easy to do.

Bug: http://b/141485154
Test: bionic unit tests, device boots, verify that static and dynamic
   executables can throw/catch an exception
Test: verify that a static executable using dlopen doesn't link (unless it
   adds an explicit dependency on libdl)

Change-Id: Ic52c3f336b671b4ed335e99c94a64dfe8614b618
2019-10-24 22:25:54 -07:00
Jooyung Han
097087be53 Soong generates libraries.txt files for vndk
These files were generated by Make. This is an effort to converting make
to soong.

These files are created under a known location: $SOONG_OUT_DIR/vndk
- llndk.libraries.txt
- vndksp.libraries.txt
- vndkcore.libraries.txt
- vndkprivate.libraries.txt
- vndkcorevariant.libraries.txt
- vndk.libraries.txt: merged all of above with tags

The last one is used by 'check-vndk-list'.
(See the topic)

Others will be packaged by VNDK APEX of current VNDK.
(This is not merged yet. After landing, a follow-up CL will be
followed.)

Bug: 141019581
Bug: 141450808
Test: m check-vndk-list
Change-Id: I9a24f6975bd4b226a94f61a13d43857dcdce6b88
2019-10-25 14:08:28 +09:00
Jiyong Park
7495504db4 Change exportedDirs and exportedSystemDirs from []string to android.Paths
exportedDirs and exportedSystemDirs are now changed to android.Paths so
that we can later manipulate the paths via Rel(), etc.

Test: m

Change-Id: I6fb02ea4983bcebac351bc284f75b44885379e8f
2019-10-25 09:52:08 +09:00
Yi Kong
c49c393f73 Repack libgcc.a to only include required objects
Previous solution by using objcopy uses a quirky behaviour of the GNU
objcopy and there is no equivalent option in llvm-objcopy.

Instead of removing symbols, extract and repack libgcc to only include
required objects.

Bug: 142585047
Test: presubmit
Change-Id: I58af74c18838f797e481da38c3265f0624fddf99
2019-10-24 16:34:54 -07:00
Jooyung Han
28ef5f29cb Merge "fix: Override vndk-ext lib name with original lib" am: ac1b07e2dc am: 11e0d21b5b am: 0e14b99c96
am: c9f3650dc8

Change-Id: I011201ace9e9a66ee0db3cf6eb00c94a8019b368
2019-10-24 16:16:31 -07:00
Dan Willemsen
3d57878f5b Merge "Add support for 10.15 SDK" am: f887ee6765 am: 7cd9c0327f am: 029b0934c9
am: 8a94d49599

Change-Id: I30158593f89ac69257fbfc2dba1f8b3dfc5da7b2
2019-10-24 16:15:01 -07:00
Treehugger Robot
ac1b07e2dc Merge "fix: Override vndk-ext lib name with original lib" 2019-10-24 22:38:00 +00:00
Dan Willemsen
89dad60ed5 Add support for 10.15 SDK
I haven't found any issues so far.

Test: try the build
Change-Id: I1e2f4095795daead6eb96280d60a122c51ba66ba
2019-10-22 17:01:15 -07:00
Jooyung Han
4c2b942e92 fix: Override vndk-ext lib name with original lib
vndk-ext should have the same output filename with the lib which it
extends. "extends" property is "module name", not "filename" of output.

Bug: 143130384
Test: add "protox" as a vndk-ext module (extends 'libprotobuf-cpp-full')
      m protox.vendor && check output filename under /vendor/lib/vndk/
      (should have correct suffix)

Change-Id: I5741ea87b4f2ad375b69f54c93dcb8753d9952dd
2019-10-22 20:01:28 +09:00
Pete Bentley
ff3e42cb53 Handle partial link of a single object with a linker script. am: ab65ba9481 am: 89c1d5ff71 am: 2f46a1c7fd
am: 4980868264

Change-Id: Iee17558dcc3349d420571d632f06ff01133b74fa
2019-10-18 11:50:54 -07:00
Jooyung Han
7798857a0d Revert "Revert "Add __ANDROID_APEX_<NAME>__ for apex variants""
This reverts commit 12f629b26d.

Bug: 142582178
Test: m (soong test added)
2019-10-19 02:28:39 +09:00
Jooyung Han
31c470b5d5 Revert "Revert "Supports VNDK APEX with different versions""
This reverts commit 48dd4b5ea4.

Bug: 141451661
Bug: 139772411
Test: m (soong tests)
Test: boot with aosp_arm64 system image on Q vendor device
2019-10-19 02:28:39 +09:00
Pete Bentley
ab65ba9481 Handle partial link of a single object with a linker script.
Fixes: 142931094
Test: m bssl with -DNO_ASM and all assembly sources commented out
Change-Id: Id56d325fbf1d4a0777944512a88f3c086e930af7
2019-10-18 12:42:18 +01:00
Mitch Phillips
eb7ef10246 Merge "Re-plumb fuzz corpora." am: 43bfaf9f65 am: 04930779ba am: 6dd469a412
am: 56ab9e509f

Change-Id: Ib92ebf9818f9724acaa49c03742ddaae51f657d8
2019-10-17 20:23:47 -07:00
Treehugger Robot
43bfaf9f65 Merge "Re-plumb fuzz corpora." 2019-10-18 02:43:26 +00:00
Jiyong Park
b5448a47ae Merge "Prohibit dependencies outside of uses_sdks" am: c5bba642f1 am: 3cf346c51c am: 77448df733
am: 09a7fa1d57

Change-Id: Ief73a2e089c9563fc9d1a737f2e62d7add5bfad5
2019-10-17 18:05:15 -07:00
Treehugger Robot
c5bba642f1 Merge "Prohibit dependencies outside of uses_sdks" 2019-10-18 00:30:18 +00:00
Mitch Phillips
8a2bc0b9fd Re-plumb fuzz corpora.
Re-plumb the fuzz corpora through an intermediates directory.
Previously, due to the way that LOCAL_TEST_DATA is implemented, we would
break when corpora were included:
 a) outside of a corpus/ directory, or
 b) not directly under the module directory (i.e. my_module/subdir/corpus)

Corpora are now written into an intermediates directory so that they
play nice with LOCAL_TEST_DATA, because unfortunately the key-value pair
required there is not as simple as source:destination.

Test: m example_fuzzer && ls \
$ANDROID_PRODUCT_OUT/data/fuzz/arm64/example_fuzzer/corpus
Bug: N/A

Change-Id: I5888b06ed349781c6712f1ae77cc3582283a9552
2019-10-17 16:11:00 -07:00
Treehugger Robot
81a4016f61 Merge "Add android.hardware.neuralnetworks@1.3" 2019-10-17 22:47:15 +00:00
Isaac Chen
6b17816a0b Merge "Extend ALLOW_MISSING_DEPENDENCIES coverage" am: 7617fc2fab am: 0166208e24 am: f7a8071ae9
am: 5bb415cec6

Change-Id: I17cf925bc04a6ac3206e6c5f47a0f53af10ad7b1
2019-10-17 14:02:06 -07:00
Colin Cross
65e9ef1b30 Merge "Add method to determine variations from a Target" am: ad4a597c79 am: ee8633937f am: 1522e768f2
am: 34c20d0904

Change-Id: Ib97b2f01871467baa83f18d99790794d376bdc37
2019-10-17 13:48:00 -07:00
Isaac Chen
f7a8071ae9 Merge "Extend ALLOW_MISSING_DEPENDENCIES coverage" am: 7617fc2fab
am: 0166208e24

Change-Id: Ie3fe99d5439e266ec6ecf5c6f47820e3c04916b6
2019-10-17 13:37:35 -07:00
Colin Cross
1522e768f2 Merge "Add method to determine variations from a Target" am: ad4a597c79
am: ee8633937f

Change-Id: Ia6af532856cd5605fae2372c98b23c2e4aa9504f
2019-10-17 13:26:44 -07:00
Treehugger Robot
7617fc2fab Merge "Extend ALLOW_MISSING_DEPENDENCIES coverage" 2019-10-17 19:46:53 +00:00
Colin Cross
ad4a597c79 Merge "Add method to determine variations from a Target" 2019-10-17 18:52:20 +00:00
Jooyung Han
d5520cf595 Merge "Revert "Supports VNDK APEX with different versions"" am: a8f91ec00d am: 5d57bc60c8 am: b26f85099c
am: 2bb8758050

Change-Id: If825e225b237a3f99bf4938e37ec9fbd46a7c50e
2019-10-17 05:37:07 -07:00
Jooyung Han
f0355763af Merge "Revert "Add __ANDROID_APEX_<NAME>__ for apex variants"" am: 50dce7372b am: 14f54d642d am: 479a43aabc
am: 5bad6d9a95

Change-Id: I1eaa41a74636a2de811dce0af385abf8cc374808
2019-10-17 05:37:02 -07:00
Jooyung Han
b26f85099c Merge "Revert "Supports VNDK APEX with different versions"" am: a8f91ec00d
am: 5d57bc60c8

Change-Id: Icaeaf834d5ee47c32d2c0b5ecfd6a75ce7c7f1ce
2019-10-17 05:19:08 -07:00
Jooyung Han
479a43aabc Merge "Revert "Add __ANDROID_APEX_<NAME>__ for apex variants"" am: 50dce7372b
am: 14f54d642d

Change-Id: I6a8fbacd52cb54bb484eeb60895bdfa509899c29
2019-10-17 05:19:04 -07:00
Treehugger Robot
a8f91ec00d Merge "Revert "Supports VNDK APEX with different versions"" 2019-10-17 11:50:47 +00:00
Treehugger Robot
50dce7372b Merge "Revert "Add __ANDROID_APEX_<NAME>__ for apex variants"" 2019-10-17 11:50:47 +00:00
Isaac Chen
2c0a180be0 Extend ALLOW_MISSING_DEPENDENCIES coverage
Make build system respect ALLOW_MISSING_DEPENDENCIES, when building
architecture B products, and ignore targets with dependencies that
are not available for architecture B.

Bug: 142701187
Test: # Add a dummy Android.bp with a module only for arm64
      $ m -j TARGET_PRODUCT=aosp_x86 TARGET_BUILD_VARIANT=userdebug

Change-Id: I64de33674732df8c286671c806a07bcd19862b80
2019-10-17 11:02:21 +08:00
Jiyong Park
a7bc8ad0b9 Prohibit dependencies outside of uses_sdks
When an APEX is built with uses_sdks, any depedndency from the APEX to
the outside of the APEX should be from the SDKs that the APEX is built
against.

Bug: 138182343
Test: m

Change-Id: I1c2ffe8d28ccf648d928ea59652c2d0070bf10eb
2019-10-17 11:19:53 +09:00
Jooyung Han
12f629b26d Revert "Add __ANDROID_APEX_<NAME>__ for apex variants"
This reverts commit d29e551efd.

Reason for revert: some targets are broken

Bug: 142773030
Change-Id: I50ac6842ab8aa572c11262ee0ec965ddbe903b0e
2019-10-16 23:51:09 +00:00
Jooyung Han
48dd4b5ea4 Revert "Supports VNDK APEX with different versions"
This reverts commit 394951da73.

Reason for revert: some targets are broken

Bug: 142773030
Change-Id: I4ce2e4a4c683c71958bc4f73e45a5ddd4a4ae32a
2019-10-16 23:50:39 +00:00
Colin Cross
0f7d2ef3ac Add method to determine variations from a Target
The arch variants are hardcoded in every module type.  Refactor
them out into a Target.Variations() method in preparation for
splitting the arch mutator into two, which will require using
different variations.

Test: m checkbuild
Change-Id: I28ef7cd5168095ac888fe77f04e27f9ad81978c0
2019-10-16 14:52:30 -07:00
Mitch Phillips
1415cf04bc Merge "Fuzz corpus entries should not go in a subdirectory." am: 959a3ffbda am: ed4ed3b6b9 am: b1af2af1e7
am: 8354c9284c

Change-Id: I7d20d3809dcd59a08ad39fa50feb896265952b0b
2019-10-16 14:45:08 -07:00
Mitch Phillips
b1af2af1e7 Merge "Fuzz corpus entries should not go in a subdirectory." am: 959a3ffbda
am: ed4ed3b6b9

Change-Id: I082d286a54a5e68677206fd28e2a1c6429b11fd2
2019-10-16 14:32:57 -07:00
Treehugger Robot
959a3ffbda Merge "Fuzz corpus entries should not go in a subdirectory." 2019-10-16 21:09:59 +00:00
Mitch Phillips
6f1fe14189 Merge "Do not link libc++.so statically on device." am: 98eccba8b4 am: b4f9d86666 am: 2349e33b32
am: 99fe26b36a

Change-Id: I750ad4c2568dbc048c979670364e1a0a454f434f
2019-10-16 14:02:34 -07:00
Mitch Phillips
4a912b7a70 Merge "Workaround unexported sancov symbols. Fix multiple sanitizer RT deps." am: 83246459d1 am: 708b9e6c38 am: 7fbb4838ac
am: 2ed5eed480

Change-Id: I1cfd1c2e67f0e6a44c95ffe5f400341081420372
2019-10-16 14:02:14 -07:00
Mitch Phillips
2349e33b32 Merge "Do not link libc++.so statically on device." am: 98eccba8b4
am: b4f9d86666

Change-Id: I91577bdad7e9f6ad73002d3e3bad2a5f784a8a7c
2019-10-16 13:50:22 -07:00
Mitch Phillips
7fbb4838ac Merge "Workaround unexported sancov symbols. Fix multiple sanitizer RT deps." am: 83246459d1
am: 708b9e6c38

Change-Id: I08c7279a4e836c19fe9610d16fc44efdd0a14b73
2019-10-16 13:50:03 -07:00
Treehugger Robot
98eccba8b4 Merge "Do not link libc++.so statically on device." 2019-10-16 20:28:54 +00:00
Treehugger Robot
83246459d1 Merge "Workaround unexported sancov symbols. Fix multiple sanitizer RT deps." 2019-10-16 20:28:38 +00:00
Elliott Hughes
05b710acd3 Merge "Revert "-D__ANDROID_NDK__ for SDK builds."" am: 60ee98582c am: 3fb7864cf1 am: 32ebd00639
am: 17c8bd6f56

Change-Id: I7dfae49ab59a7e6345e6626ce5301168ec91c26a
2019-10-16 09:33:42 -07:00
Elliott Hughes
32ebd00639 Merge "Revert "-D__ANDROID_NDK__ for SDK builds."" am: 60ee98582c
am: 3fb7864cf1

Change-Id: I58bfea1b04c5a3b06091e84118b10634e7c87356
2019-10-16 09:21:22 -07:00