Commit Graph

21394 Commits

Author SHA1 Message Date
Logan Chien
2a6ee3da25 Merge changes I0527ef62,I0d66a93f,I528ef380,Ia9140851,If1874867, ...
am: f9bd812ef0

Change-Id: I1a315eef3e253547a652c222dbaa7607e2b3ae6a
2017-03-21 00:55:36 +00:00
Treehugger Robot
f9bd812ef0 Merge changes I0527ef62,I0d66a93f,I528ef380,Ia9140851,If1874867, ...
* changes:
  vndk-def: Fix bad inward-customized vndk calculation.
  vndk-def: Fix inward customization.
  vndk-def: Rename vndk-core and vndk-ext libs.
  vndk-def: Rename map_path_to_lib(s) to get_lib(s).
  vndk-def: Rename ELFLinker.add() to add_lib().
  vndk-def: Add non-AOSP lib to imported_ext_symbols.
  vndk-def: Skip ndk ext check if no generic-refs.
2017-03-21 00:47:58 +00:00
Logan Chien
66469cb432 vndk-def: Fix bad inward-customized vndk calculation.
This commit fixes bad inward customization vndk calculation.

Before this commit, when an vndk-indirect candidate is using
vndk-fwk-ext, its dependencies will be considered as a candidate of
vndk-indirect.

After this commit, the dependencies will only be pushed into the stack
if such dependencies are known to be intact or inward-customized.  If a
vndk-indirect candidate is extending APIs, then the dependencies of its
generic counterpart will be pushed into the stack.

This commit also fixes the ELF resolution so that vndk-core dependencies
will not be resolved to vndk-fwk-ext.

Test: ./tests/test_vndk.py
Change-Id: I0527ef62b70ca4442eb8f69272a8ba9a6388df55
2017-03-20 21:44:36 +08:00
Logan Chien
2652037703 vndk-def: Fix inward customization.
Inward-customized VNDK libraries should be renamed instead of cloned.
This commit fixes the algorithm for inward customization and write a
unittest to check the correctness.

Test: ./tests/test_vndk.py
Change-Id: I0d66a93f679be24d7872d6a104497df24f100232
2017-03-20 21:44:22 +08:00
Logan Chien
69aa6de23d vndk-def: Rename vndk-core and vndk-ext libs.
This commit will rename vndk-core, vndk-fwk-ext, and vndk-vnd-ext
libraries so that the output will match with the post-Treble design
document.

Test: ./tests/test_vndk.py
Change-Id: I528ef380c76d71c743f1937ba94a8b72c00ce785
2017-03-20 21:44:06 +08:00
Logan Chien
285419aacd vndk-def: Rename map_path_to_lib(s) to get_lib(s).
Test: ./tests/run.py
Change-Id: Ia9140851996579a8b7175483c9daffe0de283237
2017-03-20 21:44:03 +08:00
Logan Chien
a4c4d370bb vndk-def: Rename ELFLinker.add() to add_lib().
Test: ./tests/run.py
Change-Id: If187486736d030ea4418beadd2fca7fe62362935
2017-03-20 21:43:53 +08:00
Logan Chien
6c81087023 vndk-def: Add non-AOSP lib to imported_ext_symbols.
This commit adds non-AOSP libraries to imported_ext_symbols even when no
symbols are resolved to that specific non-AOSP library.  This should fix
some errors related to the missing libraries from generic references.

Test: ./tests/run.py
Change-Id: I7f104737308d4dc0b591266d3408b001325c959e
2017-03-20 21:43:51 +08:00
Logan Chien
fc3dc99636 vndk-def: Skip ndk ext check if no generic-refs.
After this commit, vndk_definition_tool.py will skip the NDK extension
check if generic references are not specified by the user.  This fixes
an unexpected AttributeError on NoneType object.

Test: Run ./vndk_definition_tool.py vndk command w/o --generic-refs ...
Change-Id: Ibcd960039c5acc4adabb1a2e2b5965a026e9f23a
2017-03-20 21:43:49 +08:00
Jayant Chowdhary
1b856be6a0 Merge "Added More Abi information."
am: 1345214bfc

Change-Id: Ic66c629b8b9ec2a40a91df57a85987314bbebb30
2017-03-17 16:54:14 +00:00
Treehugger Robot
1345214bfc Merge "Added More Abi information." 2017-03-17 16:41:11 +00:00
Jayant Chowdhary
ee0a448f4a Added More Abi information.
Make Messages mirror clang Types better.
Added type size and alignments for independent and complete types.
Added vtable layout for CXXRecordDecls.
Added abi information for variables with global storage.
Added new return status to signify abi extension.
Added checks for access specifier downgrades.
Removed repeated code from header-abi-diff.

Test: header-abi-dumper -o example1.dump tests/input/example1.cpp -I
tests -- -x c++ -std=c++11 -I . -I
~/android/aosp/external/clang/lib/Headers

Change-Id: I21b5a8ef6dff92ecae47a0b1c46342862c5e0ebd
2017-03-16 08:47:24 -07:00
Logan Chien
50220859dc Merge changes Id6d23112,I474dd0c0
am: 6420708d76

Change-Id: Ie6fc36d1f2d947451c4e249267351415e1dbba88
2017-03-16 05:27:34 +00:00
Treehugger Robot
6420708d76 Merge changes Id6d23112,I474dd0c0
* changes:
  vndk-def: Don't remove all deps in normalization.
  vndk-def: Add symbol usages in dependency dumps.
2017-03-16 05:23:38 +00:00
Logan Chien
3e641efbe6 vndk-def: Don't remove all deps in normalization.
This commit no longer removes all dependencies (including system and
vendor dependencies) when a generic reference library has a dependency
to a library on the vendor partition.  After this commit is merged,
vndk_definition_tool.py will only remove the offending dependencies.

Test: Run vndk_definition_tool.py against bullhead build with tweaked
dependencies.

Change-Id: Id6d23112128d9bbfec9e1e4430677a07f20fd193
2017-03-16 08:52:40 +08:00
Logan Chien
747715ae24 vndk-def: Add symbol usages in dependency dumps.
This commit dumps the symbol usages in the dependency.

Test: Run ./vndk_definition_tool.py deps --symbol ...
Change-Id: I474dd0c0184e6dabd06968f953137384e14862c2
2017-03-15 14:55:41 +08:00
Jayant Chowdhary
df1eaafa4d Merge "Fix tests: export_include_dirs."
am: 94af0f2003

Change-Id: I7f638205a969c2862ecfc6b5a2b244089700d43e
2017-03-13 22:43:42 +00:00
George Burgess IV
a65b229c34 Merge "temporarily disable FORTIFY in header-abi-dumper"
am: 1e7c8fe0da

Change-Id: I1d1e7d0ad32b3379e40aa58850fbb59405b6e978
2017-03-13 22:43:29 +00:00
Treehugger Robot
94af0f2003 Merge "Fix tests: export_include_dirs." 2017-03-13 22:36:33 +00:00
Treehugger Robot
1e7c8fe0da Merge "temporarily disable FORTIFY in header-abi-dumper" 2017-03-13 22:35:15 +00:00
George Burgess IV
7fef90146b temporarily disable FORTIFY in header-abi-dumper
Bionic's FORTIFY implementation expects clang >= r285906, but
header-abi-dumper uses external/clang, which is a clone of clang at
r275480. This causes header-abi-dumper to emit errors in cases where
clang-3688880 doesn't (e.g.

unsigned char c[2];
// error: no matching function, since clang r275480 doesn't like
// unsigned char * -> char * casts
snprintf(c, sizeof(c), "a");).

Bug: 36076947
Test: Ran header-abi-dumper on external/e2fsprogs/lib/blkid/probe.c
(which previously gave us errors). It now only emits a few warnings.

Change-Id: I9460853b7f94aeb154a4d921a852954d82394055
2017-03-13 20:09:23 +00:00
Jayant Chowdhary
293cb38a37 Fix tests: export_include_dirs.
Test: tests/test.py passes.

Change-Id: Id5dd4bf0939b7d51bcb63fa38a1237d62ae919ab
2017-03-10 13:58:35 -08:00
Logan Chien
4c38db13b4 Merge "vndk-def: Fix vndk-ext computation."
am: edaab1ab96

Change-Id: Ifd7a43d6171bbe4670639273dcc65492d67e6289
2017-03-10 14:48:45 +00:00
Logan Chien
e53c79ef11 Merge "vndk-def: Remove dead code."
am: e2a5490634

Change-Id: I9b3fa53fb9923170593a664b236ed986a8b70381
2017-03-10 14:48:31 +00:00
Treehugger Robot
edaab1ab96 Merge "vndk-def: Fix vndk-ext computation." 2017-03-10 14:45:36 +00:00
Treehugger Robot
e2a5490634 Merge "vndk-def: Remove dead code." 2017-03-10 14:45:21 +00:00
Logan Chien
c25a1ed85d vndk-def: Fix vndk-ext computation.
This commit fixes vndk-fwk-ext qand vndk-vnd-ext computation.  We should
hash imported_lib, an instance of ELFLinkData, instead of ELF object.

Test: ./tests/test_vndk.py
Change-Id: Idc5123bbf9980b76527b5fa295a1fe01c8f7f44c
2017-03-10 18:39:16 +08:00
Logan Chien
f9da0b4fab vndk-def: Remove dead code.
Test: ./tests/run.py
Change-Id: I4f6a05373a607e39e5836db062c8562702588240
2017-03-10 18:38:59 +08:00
Josh Gao
0b8f64ced5 Merge "Package libwinpthread-1.dll in platform-tools."
am: 52c291d53c

Change-Id: I3b219b20f203ee4deb837f05a2df74720c6ad2bf
2017-03-10 02:12:14 +00:00
Treehugger Robot
52c291d53c Merge "Package libwinpthread-1.dll in platform-tools." 2017-03-10 02:06:38 +00:00
Josh Gao
a920f75082 Package libwinpthread-1.dll in platform-tools.
Test: make PRODUCT-sdk-win_sdk
Change-Id: Ie21402331ca73a5c6e7cb5108a2fde386f357def
2017-03-09 16:00:52 -08:00
Logan Chien
03f0a706af Merge changes Ie6600c35,I62bf6bb2
am: 067fec5c3f

Change-Id: Ibb58a57613dfbbc2e86a3f1a809d4a4d2139be29
2017-03-09 11:33:20 +00:00
Treehugger Robot
067fec5c3f Merge changes Ie6600c35,I62bf6bb2
* changes:
  vndk-def: Add vndk-cap subcommand.
  vndk-def: Remove stale debug assertion.
2017-03-09 11:27:08 +00:00
Logan Chien
d42d07d762 vndk-def: Add vndk-cap subcommand.
This commit adds vndk-cap subcommand.  vndk-cap subcommand will compute
the upper bound of the eligible libraries for VNDK definition.

Test: ./tests/test_elf_linker.py
Change-Id: Ie6600c35735de36055b2770836f2e87397221ddd
2017-03-09 17:23:36 +08:00
Logan Chien
9788c86218 vndk-def: Remove stale debug assertion.
Test: ./tests/run.py
Change-Id: I62bf6bb2b20be155901c088fbca18d35a9cdd6ad
2017-03-09 17:23:36 +08:00
Logan Chien
42c2979bdd Merge "vndk-def: Update readme."
am: 68b3022d17

Change-Id: I3e62fdaa556a74c9075fb1535ff02230a28996e2
2017-03-09 07:06:31 +00:00
Treehugger Robot
68b3022d17 Merge "vndk-def: Update readme." 2017-03-09 07:03:15 +00:00
Logan Chien
4d3ba54e5b vndk-def: Update readme.
Test: ./tests/run.py
Change-Id: If07a726f47096e015ab19c23bedb024833a7e16f
2017-03-09 12:28:46 +08:00
Joachim Sauer
e7b9cff32e Merge "Renaming Czech Republic to Czechia."
am: a824f044c3

Change-Id: Iaa98ab9b06edc1adc70bf3a4661069eed9c6f05b
2017-03-08 17:38:52 +00:00
Joachim Sauer
a824f044c3 Merge "Renaming Czech Republic to Czechia." 2017-03-08 17:31:27 +00:00
Logan Chien
ed0d86d2df Merge "vndk-def: Implement latest VNDK heuristics."
am: b43dfb97b2

Change-Id: I49e998be2344a0fbd23c1b8accbf64549702f750
2017-03-08 03:26:04 +00:00
Treehugger Robot
b43dfb97b2 Merge "vndk-def: Implement latest VNDK heuristics." 2017-03-08 03:19:18 +00:00
Logan Chien
369e7dd7fa Merge changes Ifed15e60,Icff8aeeb,I0365be01,I746b07a4
am: 0092ef8928

Change-Id: I413b38c744bfe558b749784cfe8f8de8f6080cc9
2017-03-08 01:58:22 +00:00
Logan Chien
72385f07d8 Merge changes I3073efe9,I3b0f06e3,I4ca80033,I3bc23fd4,I327a085d, ...
am: 6622d54caf

Change-Id: I4a668694d180a4527b66c22ade3d2d434f2a1af9
2017-03-08 01:58:09 +00:00
Treehugger Robot
0092ef8928 Merge changes Ifed15e60,Icff8aeeb,I0365be01,I746b07a4
* changes:
  vndk-def: Remove dump_exported_symbols().
  vndk-def: Add parse from ELF dump file.
  vndk-def: Warn on bad user-specified dependencies.
  vndk-def: Split DT_NEEDED and dlopen() into two layers.
2017-03-08 01:53:57 +00:00
Treehugger Robot
6622d54caf Merge changes I3073efe9,I3b0f06e3,I4ca80033,I3bc23fd4,I327a085d, ...
* changes:
  vndk-def: Add GenericRefs.classify_lib().
  vndk-def: Link imported symbols.
  vndk-def: Add vndk-stable finder.
  vndk-def: Extract sp-hal finder.
  vndk-def: Return ELFLinkData for unit test.
  vndk-def: Refactor BannedLibDict and add unittests.
  vndk-def: Separate SP-NDK from HL-NDK.
2017-03-08 01:53:41 +00:00
Logan Chien
7972696f8d Merge "vndk-def: Move test_elfdump.py data into testdata."
am: e214fa3de9

Change-Id: Ic80b711f6c0f3827470590ae1c7eda8618b24888
2017-03-08 01:50:36 +00:00
Treehugger Robot
e214fa3de9 Merge "vndk-def: Move test_elfdump.py data into testdata." 2017-03-08 01:42:31 +00:00
Logan Chien
4888522fa0 vndk-def: Implement latest VNDK heuristics.
Test: ./tests/run.py

Change-Id: Ib52d215fde16e2a09dce27a5cc1d98834259d7f2
2017-03-07 20:34:28 +08:00
Logan Chien
d240feeaa3 vndk-def: Remove dump_exported_symbols().
This commit removes dump_exported_symbols() and replace the usages with
dump().

Test: ./tests/run.py
Change-Id: Ifed15e606e470c25a3c0a9090b60889e9cb4cb28
2017-03-07 13:00:39 +08:00