Commit Graph

25016 Commits

Author SHA1 Message Date
Hsin-Yi Chen
cd1eada7b0 Show thunk symbols in vtables
- Convert method declarations to thunk symbols if thunk information
  exists.
- Add a test case and reference dumps for virtual inheritance.

Bug: 80671888
Test: ./tests/test.py
Change-Id: I55ecbd7c8b0f5b0f534d81e6c6967f99ffd1d42e
2018-06-29 10:57:31 +00:00
Logan Chien
3da4df881f Merge "header-checkers: Add loganchien to OWNERS"
am: c79e4a961b

Change-Id: I6f035b4d971520bcbf50914c696289c1a58e18fe
2018-06-28 22:13:15 -07:00
Logan Chien
c79e4a961b Merge "header-checkers: Add loganchien to OWNERS" 2018-06-29 05:03:32 +00:00
Logan Chien
d014da7490 header-checkers: Add loganchien to OWNERS
Test: n/a
Change-Id: I2fde4fc8927fcfd6ddceadc9e6f75d3d9fabfe66
2018-06-29 10:47:24 +08:00
Dan Albert
590650db07 Merge "Allow restart in gdbclient."
am: 2e4640f468

Change-Id: I8440c29f0432284a925afa0d6d5748c49bdd4296
2018-06-26 13:22:50 -07:00
Tor Norbye
58ab9ef051 Use android.jar from Metalava.
This CL only affects the SDK.

It reverts commit 91967398ad
and then updates the packaging source for android.jar to
the metalava jar.

It also packages the extracted annotations, annotations.zip.

Test: Manually built various apps with android.jar file
  as well as some binary verification with javap
Bug: 78245848

Change-Id: I5614a7f5af11d12c99cf0275ae0a88d97cc0bbc7
(cherry-picked from f13bb3dab6)
2018-06-26 13:22:46 -07:00
Treehugger Robot
2e4640f468 Merge "Allow restart in gdbclient." 2018-06-26 20:09:08 +00:00
Dan Albert
d124bc7562 Allow restart in gdbclient.
Switching from remote to extended-remote allows the program being
debugged to be restarted like a normal non-remote program.

Test: Used gdbclient debugging ICU things for a while, restarted often
Bug: None
Change-Id: Ia295749b9aa86727479d760d7c743f98a06fa6d4
2018-06-26 11:15:16 -07:00
Jae Shin
62d0ddb819 Merge changes I283fe25a,Iabef0b10
am: 50fb8c3029

Change-Id: Idf526011475c5bae9790d3c54d0bb79127f6428b
2018-06-25 23:33:26 -07:00
Treehugger Robot
50fb8c3029 Merge changes I283fe25a,Iabef0b10
* changes:
  Support new binder32bit property
  Expand a leading '~' to $HOME in arg for --local
2018-06-26 06:22:43 +00:00
Jae Shin
af0c00328a Support new binder32bit property
Starting in VNDK snapshot v28 (P), prebuilts built for 32-bit
binder interface are isolated in separate 'binder32' subdirectory
under prebuilts/vndk/v{VER}/{ARCH}/. All other prebuilts are
assumed to use 64-bit binder interface.

To differentiate prebuilts per binder bitness, the following
changes are made:
1) a new 'binder32bit' property added to the Android.bp files
autogenerated for the vndk_prebuilt_shared soong module
2) new phony modules, vndk_v{ver}_{arch}_binder32, defined for
32-bit binder prebuilts,
3) 'binder32' suffix added to the prebuilt versioned name,
e.g. libfoo.vndk.{ver}.{arch}.binder32.vendor

Test: python gen_buildfiles.py 28 -vv
Test: python gen_buildfiles.py 27 -vv
Bug: 78279738
Change-Id: I283fe25a34d3381d13097ede34c428c83dffe11e
2018-06-25 17:58:35 +09:00
Jae Shin
bd82ebbe49 Expand a leading '~' to $HOME in arg for --local
Test: python update.py --local=~/some/local/path
Bug: 78279738
Change-Id: Iabef0b10ff9ad7a5008f63a1b558351a240b4227
2018-06-25 17:45:34 +09:00
Logan Chien
d1a8b72479 Merge changes I5f3b98aa,I6077d014,I276dbb46
am: 92a4974663

Change-Id: I087d3ffceda3b274c2e2d49a592a2ef8df09b2b0
2018-06-21 19:24:49 -07:00
Logan Chien
fbf5361845 Merge "vndk-def: Fix check-dep --check-apk in Python 2"
am: b9a95fc5b4

Change-Id: I9291bd57f5f68070740bd87816e0543c53479491
2018-06-21 19:23:22 -07:00
Logan Chien
92a4974663 Merge changes I5f3b98aa,I6077d014,I276dbb46
* changes:
  sourcedr: Remove incomplete sourcedr
  sourcedr: Add missing __init__.py
  sourcedr: Move sub-projects to parent directory
2018-06-22 02:12:17 +00:00
Logan Chien
b9a95fc5b4 Merge "vndk-def: Fix check-dep --check-apk in Python 2" 2018-06-22 02:11:28 +00:00
Logan Chien
8ab92e5685 sourcedr: Remove incomplete sourcedr
This commit removes the incomplete source dependency review tool.

Test: n/a
Change-Id: I5f3b98aace3198262f35b45db552d64828533707
2018-06-21 16:52:21 +08:00
Logan Chien
8f6fbbc467 sourcedr: Add missing __init__.py
This commit adds a missing `__init__.py` to `ninja/tests`, so that
unit test discovery can find unit tests without any arguments.

Test: sourcedr/ninja/tests/run_tests.sh
Change-Id: I6077d014f33ccb176bf2138e3a0035c871c8eead
2018-06-21 16:40:05 +08:00
Logan Chien
e0a1300b46 sourcedr: Move sub-projects to parent directory
Test: sourcedr/blueprint/tests/run_tests.sh
Test: sourcedr/ninja/tests/run_tests.sh tests
Test: definition-tool/tools/update_dataset_auto.py
Change-Id: I276dbb46115622f4f562d2ff176433c56f8d945b
2018-06-21 16:39:52 +08:00
Logan Chien
76eb5dd61d Merge "sourcedr: Add manifest split analyzer"
am: c796fe9b64

Change-Id: Ic6b4633d216bdfbaa82a7cb4edc7bb7698af1cd4
2018-06-20 21:19:27 -07:00
Logan Chien
956fce5b2e Merge changes I61fd754e,I71bdc5e2,I1371b9ca
am: c3d8566699

Change-Id: If48813484e016ec9001fbbae520aa208f0ab040c
2018-06-20 21:11:58 -07:00
Logan Chien
888bb4a54f vndk-def: Fix check-dep --check-apk in Python 2
`string.decode('mutf-8')` converts `bytes` into `str` in Python 3.  On
the other hand, `string.decode('mutf-8')` converts `str` to `unicode` in
Python 2.  However, finding a `str` object in a set of `unicode`
objects may lead to false negatives.

This commit fixes the problem by encoding strings into `utf-8` after
decoding from `mutf-8`.

Bug: 110450167
Test: ./tests/run.py
Change-Id: Ifa6e97fffb5f364d0488cc98b6c59fbf4fb7869f
2018-06-21 10:23:56 +08:00
Logan Chien
c796fe9b64 Merge "sourcedr: Add manifest split analyzer" 2018-06-21 02:01:34 +00:00
Logan Chien
c3d8566699 Merge changes I61fd754e,I71bdc5e2,I1371b9ca
* changes:
  vndk-def: Ignore dex strings w/ invalid surrogates
  vndk-def: DexFileReader should return ModifiedUTF8
  vndk-def: Add command that dumps dex strings
2018-06-21 02:00:56 +00:00
Logan Chien
1cbfd683b8 sourcedr: Add manifest split analyzer
This commit adds a manifest split analysis tool.  This tool classifies
the Android.bp modules into 3 categories (i.e. system-only modules,
vendor-only modules, and both-side module) and list the git repositories
that define modules in two or more categories.

Test: analyze_manifest_split.py \
  -m ${ANDROID_BUILD_TOP}/.repo/manifest.xml \
  -b ${ANDROID_BUILD_TOP}/Android.bp

Change-Id: I74c4acc3cac8fc2795cbc03806e71685e1910818
2018-06-20 21:33:21 +08:00
Logan Chien
10af0bf908 vndk-def: Ignore dex strings w/ invalid surrogates
The previous CL silently ignores all dex strings that cannot be decoded
with Modified UTF-8 decoder.  However, bad unicode encodings are
usually a good indicator that the dex file format is changed.  Thus,
this commit separates invalid surrogates as special cases and only
ignore those dex strings.  Exceptions for other invalid encodings are
propagated after this CL.

Bug: 110450167
Test: ./tests/run.py
Change-Id: I61fd754eab76f0b9eb3c58ac7f48321258e46514
2018-06-20 19:11:12 +08:00
Logan Chien
afc9c01a36 vndk-def: DexFileReader should return ModifiedUTF8
This commit lifts the decoding logic from DexFileReader.  After this
commit, DexFileReader simply returns modified UTF-8 so that the user can
decide whether to decode it or not.

Bug: 110450167
Test: ./tests/run.py
Change-Id: I71bdc5e20553a17e9eab3eac597648e397e99730
2018-06-20 19:11:12 +08:00
Logan Chien
29153b915d vndk-def: Add command that dumps dex strings
This commit adds a subcommand to dump string constant literals from dex
files.

Bug: 110450167
Test: vndk_definition_tool.py dump-dex-string [apk]
Change-Id: I1371b9caa6844dfd2fb49a375c09632b6f2c4bb6
2018-06-20 19:10:48 +08:00
Logan Chien
85e97d7d3e Merge "vndk-def: Check access in _enumerate_path()"
am: 3481d7e29f

Change-Id: Id18739c0b53ab1ad15f947cb4b0966ab8292a9a3
2018-06-20 01:13:19 -07:00
Treehugger Robot
3481d7e29f Merge "vndk-def: Check access in _enumerate_path()" 2018-06-20 04:01:25 +00:00
Jae Shin
36368605de Merge changes I98a86296,I2950b566,If51918fd
am: b6e8719350

Change-Id: Ie4f7c5dfb230db92bac021994b9471d8b9fb0bce
2018-06-19 19:39:17 -07:00
Treehugger Robot
b6e8719350 Merge changes I98a86296,I2950b566,If51918fd
* changes:
  Allow user to specificy local_dir value
  Check parent commit if revision is from *-release
  Allow logging across modules
2018-06-20 02:29:08 +00:00
Jae Shin
01268ffbea Allow user to specificy local_dir value
Previously the --local option assumed the local dir to be DIST_DIR.
Since in the actual use case, the branch where the VNDK snapshot is
built is different from the branch where this VNDK snapshot is
uploaded to, allow the user to specify the local dir as a command
line parameter.

Test: python update.py --local=<path to local dir> 28 -vv
Bug: 78279738
Change-Id: I98a86296076994c951b98457ef47c384d4cc940c
2018-06-19 20:50:49 +09:00
Jae Shin
ce3bb75034 Check parent commit if revision is from *-release
Revisions in a *-release branch include merge CLs that merge
*-dev to *-release. These revisions will not be in the source
of a GPL git project, so in these cases need to extract the parent
revision of the merge commit.

Test: python check_gpl_license.py --branch pi-release --build
<bid> 27 -vv
Bug: 78279738
Change-Id: I2950b56605b9af39c3ab012ae7a1ad407942d419
2018-06-19 20:49:33 +09:00
Logan Chien
3d0c1643ed vndk-def: Check access in _enumerate_path()
This commit add an access check in _enumerate_path() so that soft links
that cannot be resolved on host can be ignored.

Bug: 80459974
Test: vndk_definition_tool.py check-dep --check-apk \
  --system ${ANDROID_PRODUCT_OUT}/system \
  --vendor ${ANDROID_PRODUCT_OUT}/vendor

Change-Id: I0b0b793784b005139a62c5a48a5bd8f48cdd55c3
2018-06-19 16:12:11 +08:00
Logan Chien
4988d05f98 Merge changes Ie7318b61,Ie0d350f2
am: c85814676d

Change-Id: Ibf495f39e93998a542a02bb74413f13f508d3811
2018-06-18 20:33:49 -07:00
Logan Chien
c85814676d Merge changes Ie7318b61,Ie0d350f2
* changes:
  repo-pull: Fix pylint errors
  repo-pull: Fix undefined variable in except clause
2018-06-19 03:21:52 +00:00
Nan Zhang
a993c3a7d4 Merge "Add Metalava based android.jar targets in Androi.bp"
am: e7636d2e30

Change-Id: I1d6ea588270c472ec29d7164b0b50cdd062a1a22
2018-06-18 12:09:40 -07:00
Treehugger Robot
e7636d2e30 Merge "Add Metalava based android.jar targets in Androi.bp" 2018-06-18 16:55:28 +00:00
Jae Shin
940752124d Allow logging across modules
Test: confirm logging from different modules
Bug: 78279738
Change-Id: If51918fd7a4ad3ea3408109a39a293bcd56f71db
2018-06-18 14:45:54 +09:00
Dan Willemsen
dc5dc10dcd Merge "Convert implicit make rules to static pattern rules"
am: 56ded7fe40

Change-Id: I7aa17d859e487b0b7e9d4b7af0cf1e4c2a7ff02f
2018-06-16 14:47:23 -07:00
Treehugger Robot
56ded7fe40 Merge "Convert implicit make rules to static pattern rules" 2018-06-16 21:39:52 +00:00
Dan Willemsen
55a8f53068 Convert implicit make rules to static pattern rules
Implicit rules are being deprecated, so explicitly specify which targets
to apply the pattern rules against.

Test: build-aosp_arm.ninja is identical before/after
Change-Id: I0b902dbbfa7a70abcdcce5ea1954e9e4fad25367
2018-06-16 10:41:44 -07:00
Josh Gao
121c8d9024 Merge changes from topic "stacks_envsetup"
am: 759a6f75ff

Change-Id: I42facf6b00b039e37d62706bde4498117e90ec3f
2018-06-15 08:52:34 -07:00
Josh Gao
3502ceecff Add return code support to pid.
am: 4df6279c71

Change-Id: Ic853345ab244c6848349a99ec732f3b6c9ef87d8
2018-06-15 08:51:58 -07:00
Josh Gao
aa32b1aaa9 Move pid, stacks from envsetup.sh to dedicated scripts.
am: 3dffb8438d

Change-Id: I10024d4978f276286cc6e0e92722c5fc7e62c678
2018-06-15 08:51:21 -07:00
Treehugger Robot
759a6f75ff Merge changes from topic "stacks_envsetup"
* changes:
  stacks: match exactly before matching nonexactly.
  Add return code support to `pid`.
  Move pid, stacks from envsetup.sh to dedicated scripts.
2018-06-15 15:43:37 +00:00
Logan Chien
bfb414f033 repo-pull: Fix pylint errors
This commit adds several pylint fixes.

Test: for i in *.py; do pylint $i; done
Change-Id: Ie7318b616ef75c2944a4c03185f49b2a3f02db50
2018-06-15 16:06:56 +08:00
Logan Chien
ecd9846942 repo-pull: Fix undefined variable in except clause
This commit renames `process` to `proc` to eliminate an undefined
variable in the except clause.

Test: pylint repo_pull.py
Change-Id: Ie0d350f2c2e0b0e3eed037227dd15839e460d44e
2018-06-15 14:39:24 +08:00
Josh Gao
4df6279c71 Add return code support to pid.
Test: pid nonexistent; echo $?
Test: pid --exact nonexistent; echo $?
Change-Id: If8efb1ca27ae3ed7b5be1c51179fae387c56e305
2018-06-14 16:36:12 -07:00