Commit Graph

22539 Commits

Author SHA1 Message Date
Logan Chien
83e72361a9 vndk-def: Remove unused code.
am: 91f8e52ebf  -s ours

Change-Id: I91a9b4efc9054975b088910ec5e97a956be237e3
2017-06-08 06:55:13 +00:00
Justin Yun
e4b93a4e00 vndk-def: Add VTool prototype in vndk_definition_tool
am: 28c0864e3c  -s ours

Change-Id: I3607e71ddf550a5e1c850f83e23685d8f6700684
2017-06-08 06:55:08 +00:00
Logan Chien
423354754a vndk-def: Rename VNDK-stable to VNDK-SP
am: 94e08be26b  -s ours

Change-Id: I3eed2a75553b94875a5e9629d314c3455bca3ba4
2017-06-08 06:55:02 +00:00
Logan Chien
4f43460a49 vndk-def: Add more tags to check-dep command
am: c2f4f37439  -s ours

Change-Id: Ia4d01a3dbb9018727ce5f4d6a313f959251599ac
2017-06-08 06:54:56 +00:00
Logan Chien
fb0c449565 vndk-def: Sort ELFLinkData by path
am: f4d63c2e0b  -s ours

Change-Id: I5b66f8f3aff726b0b5347a13c9d4fa478cf72bac
2017-06-08 06:54:50 +00:00
Logan Chien
d0d99fac21 vndk-def: Use find() to find terminating char
am: 2f4954d0f7  -s ours

Change-Id: Ic707dc72b8e9aa5d9b8528751e969ad35797b822
2017-06-08 06:54:45 +00:00
Steven Moreland
6b3c2cf7a6 Remove redundant dependencies
am: 6a32ac82fa  -s ours

Change-Id: I2af74cf71585b7cc69401a39f71c767d9ec6b870
2017-06-08 06:54:39 +00:00
Logan Chien
0539276392 vndk-def: Update NDK libs.
am: 7180380b19  -s ours

Change-Id: If4c422bf823ce19662b1c9c8b31c6922b166e346
2017-06-08 06:54:34 +00:00
Logan Chien
b2eafe5a05 vndk-def: Add DT_NEEDED removal tool
am: 3286ee8c36  -s ours

Change-Id: Ib0abea991cfb674caf74e3287a6151973364f8ad
2017-06-08 06:54:28 +00:00
Logan Chien
d5f2f2687c vndk-def: check-dep: Print symbols and module_path
am: 384397d673  -s ours

Change-Id: If5b6da57fceec0dd42c01d668713a2cf7d460630
2017-06-08 06:54:23 +00:00
Logan Chien
32e8bcf159 vndk-def: Add fuzzy path matching to insight
am: a0adfaba6c  -s ours

Change-Id: I3c2efa0dcbe6337b65509f99a863308f989f828d
2017-06-08 06:54:17 +00:00
Logan Chien
6c5e1716a2 vndk-def: Add --system-dir-ignored option
This commit adds --system-dir-ignored option so that the user can
ignore /system/vendor directory and run the following command on some
devices:

    python3 vndk_definition_tool.py vndk \
      --system ${ANDROID_PRODUCT_OUT}/system \
      --system-dir-ignored vendor \
      --vendor ${ANDROID_PRODUCT_OUT}/vendor

Bug: 37867089
Test: ./tests/run.py
Test: Add --system-dir-ignored to make sure /system/vendor on some
devices are not treated as system modules.

Change-Id: I8d67e9e437e4862fcf3c39ef84102d77e9a4d010
Merged-In: I45a82bf81f2e2a6b34c146310f53d47dfe2313c3
2017-06-08 12:53:41 +08:00
Logan Chien
ef682fb67d vndk-def-tool: Update README.md
This commit updates readme instructions to match with the simplified
VNDK in O workflow.

Bug: 37867089
Test: Run the described command lines with sailfish directories.
Change-Id: Ie8507fdbcdb1e83f56b465d2d5fce88129f817aa
Merged-In: I80f3ee4eac34fae772ba6c336e457f537cb8312c
2017-06-08 12:53:38 +08:00
Logan Chien
dd712bf329 vndk-def: Implement degenerated VNDK for o-release
This commit implements the degenerated directory layout for o-release.
This commit also simplifies the output significantly.

Bug: 37867089
Test: Run vndk_definition_tool.py against o-release images.
Change-Id: I6fa6833461639ad8dfc6103c0753064c63cdadcb
Merged-In: I5aad29fa4ff7e819778d26d2e2011af1be61bb58
2017-06-08 12:53:35 +08:00
Logan Chien
b80dba91bd vndk-def: Introduce better eligible list
This commit adds TaggedLibDict to read eligible list from CSV files and
decide whether a lib is visible to another module.

Note: The file format for eligible-list.csv has been changed.  Prepend
library names with `/system/${LIB}/`, e.g. `/system/${LIB}/libc.so`.

Bug: 37867089
Test: ./tests/test_tagged_lib_dict.py
Test: ./tests/run.py
Change-Id: Iaa09e0e6b124a931aa0eb68c3196786fb783fe43
Merged-In: Id415642b7a5609a3cf791364519a443a6c17c1a3
2017-06-08 12:53:32 +08:00
Logan Chien
55cd56c3f4 vndk-def: Add libvndksupport to LL-NDK
This commit adds libvndksupport.so to LL-NDK list.  libvndksupport.so
is a wrapper library over some platform-only libdl.so APIs.

Bug: 37867089
Test: ./tests/test_ndk_libs.py
Change-Id: I74e66065b5e6a7f75ff24e9ba651c52b3f47162d
Merged-In: I25465f6d94441a22da3bf9a7c8417e2388c764da
2017-06-08 12:53:29 +08:00
Logan Chien
491f8b79ff vndk-def: Update vndk-sp list
This commit updates the vndk-sp list according to b/36705501.  Some
libs are still under discussion and might be removed in the future.

Bug: 37867089
Bug: 36705501
Test: ./tests/test_elf_linker.py
Change-Id: Ia06802a23745224f6cca332b7d105138e9189220
Merged-In: I55d4b4e31ac326218f2048f69b7a9a2c51045291
2017-06-08 12:53:24 +08:00
Logan Chien
cb91bb4565 vndk-def: Remove obsolete warning options
This commit removes `--warn-high-level-ndk-deps` and
`--warn-banned-vendor-lib-deps`.  These options are removed in favor of
the eligible vndk list.  In next CL, a user can specify an eligible VNDK
list with `--tag-file`. VNDK definition tool will print warnings if
vendor modules are using ineligible framework libraries.

Bug: 37867089
Test: ./tests/run.py
Change-Id: I355679845060611e2f46a6666fde13755f47f1f4
Merged-In: I0bb11de70c93f1447bb041561e80e342aa400fd4
2017-06-08 12:53:21 +08:00
Logan Chien
10597e60f0 vndk-def: Add --aosp-system option
This commit adds `--aosp-system` option to simplify the command line
usages.  The user can specify the aosp image system directory directly
and skip the `create-generic-ref` subcommand.

Bug: 37867089
Test: Compare the output with `--load-generic-refs` and `--aosp-system`.
Change-Id: Id04adffc020e14aa9d7909f20b0a8cd4a586603a
Merged-In: Ibb76bd59ea504808545775562feefcd8a95ee267
2017-06-08 12:53:18 +08:00
Logan Chien
91f8e52ebf vndk-def: Remove unused code.
Bug: 37867089
Test: ./tests/run.py
Change-Id: I954a40957c9885e7a091007a3de1993bfdd1545f
Merged-In: I7bf782fae485114faa9836fe1e8415810c1d6c78
2017-06-08 12:53:15 +08:00
Justin Yun
28c0864e3c vndk-def: Add VTool prototype in vndk_definition_tool
Using the command "dep-graph" the tool will check and show the VNDK
dependency violations base on the VNDK tag definition.

Bug: 37867089
Test: Run `vndk_definition_tool.py dep-graph \
        --system ... --vendor ... -o "html_output" \
	--tag-file "[vndk_tag_table].csv"`

Change-Id: I913d34794418b8ee13bcabb9df4ddd93b1c5aa81
Merged-In: Ia5196e94beb0de106176e98ea413e4a921d7f8c5
2017-06-08 12:53:13 +08:00
Logan Chien
94e08be26b vndk-def: Rename VNDK-stable to VNDK-SP
This commit renames VNDK-stable to VNDK-SP because libraries in VNDK-SP
don't have to be stable.

Bug: 37867089
Test: ./tests/run.py
Change-Id: I75d966e05c274e369b5d54e2d661cc63997e1c00
Merged-In: I73697af3403b21db4878cadcf1622a9ac92ed10b
2017-06-08 12:53:10 +08:00
Logan Chien
c2f4f37439 vndk-def: Add more tags to check-dep command
This command adds `ll-ndk-indirect` to `vndk-sp-indirect` so that
the `check-dep` subcommand can recognize eligible-list-v3.4.csv.

Bug: 37867089
Bug: 37958115
Test: Run check-dep command against eligible-list-v3.4.csv.
Change-Id: I216917251cb46eb8099cc84c35a2402b4500608b
Merged-In: I64d793ba1f6fada2dc49d00ae9d37ccf5b9d8d15
2017-06-08 12:53:08 +08:00
Logan Chien
f4d63c2e0b vndk-def: Sort ELFLinkData by path
This commit adds __lt__() to ELFLinkData class so that instances of
ELFLinkData can be sorted by path by default.

This commit also adds several sorted() function calls so that the
output can be stable between different command line invocations.

Bug: 37867089
Test: ./tests/run.py
Test: Run check-dep subcommand multiple times and compare the output.
Change-Id: I86e1d6ad6ff0be918b0b770904ab9327e7d23c82
Merged-In: I08bf7a9e0e1e393f0e0f3fcd4cf83a4002515b51
2017-06-08 12:53:05 +08:00
Logan Chien
2f4954d0f7 vndk-def: Use find() to find terminating char
This commit replaces naive loop with `find(b'\0', offset)`.  The
performance is improved by 3x if the script was run by a python2
interpreter.

Bug: 37867089
Test: ./tests/run.py
Change-Id: I190ebd1a2184a83216e44abdcaf7ecf7f1ed990c
Merged-In: I68d579baeab3c4c7f0928194a6c06b0969346d5f
2017-06-08 12:53:02 +08:00
Steven Moreland
6a32ac82fa Remove redundant dependencies
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.

Bug: 37867089
Bug: 33276472
Test: tests pass
Change-Id: I71b8e477b0c389bee480cfe5a9d2f2c39fd4921a
Merged-In: I9b4421606d8fcc0048cc231e5043cc906030cef9
2017-06-08 12:52:59 +08:00
Logan Chien
7180380b19 vndk-def: Update NDK libs.
This commit adds libsync.so and libnativewindow.so to SP-NDK and move
libz.so to VNDK-SP (VNDK-Stable).

Bug: 37867089
Test: ./tests/run.py
Change-Id: If2986ed676762c55d89edf118ccc8441d95c1442
Merged-In: I8f2cc1b0e54c9380165014a65f24feaca314e1b9
2017-06-08 12:52:56 +08:00
Logan Chien
3286ee8c36 vndk-def: Add DT_NEEDED removal tool
This commit adds `remove_dt_needed.py`.  `remove_dt_needed.py` is a
binary editor which removes the specified library from DT_NEEDED
entries.

Bug: 37867089
Test: remove_dt_needed.py [input.so] -o [output.so] --name [victim]
Change-Id: I6ddb1ee6ce256a8c7b7ea1d2afa732740e948024
Merged-In: Ief62aa57a4b315926269fbb38e79798772fa554c
2017-06-08 12:52:53 +08:00
Logan Chien
384397d673 vndk-def: check-dep: Print symbols and module_path
This commit add the functionality to print depended symbols from
ineligible libs and violating module source path to check-dep
subcommand.

Test: ./tests/run.py

Test: Run `vndk_definition_tool.py deps --symbols` on various tree and
the output should remain identical.

Test: Run `vndk_definition_tool.py check-dep --module-info ...`

Bug: 37867089
Bug: 32811412

Change-Id: I5ce6ae1ad7ab0398e18b8f0c4fa31bdce67fa8aa
Merged-In: Ie9fa31da4ac18425604e27e0377c7da2b88bd4eb
2017-06-08 12:52:50 +08:00
Logan Chien
a0adfaba6c vndk-def: Add fuzzy path matching to insight
This commit adds fuzzy path matching to the deps-insight output html.
With fuzzy path matching, it will be easier to find a module especially
when the module has been moved to a different directory during the VNDK
computation.

Test: Run `vndk_definition_tool.py deps-insight` and find
/system/lib/libandroid_runtime.so (which was renamed as
/system/lib/vndk/libandroid_runtime.so.)

Bug: 37867089
Bug: 32811412

Change-Id: Ie65cee6d3b87afc79a7609f85d593df109b421f1
Merged-In: I32d0d54f4f9bc8c8294255d2ed8b85c1da36e81b
2017-06-08 12:52:44 +08:00
Clara Bayarri
94d2759841 Merge "Replace fonts of unclear origin" into oc-dev
am: ac2a416a5b

Change-Id: Ie5c7ca0fa73671116955272c66aa7611805f23ff
2017-06-07 16:42:27 +00:00
TreeHugger Robot
ac2a416a5b Merge "Replace fonts of unclear origin" into oc-dev 2017-06-07 16:36:48 +00:00
Makoto Onuki
d09d269b14 Merge "Use support lib shortcut manager in sample apps" into oc-dev am: b0bcb8f365
am: c6df549cdd

Change-Id: Ie921194589ef11dd8094a6adfa45bca5e16ad586
2017-06-06 16:33:56 +00:00
Makoto Onuki
c6df549cdd Merge "Use support lib shortcut manager in sample apps" into oc-dev
am: b0bcb8f365

Change-Id: I4d0ddab6405fe8990cab0de1e0a38e0060e74163
2017-06-06 16:27:56 +00:00
TreeHugger Robot
b0bcb8f365 Merge "Use support lib shortcut manager in sample apps" into oc-dev 2017-06-06 16:18:21 +00:00
Elliott Hughes
a003dc5a37 Merge "Move away from device.get_props." am: 904e475fbd am: 4d8dffffa6 am: 8c19ebd28d
am: c739b9e711

Change-Id: I7cb3c7680f93b2831f29d329934b7118699ea35e
2017-06-03 01:48:13 +00:00
Elliott Hughes
c739b9e711 Merge "Move away from device.get_props." am: 904e475fbd am: 4d8dffffa6
am: 8c19ebd28d

Change-Id: I328be35af1e211412b105345b3d1ca78d24b7528
2017-06-03 01:43:58 +00:00
Elliott Hughes
8c19ebd28d Merge "Move away from device.get_props." am: 904e475fbd
am: 4d8dffffa6

Change-Id: Id1b260fb46be86eb789d75902dda3b3c6eee14dd
2017-06-03 01:39:57 +00:00
Elliott Hughes
4d8dffffa6 Merge "Move away from device.get_props."
am: 904e475fbd

Change-Id: I36e9b1611a9efb303927a31d933b1804ca982169
2017-06-03 01:36:28 +00:00
Treehugger Robot
904e475fbd Merge "Move away from device.get_props." 2017-06-03 01:31:09 +00:00
Elliott Hughes
1a2f12d23e Move away from device.get_props.
Properties can include \n so get_props isn't sound, and it's not obvious how
to fix it (without adding something like cat's -v to getprop, which wouldn't
help the intended use case of working with arbitrary old devices).

Bug: https://issuetracker.google.com/37093233
Test: gdbclient -r /system/bin/date
Change-Id: I96042fd44f1de17974968954fab6c916a9d13b61
2017-06-02 13:15:59 -07:00
Tor Norbye
b5abbef1ad Merge "216372: Add metadata for @Duration" 2017-06-02 15:57:53 +00:00
Logan Chien
9265d65ef0 Merge changes I25465f6d,I55d4b4e3,I0bb11de7,Ibb76bd59,I7bf782fa am: 3dffcb17b3 am: f2be491724 am: 49e55b0d06
am: c72d920d6c

Change-Id: I907c1fabd6f770f5a1ed45a614390c26b1c976d5
2017-06-02 03:46:59 +00:00
Logan Chien
c72d920d6c Merge changes I25465f6d,I55d4b4e3,I0bb11de7,Ibb76bd59,I7bf782fa am: 3dffcb17b3 am: f2be491724
am: 49e55b0d06

Change-Id: I92803cd6688f91680e45793b9254aff3e28079c8
2017-06-02 03:43:30 +00:00
Logan Chien
49e55b0d06 Merge changes I25465f6d,I55d4b4e3,I0bb11de7,Ibb76bd59,I7bf782fa am: 3dffcb17b3
am: f2be491724

Change-Id: I0e3c7df0a09eb5f5ddad2d1be74a9b6fa754c26d
2017-06-02 03:40:28 +00:00
Logan Chien
f2be491724 Merge changes I25465f6d,I55d4b4e3,I0bb11de7,Ibb76bd59,I7bf782fa
am: 3dffcb17b3

Change-Id: I7b2e82ad64e56f859741eb06f0e9e05b0a1aafe1
2017-06-02 03:38:01 +00:00
Logan Chien
3dffcb17b3 Merge changes I25465f6d,I55d4b4e3,I0bb11de7,Ibb76bd59,I7bf782fa
* changes:
  vndk-def: Add libvndksupport to LL-NDK
  vndk-def: Update vndk-sp list
  vndk-def: Remove obsolete warning options
  vndk-def: Add `--aosp-system` option
  vndk-def: Remove unused code.
2017-06-02 03:30:36 +00:00
Clara Bayarri
a3516bc957 Replace fonts of unclear origin
The font being used in the ApiDemos is of unclear origin, replace
it with a font we created. Also cleanup the code around it

Test: manual
Bug: 37726227
Change-Id: I7e30c3afddc731473c9bbe5a767fa0e1144a20d6
2017-06-01 11:08:13 +01:00
Tor Norbye
dcacc725d4 216372: Add metadata for @Duration
Test: Tested in lint in tools/base
Change-Id: I64afb83135a18b904b6dba7d2ed37877c1f2ca20
2017-05-31 14:35:18 -07:00
Dmitry Dementyev
daa7a8bb3c Merge "Update account visibility test apps to handle O SDK level." into oc-dev am: 47e13c9735
am: d172f7a6f6

Change-Id: I2cffab5e69c86d64363302d1df861bda7e140b1c
2017-05-31 20:45:47 +00:00