Commit Graph

3028 Commits

Author SHA1 Message Date
Jiyong Park
d1e9c0c7e1 Merge "Use ctx.Target().NativeBridge to detect if the arch is translated or not" am: f378a85523 am: 6374a89990 am: 9435f3233f
am: 394c644aaf

Change-Id: Iacd3f4a7411d849a602f8df2498c6f6512e44a4d
2019-07-10 19:02:06 -07:00
Jiyong Park
6374a89990 Merge "Use ctx.Target().NativeBridge to detect if the arch is translated or not"
am: f378a85523

Change-Id: I1d2fb8391f9339e0f27dce606b67ca0c192c8e5e
2019-07-10 18:24:05 -07:00
Jiyong Park
acbf6c76c6 Use ctx.Target().NativeBridge to detect if the arch is translated or not
Bug: 137015854
Test: m
Test: build cf_x86_phone and ensure there is no dangling symlink
/system/lib/arm/libm.so

Change-Id: I0f5efdb9e1f5e4e213ca4ebaa28ace0a130b36a6
2019-07-10 18:07:38 +09:00
Pirama Arumuga Nainar
61a50216ed Merge changes from topic "gcov-prefix-permissions-fix" am: bc53fefd6a am: ce09846256 am: 1546dd9b98
am: 26d490a87e

Change-Id: Ibad2631848e0dbdad84dd9912549c3a5efc92cd5
2019-07-09 09:29:31 -07:00
Pirama Arumuga Nainar
27edbc6aac Refactor libprofile-extras to be added as a whole static library am: 82fe59b656 am: e3493d33a7 am: 83adce3545
am: cc39665a74

Change-Id: I3635d6e433d27fc2cbd998996509e5ab23547ad2
2019-07-09 09:29:25 -07:00
Pirama Arumuga Nainar
ce09846256 Merge changes from topic "gcov-prefix-permissions-fix"
am: bc53fefd6a

Change-Id: I9c4a91abd6e114abedbfb6e0916678cab2da2d6c
2019-07-09 08:57:21 -07:00
Pirama Arumuga Nainar
e3493d33a7 Refactor libprofile-extras to be added as a whole static library
am: 82fe59b656

Change-Id: Idfa4b3fdbf4f7ffa461652464c557aa5dc44e523
2019-07-09 08:57:15 -07:00
Pirama Arumuga Nainar
bc53fefd6a Merge changes from topic "gcov-prefix-permissions-fix"
* changes:
  Wrap getenv when linking a coverage-enabled binary
  Refactor libprofile-extras to be added as a whole static library
2019-07-09 15:32:48 +00:00
Inseob Kim
60bd97af3c Merge "[trivial] Remove dead code" am: fccc52f46b am: f23a2bfa6f am: 3997da917a
am: 5421eb4e03

Change-Id: Id80fce4cb3f0e71210f34f877667c58dc216a738
2019-07-08 18:39:42 -07:00
Inseob Kim
f23a2bfa6f Merge "[trivial] Remove dead code"
am: fccc52f46b

Change-Id: Ieac00d1f29b5077836e68748f2e2e41df17315ec
2019-07-08 17:27:49 -07:00
Inseob Kim
0ce291ebee [trivial] Remove dead code
Bug: N/A
Test: m
Change-Id: Ia278008249f5fc1cf5fd7d29e55e2e54f1d6f3ca
2019-07-04 14:39:22 +09:00
Pirama Arumuga Nainar
100bbdc8f3 Wrap getenv when linking a coverage-enabled binary
The wrapper to getenv() appends the effective userid (euid) of the
current process to GCOV_PREFIX.  This avoids conflicts and permissions
issues when multiple processes try to create/access the same directories
and files under /data/misc/trace.

Test: Verify that coverage files are written to
/data/misc/trace/<euid>/proc/... instead of /data/misc/trace/proc/...

Change-Id: If58081a12b2b9bc40cfcbf64c99beafe198d07af
2019-07-03 15:28:54 -07:00
Pirama Arumuga Nainar
82fe59b656 Refactor libprofile-extras to be added as a whole static library
Bug: http://b/134177005
Bug: http://b/116873221

Previously, the libprofile-extras dependency was added as a
LateStaticLib and the constructor in this library was included during
linking with the '-uinit_profile_extras' linker flag.  This was done
because at the deps() stage, the exact binaries that need coverage are
not known (in fact the coverage-enabled variants are not created yet).

This meant that for a link command, if one of the shared libraries
already exported the constructor, the output of the link command did not
load/link libprofile-extras.

For other reasons, we now want to add more symbols to this library that
need to be linked into all libraries and executables.  To accomplish
that, refactor the dependency handling so libprofile-extras can be added
as a 'WholeStaticLib'.

This is done by creating a new dependency type (with a coverageDepTag
dependency tag) to add libprofile-extras as a dependency for all modules
that can potentially link with coverage.  During the flags() call, this
dependency is moved as a WholeStaticLib dependency iff coverage is
enabled in this link step.

There are a few NFC changes as well:
- deps() takes a DepsContext parameter.
- flags() has an extra PathDeps parameter and return value.
- add useSdk() helper to cc.Module.

Test: Build with coverage and check that we can generate coverage using
SIGUSR1 and the debug.coverage.flush sysprop.

Change-Id: I7e7d8201956a150febbda5bb1794f8ece016db8b
2019-07-03 15:28:50 -07:00
jaishank
74a4d4f94a Merge "Disabled avx avx2 avx512 compiler flags by default. Library components can enable the flags based on performance impact" am: dd5cf7574b am: 1b4699a2cf am: 3cb1f6a532
am: 30bfb20cdd

Change-Id: I5d6f321b49f3d53d03388fd28bce69a68412f2ff
2019-06-28 15:06:31 -07:00
Colin Cross
ce3c37450f Merge "Treat .cxx files as c++" am: 35bb770e0e am: 6598f20be5 am: d3c8c1ed26
am: 0635369d36

Change-Id: Ia95d5203642716812d6e13053c8a0598275ace65
2019-06-28 15:01:59 -07:00
jaishank
3cb1f6a532 Merge "Disabled avx avx2 avx512 compiler flags by default. Library components can enable the flags based on performance impact" am: dd5cf7574b
am: 1b4699a2cf

Change-Id: I553cab57535513558e3d976e0d3e5c6a4532a02b
2019-06-28 14:28:05 -07:00
Colin Cross
d3c8c1ed26 Merge "Treat .cxx files as c++" am: 35bb770e0e
am: 6598f20be5

Change-Id: Ib62c7134007c7e7ed9d838a377261c9b3d169213
2019-06-28 14:27:47 -07:00
Treehugger Robot
dd5cf7574b Merge "Disabled avx avx2 avx512 compiler flags by default. Library components can enable the flags based on performance impact" 2019-06-28 21:14:33 +00:00
Colin Cross
d34ab7c6b2 Treat .cxx files as c++
Fixes: 135749365
Fixes: 135667566
Test: m checkbuild
Change-Id: If47274812dfe781ebbb9f8a60a395650573727d5
2019-06-27 14:46:10 -07:00
Hsin-Yi Chen
d9f8586395 Merge "Generate ABI dumps for libraries without source" am: 30057808e1 am: 1ee24e40dd am: 01cc4601fb
am: 215e186029

Change-Id: I98b006d9bcdb0a2da4a104810f4626b5593f4636
2019-06-27 12:31:27 -07:00
jaishank
7e84969f96 Disabled avx avx2 avx512 compiler flags by default.
Library components can enable the flags based on
performance impact

Test: run-test gtest
Change-Id: I41c4464cffd2b0e830d4ab1c5a25b378e2a25129
Signed-off-by: jaishank <jaishankar.rajendran@intel.com>
2019-06-27 10:36:23 +05:30
Hsin-Yi Chen
01cc4601fb Merge "Generate ABI dumps for libraries without source" am: 30057808e1
am: 1ee24e40dd

Change-Id: I8fc879a871e43f276b9e9fa4d6ce25be38063dd6
2019-06-26 19:42:08 -07:00
Hsin-Yi Chen
30057808e1 Merge "Generate ABI dumps for libraries without source" 2019-06-27 02:08:34 +00:00
Dan Willemsen
ed08ba5e79 Merge "Use prebuilt m4 for bison too" am: 02f6880c27 am: 257400347a am: 079e8ac9bf
am: 8e4f64162c

Change-Id: I31a003bc7d1090e539d2da4b64c2010208874cb1
2019-06-25 22:38:25 -07:00
Dan Willemsen
079e8ac9bf Merge "Use prebuilt m4 for bison too" am: 02f6880c27
am: 257400347a

Change-Id: I3ddd5f905685fbf6b1a102bb800e854c0a304291
2019-06-25 22:20:02 -07:00
Dan Willemsen
c4a6aa83e8 Use prebuilt m4 for bison too
Bison is currently looking for m4 directly in `/usr/bin/m4`, instead of
through $PATH, so it hadn't been tracked via the $PATH interposer
checks. But if you don't install m4 at all, it starts failing.

Bug: 117561006
Bug: 130111713
Test: Run on a machine without m4, build passes
Change-Id: I3fbad64127c183de79c17511e979fd5df946eb80
2019-06-25 16:12:12 -07:00
Hsin-Yi Chen
f6a95467e2 Generate ABI dumps for libraries without source
This commit enables ABI diff for libraries without source.
Stub libraries are excluded.

Test: ./create_reference_dumps.py -products aosp_arm64
Test: make
Bug: 135728451
Change-Id: Idbe276db6f5e057175fc098f0226cb38996faa17
2019-06-25 15:06:13 +08:00
Colin Cross
632f36975e Merge changes Ia77090da,I95a57f76 am: e264f22bec am: 0240f5cea1 am: e0318dec1b
am: 3bb92a2038

Change-Id: I44c575fc2883507624f520bb1f45b2c7110a99f9
2019-06-21 11:10:39 -07:00
Colin Cross
e0318dec1b Merge changes Ia77090da,I95a57f76 am: e264f22bec
am: 0240f5cea1

Change-Id: I61e3e45e533cb62c548fcd09b2bf5eb3890e0a38
2019-06-21 10:51:45 -07:00
Colin Cross
e264f22bec Merge changes Ia77090da,I95a57f76
* changes:
  Fix data races in finder_test.go
  Optimize sanitizerRuntimeDepsMutator
2019-06-21 17:01:23 +00:00
Mitch Phillips
b822fa236e Merge "Remove experimental pass manager for fuzzer builds." am: c4be0815d8 am: 07c9775cef am: a87c8005b4
am: eb1a59d79d

Change-Id: I78143054ba6f2eb9476cda3e2871e851f9cfcafe
2019-06-20 18:44:38 -07:00
Mitch Phillips
a87c8005b4 Merge "Remove experimental pass manager for fuzzer builds." am: c4be0815d8
am: 07c9775cef

Change-Id: I333316ff6041b6139b86bed5469885b42b6be96d
2019-06-20 18:17:19 -07:00
Treehugger Robot
c4be0815d8 Merge "Remove experimental pass manager for fuzzer builds." 2019-06-21 00:51:26 +00:00
Dan Willemsen
14bdcb833e Merge "Use prebuilt m4 instead of system m4" am: d9cf7fc48e am: 809fb63cc1 am: 9178a6ccb7
am: a7fd6c46f3

Change-Id: I2561f368960b5e20e545429239210f9bcb289507
2019-06-20 17:30:52 -07:00
Dan Willemsen
9178a6ccb7 Merge "Use prebuilt m4 instead of system m4" am: d9cf7fc48e
am: 809fb63cc1

Change-Id: Icfc74137bafb6333538553d9bde9dc6f8e57a42d
2019-06-20 16:18:02 -07:00
Colin Cross
0b90833ea8 Optimize sanitizerRuntimeDepsMutator
sanitizerRuntimeDepsMutator only modifies the currently visited
module, it can visit modules in parallel.

Also, stop recursing into modules that are not static dependencies,
and stop recursing if the module already has all modifications that
the mutator could make.

Test: m checkbuild
Change-Id: I95a57f763a91940f1854ba3c587a2f70e8baba97
2019-06-20 15:23:41 -07:00
Dan Willemsen
c69d715d72 Use prebuilt m4 instead of system m4
Bug: 117561006
Test: treehugger
Change-Id: I588d867d95cc52963ce764018a9c09b26973c8c3
2019-06-19 12:50:32 -07:00
Nick Desaulniers
ec5da13293 Merge "Switch to clang-r353983d" am: 2deb017c04 am: f1b45a21a4 am: 8414bef84d
am: 2150ad1a26

Change-Id: I09a91d12386c4cc0989bce561b71553856bc3c37
2019-06-17 11:16:11 -07:00
Nick Desaulniers
8414bef84d Merge "Switch to clang-r353983d" am: 2deb017c04
am: f1b45a21a4

Change-Id: If3444510dbf9767c5c825a5414f0046f5c272449
2019-06-17 10:40:40 -07:00
Mitch Phillips
74384758a6 Remove experimental pass manager for fuzzer builds.
Sanitizer coverage is currently broken with the experimental pass
manager. See b/133876586 for more information. The patch is currently
being worked on upstream (https://reviews.llvm.org/D62888), but is not
ready yet. Hence, we disable it here (similar to the LTO bug).

Bug: 133876586
Test: Build anything with SANITIZE_TARGET='fuzzer', verify that it has
'sancov' symbols.

Change-Id: I4302a8cf05300015aaff137f40b61d5685dc3fea
2019-06-17 10:33:52 -07:00
Nick Desaulniers
2deb017c04 Merge "Switch to clang-r353983d" 2019-06-17 16:25:51 +00:00
Inseob Kim
9ba8cf25e8 Merge "sysprop_library: Rename system scope to public" am: b1856799b1 am: 653ac78cbc am: bd4435b2e0
am: 6e07c2efa3

Change-Id: I9392737896f69b5d6cdd232eb48786a341120e76
2019-06-15 23:37:52 -07:00
Inseob Kim
bd4435b2e0 Merge "sysprop_library: Rename system scope to public" am: b1856799b1
am: 653ac78cbc

Change-Id: I0938fb362e86739b9c7d870bcb514118dd8b23ea
2019-06-15 23:22:47 -07:00
Treehugger Robot
b1856799b1 Merge "sysprop_library: Rename system scope to public" 2019-06-16 06:08:14 +00:00
Evgenii Stepanov
e42ee9bd6e Disable new LLVM pass manager for HWASan. am: 1c69e83030 am: b85d386af5 am: d7344ad0ca
am: 4c16f6d176

Change-Id: I554e0a7b41d34e4c7155321b735d55ca644f098e
2019-06-15 14:27:05 -07:00
Evgenii Stepanov
d7344ad0ca Disable new LLVM pass manager for HWASan. am: 1c69e83030
am: b85d386af5

Change-Id: I443bdbf313216591841272cbe51491fd6bd51fbd
2019-06-15 14:13:04 -07:00
Evgenii Stepanov
1c69e83030 Disable new LLVM pass manager for HWASan.
Current Android toolchain does not support hwasan with new pm.

Bug: 135298400
Test: manual, inspect the binaries for calls to __hwasan_init
Change-Id: I126c59e6ecabc3a1699e1bf34c546568b6e8a21f
2019-06-14 18:39:59 -07:00
Nick Desaulniers
36a39c9852 Switch to clang-r353983d
Test: build+boot sargo, TreeHugger
Bug: 131714073
Change-Id: Ieec2500027a78b80147f86b2bdaeaedaa1c18360
2019-06-14 16:31:34 -07:00
Dan Shi
21d760b59d Merge "Support require_root in auto-gen test configs" am: 9314e1124b am: c22778c363 am: a2e7deb129
am: b6ee641c07

Change-Id: I0de09921867a1b20b780a30d5c7d973302ff55b5
2019-06-14 16:04:43 -07:00
Dan Shi
a2e7deb129 Merge "Support require_root in auto-gen test configs" am: 9314e1124b
am: c22778c363

Change-Id: Ie9c3248937ccce23a55a99d29e65a2e88aabd4d2
2019-06-14 15:45:20 -07:00