Commit graph

6797 commits

Author SHA1 Message Date
Pirama Arumuga Nainar
fb7f985c84 Use a versioned profile file if available
Bug: http://b/74395273

Update profile-search logic to look for profile files named
<profile_file>.<arbitrary-version> in the profileProject and use that if
available.  This works around an issue where ccache serves stale cache
entries when the profile file has changed.

Test: touch toolchain/pgo-profiles/art/dex2oat.profdata.foo and check it
gets used.

Change-Id: I3de095c263b952cede25af7d0b63dc7280914d76
Merged-In: I3de095c263b952cede25af7d0b63dc7280914d76
(cherry picked from commit 8aed42c798)
2018-03-09 13:18:28 -08:00
Stephen Hines
c5a4f3be45 Switch back to clang-4639204.
Bug: http://b/68397894
Test: build/run sailfish.
Change-Id: I4ca7336cacf78d64b5e91d5bd93dedce9b13d91b
2018-03-08 13:36:22 -08:00
TreeHugger Robot
d34ca7f986 Merge "No abi diffing for vndk libraries which are not vendor available." into pi-dev 2018-03-07 21:23:10 +00:00
Jayant Chowdhary
bb0a8bd5ee No abi diffing for vndk libraries which are not vendor available.
Vendor binaries cannot directly link with vndk libraries which are not vendor
available. We don't need them to be abi stable.

Bug: 66301104

Test: cd external/cblas; touch src/cblas_cher.c; mm -j64 does not
      produce an lsdump for libblas, since it isn't vendor available,
      even though it is vndk_enabled: true.

Change-Id: Ib2e1eaa06c4dc2e05623bd7b9aa3a83010f76bd1
Merged-In: Ib2e1eaa06c4dc2e05623bd7b9aa3a83010f76bd1
(cherry picked from commit 22963cda0e)
2018-03-07 11:12:41 -08:00
Pirama Arumuga Nainar
28f56ee5d6 Switch to clang-4630689
Bug: http://b/73127367
Bug: http://b/68659946

These new prebuilts have fixes for the bugs mentioned above.

Test: Build and verify that issues in both bugs above are fixed.
Change-Id: I410a43b70920d509118f8e6fdb012ef6b078d657
Merged-In: I410a43b70920d509118f8e6fdb012ef6b078d657
(cherry picked from commit 4a825ee14a)
2018-03-06 16:45:36 +00:00
Colin Cross
d2fc244b06 Merge changes I6f7d40b7,I25654032 am: 83a495830b am: dfcdeec8b2
am: 4335ca3cd6

Change-Id: I9a9e3adfb61a27fc387f90bf56571ec5dbdf512d
2018-03-03 03:52:06 +00:00
Colin Cross
4335ca3cd6 Merge changes I6f7d40b7,I25654032 am: 83a495830b
am: dfcdeec8b2

Change-Id: Ida245504ae6e7074e800ce809fae12e1d6957ee3
2018-03-03 03:48:25 +00:00
Colin Cross
dfcdeec8b2 Merge changes I6f7d40b7,I25654032
am: 83a495830b

Change-Id: Ie7c908f45fcd7e9d8858e77035700d67cee009fe
2018-03-03 03:38:04 +00:00
Treehugger Robot
83a495830b Merge changes I6f7d40b7,I25654032
* changes:
  add a library to report build numbers without causing rebuilds
  Rewrite symbol_inject to be testable
2018-03-03 03:16:48 +00:00
Jayant Chowdhary
4c26b78183 Disable abi diffs for sanitized variants of modules. am: ea0a2e1928 am: 1ce7bf12b7
am: 2c3225a1ac

Change-Id: I157a6665d1799792472dcf184e125c256ab1fc5a
2018-03-03 03:03:24 +00:00
Jayant Chowdhary
2c3225a1ac Disable abi diffs for sanitized variants of modules. am: ea0a2e1928
am: 1ce7bf12b7

Change-Id: I8f1bb1d97dca7dce25c3fa39a1ba97ff2c86015b
2018-03-03 02:55:28 +00:00
Jayant Chowdhary
1ce7bf12b7 Disable abi diffs for sanitized variants of modules.
am: ea0a2e1928

Change-Id: I790236678fea78c379ab1d7c32e8a5ae2cd0446b
2018-03-03 02:48:21 +00:00
Colin Cross
86803cfe6e add a library to report build numbers without causing rebuilds
Allow native modules to specify use_version_lib, which will make
an android::build::GetBuildNumber() function available.  For host
builds, the function will return the build number at the time that
the module was linked.  For device modules it will return the
value of the ro.build.version.incremental property.

Bug: 71719137
Test: build_version_test
Test: m build_version_test && touch build/make/core/Makefile build/soong/cc/libbuildversion/tests/build_version_test.cpp && m build_version_test shows different build numbers for binary and library tests.
Change-Id: I6f7d40b7574bb8206866c4e39bad9c710c796e32
2018-03-02 16:55:51 -08:00
Colin Cross
8673b5b959 Rewrite symbol_inject to be testable
Parse the machine-specific symbol tables into a custom symbol table
object and use a single function to find the offset and size of the
symbol in the custom table.  Make the functions to convert a
machine-specific symbol table into the custom table also take mocks,
and provide functions to dump mocks from real files.  Add tests
that take the mocks and verify they produce the right offset and
size.

Test: cmd/symbol_inject/*_test.go
Change-Id: I25654032b5017dd13a9a1fe29f8b8826ce5bc82b
2018-03-02 16:47:13 -08:00
Jayant Chowdhary
ea0a2e1928 Disable abi diffs for sanitized variants of modules.
asan variants can sometimes have extra exported symbols (this is a vndk
extension violation). Since asan variants are only used for testing,
don't do abi diffs for them.

Bug: 66301104

Test: Without the change, libc++.so.lsdump exists for the asan variant;
      with the change, it does not.

Test: make -j64.

Change-Id: I61a4c7a3e9aa0028a54ad0ca8715e8c77aebad94
2018-03-02 22:13:15 +00:00
Jayant Chowdhary
8b9897b143 Create a make variable for all lsdump files. am: dcd33b6c29 am: eccf4774b1
am: 3f6efacf22

Change-Id: I9ce27eeeb7748a8ac289bebbbd8f5fca3e41c771
2018-03-02 02:01:35 +00:00
Jayant Chowdhary
aa05ae5521 For abi diffing, factor in arch variant and primary arch. am: ac066c6b90 am: 1bb2bac825
am: 4486c87ccb

Change-Id: I706b4d853a8220788e9acd39cb11f37be95e9754
2018-03-02 02:01:27 +00:00
Jayant Chowdhary
3f6efacf22 Create a make variable for all lsdump files. am: dcd33b6c29
am: eccf4774b1

Change-Id: I656f89e51ba05322e0f5603e500cc41e3cb6e75e
2018-03-02 01:55:07 +00:00
Jayant Chowdhary
4486c87ccb For abi diffing, factor in arch variant and primary arch. am: ac066c6b90
am: 1bb2bac825

Change-Id: Iaa18d9e58082ab2b78d4dadd4c73c5762f65a7b2
2018-03-02 01:54:57 +00:00
Jayant Chowdhary
eccf4774b1 Create a make variable for all lsdump files.
am: dcd33b6c29

Change-Id: Id08bc4331950a9198705f7fcbcb171e731e89965
2018-03-02 01:50:09 +00:00
Jayant Chowdhary
1bb2bac825 For abi diffing, factor in arch variant and primary arch.
am: ac066c6b90

Change-Id: Ifb7df61cee156e4578bf8af90b7d9263335c4448
2018-03-02 01:50:05 +00:00
Jayant Chowdhary
dcd33b6c29 Create a make variable for all lsdump files.
This is needed so that we can embed the paths of lsdump files in a file,
in order to make lookup faster, while creating reference dumps.

Test: mm -j64 in external/libjpeg-turbo for aosp_arm64_ab;
      out/soong/make_vars-aosp_arm64_ab.mk contains
      SOONG_LSDUMP_PATHS := <list of lsdump paths>

Change-Id: I04608429e1add307cc1ee79d2f0c348fb041613c
2018-03-01 17:19:25 -08:00
Jayant Chowdhary
ac066c6b90 For abi diffing, factor in arch variant and primary arch.
binder_size_t has a different size for builds with different primary
arches.

Also maintain seperate reference dumps for different arch variants,
since different cflags may be legally specified for them (similar to
what GSI does)

Test: create reference dump for libjpeg at
      prebuilts/abi-dumps/vndk/current/arm64/arm64_armv8-a/source-based/libjpeg.so.lsdump.gz
      mm -j64; header-abi-diff gets invoked.

Change-Id: I55eae4d4811c9754fe8dbd1009c7929fea119eeb
2018-03-01 17:19:25 -08:00
Dan Willemsen
f66010de07 Turn GlobFiles into a Glob for files, use it am: 540a78c1ce am: f49ff89266
am: a7070c158c

Change-Id: I06f6cc4481f826de7f7923630c2de344c84603a6
2018-03-02 00:29:39 +00:00
Dan Willemsen
a7070c158c Turn GlobFiles into a Glob for files, use it am: 540a78c1ce
am: f49ff89266

Change-Id: I291699269cdf463bd6ccbf0ed6cdda67cfb3a298
2018-03-02 00:24:07 +00:00
Dan Willemsen
f49ff89266 Turn GlobFiles into a Glob for files, use it
am: 540a78c1ce

Change-Id: Ia5811eb2fe2db20d4ab8e554341b875392cc345a
2018-03-02 00:18:04 +00:00
Dan Willemsen
540a78c1ce Turn GlobFiles into a Glob for files, use it
GlobFiles had allowed results to be anywhere in the source tree,
restrict it to results within the current module directory.

Then use it for ExpandSources and other places where we only want files.
This fixes using '*' in cc_test's `data` property, which can only
support files.

The only thing this changes today is that java_resource_dirs and
java_resources no longer pass directories to soong_zip's -f argument.
core-libart previously added some icu directories, now it only passes
files.

Bug: 71906438
Test: only expected changes in out/soong/build.ninja
Test: add data: ["**/*"] to a cc_test, build successfully
Change-Id: Iff1bd8c005a48e431c740706d7e23f4f957d8b1d
2018-03-01 14:05:20 -08:00
Dan Willemsen
003e0f3d2a Merge "Add droiddoc_template" am: f6366cc0a1 am: 1ba2989d4f
am: 6f535b5476

Change-Id: I83324c0727741921d549b4435916b98087b07a83
2018-03-01 18:16:27 +00:00
Dan Willemsen
6f535b5476 Merge "Add droiddoc_template" am: f6366cc0a1
am: 1ba2989d4f

Change-Id: Id872ecbf0e3ad835b89a171000938789aaf0a3c0
2018-03-01 18:10:16 +00:00
Dan Willemsen
1ba2989d4f Merge "Add droiddoc_template"
am: f6366cc0a1

Change-Id: I0b977eea1f67813615ca3eadb02bb4456f0abf3e
2018-03-01 18:04:47 +00:00
Dan Willemsen
f6366cc0a1 Merge "Add droiddoc_template" 2018-03-01 17:53:25 +00:00
Jeff Gaston
4035d9e3f3 Merge "Remove unused property" am: 491ace3c0a am: 3181870d1f
am: 577287d084

Change-Id: I8642a88ce510c238a79c987a3f23a9dafe2f13d4
2018-03-01 16:40:47 +00:00
Jeff Gaston
577287d084 Merge "Remove unused property" am: 491ace3c0a
am: 3181870d1f

Change-Id: I80c062106d0ab7cc233ded84cc084e5999b1f739
2018-03-01 16:35:14 +00:00
Jeff Gaston
3181870d1f Merge "Remove unused property"
am: 491ace3c0a

Change-Id: Iea675b40d041034f2fd9f90642cf43b21bc0f2e1
2018-03-01 16:27:40 +00:00
Jeff Gaston
491ace3c0a Merge "Remove unused property" 2018-03-01 16:14:03 +00:00
Colin Cross
90c6ce37aa Merge "Fix finding next symbol when multiple symbols have the same address" am: 8d43b7cf81 am: fd316aa69c
am: 1e2e55182c

Change-Id: I8389f5e0dca989b738be67604c7b3ea08b9d7fc2
2018-03-01 06:08:42 +00:00
Colin Cross
1e2e55182c Merge "Fix finding next symbol when multiple symbols have the same address" am: 8d43b7cf81
am: fd316aa69c

Change-Id: I017036c19ae53d12575b0951ed54dc97c7c0d891
2018-03-01 05:52:52 +00:00
Colin Cross
fd316aa69c Merge "Fix finding next symbol when multiple symbols have the same address"
am: 8d43b7cf81

Change-Id: I188c96f3bd6fab327e961b06817813ee4e02bd4f
2018-03-01 05:43:13 +00:00
Treehugger Robot
8d43b7cf81 Merge "Fix finding next symbol when multiple symbols have the same address" 2018-03-01 05:15:42 +00:00
Nan Zhang
429b71ea11 Change name of droiddoc target output to *-stubs.srcjar am: 3bb14200e2 am: b1e6641a77
am: 7f5686aee1

Change-Id: I81aa0f094cad9f7c00fa7dcbc77c758fccd2d4c4
2018-03-01 02:30:12 +00:00
Nan Zhang
7f5686aee1 Change name of droiddoc target output to *-stubs.srcjar am: 3bb14200e2
am: b1e6641a77

Change-Id: I43a8440c4ed4404097d9e2f2e947b03c8f1cc9e9
2018-03-01 02:25:37 +00:00
Nan Zhang
b1e6641a77 Change name of droiddoc target output to *-stubs.srcjar
am: 3bb14200e2

Change-Id: I68ffb9ca9c86da503f8ba4911d405438a6e895f8
2018-03-01 02:20:27 +00:00
Dan Willemsen
cc09097359 Add droiddoc_template
We prefer not to use absolute paths in modules, but to reference modules
that have associated paths. This a few benefits:

* it's easier to move a module than to update all the references
* if the module doesn't exist, we treat it as a normal missing
dependency, not having to deal with the missing dependency in path.go
* implementing visibility(etc) in the future would be simpler if there
was a module attached to the reference, so we don't have to do various
path-based lookups to try and match things up.

So define a `droiddoc_template` module, which takes a path, and will run
the glob once in that module. All of the `droiddoc` modules can then
specify it through the `custom_template` property, which will pull the
necessary data.

Also fix that htmldirs should be references from the local path, the
htmldir2 argument never being specified, and complain if more than two
htmldirs are specified, or if the custom template isn't specified.

Test: m core-docs
Test: out/soong/build.ninja is nearly identical
      - line numbers in comments
      - adds directories to droiddoc template dependency lists, which
        is more correct, since we need to rerun on added or removed
	files too.
Change-Id: Iff630bddb3818b8eeed439de7e41fc7fbe7cdcb0
2018-03-01 02:10:51 +00:00
Nan Zhang
3bb14200e2 Change name of droiddoc target output to *-stubs.srcjar
Test: m -j core-docs
Bug: b/70351683
Change-Id: If8c00a9992d262b7cd4c95794073591dcc245bd2
2018-02-28 16:15:05 -08:00
Colin Cross
dfce764476 Fix finding next symbol when multiple symbols have the same address
Some exe files have a .data symbol at the same address as the
soong_build_number symbol.  If the .data symbol is after
soong_build_number in the symbol list, symbol_inject would think
the end address was the same as the start address, and use
uint32(-1) as the size.

Use sort.Search to find the first symbol whose section number is
the same as the target symbol, but whose address is higher than
the target symbol.

Test: manual
Change-Id: I51d6e53c6b906222ba68c5cf93be944843e23550
2018-02-28 15:04:59 -08:00
Jeff Gaston
f7542544d2 Remove unused property
Bug: 72552085
Test: androidmk prebuilts/sdk/current/support/Android.mk \
      | grep LOCAL_UNINSTALLABLE_MODULE && echo failed

Change-Id: Idcdd571812594599267985dfef2cc2fc6efbb5ba
2018-02-28 15:00:15 -05:00
Colin Cross
be5ee2db09 Merge changes I41d1c3c3,I9de0a0f5 am: 0c74ad9381 am: 8c5d337c80
am: 98eaa17e73

Change-Id: I119f406b661373fc8b45413c8f48665e8e81923a
2018-02-27 23:17:37 +00:00
Colin Cross
98eaa17e73 Merge changes I41d1c3c3,I9de0a0f5 am: 0c74ad9381
am: 8c5d337c80

Change-Id: I409410fe9fd745a23124e7307ceac561092429e9
2018-02-27 23:11:56 +00:00
Colin Cross
8c5d337c80 Merge changes I41d1c3c3,I9de0a0f5
am: 0c74ad9381

Change-Id: I6f496938039222eedfe42724fa34ba497e98fa15
2018-02-27 23:06:41 +00:00
Treehugger Robot
0c74ad9381 Merge changes I41d1c3c3,I9de0a0f5
* changes:
  Sort macho symbol table entries
  Fix symbol_inject on win32 exes
2018-02-27 22:55:21 +00:00