Commit Graph

24 Commits

Author SHA1 Message Date
Logan Chien
f58bb5f1fe header-checker: Generate ABI dumps w/o gzip
This commit adds an option to generate ABI dumps without compressing
them with gzip.

Bug: 111376916
Test: ./create_reference_dumps.py
Test: ./create_reference_dumps.py --compress
Change-Id: I1ad0781744a9ba6ff34ffed9418576986daeb67d
2018-10-08 16:33:18 +08:00
Yi-yo Chiang
0946ce23fd Merge "create_reference_dumps.py: Change lsdump_paths.txt to newline-separated paths"
am: 77b844cb98

Change-Id: Ie1ac2158c9857df35a139599728d90147937ceae
2018-07-31 23:12:09 -07:00
Yi-yo Chiang
5c8b92b3c3 create_reference_dumps.py: Change lsdump_paths.txt to newline-separated paths
Split the content of lsdump_paths.txt with newline.

Bug: 111814844
Test: m vndk findlsdumps -j18
Test: ./utils/create_reference_dumps.py -products aosp_arm64
Change-Id: I76ed008382fff8589d29ab97720d262a7636d523
2018-07-26 10:24:29 +08:00
Jayant Chowdhary
36f6f66a0e create_reference_dumps.py: Make it easier to create per product abi references
Bug: 80372796

Test: utils/create_reference_dumps.py -p aosp_arm -l libjpeg

Change-Id: I15bc720dc7834dd4259ee574a358032cc76b0882
2018-06-01 15:28:55 -07:00
Jayant Chowdhary
daea70cfa3 create_reference_dumps.py: create abi references for aosp_arm(x86)
- P VNDK snapshot needs to include 64-bit binder target products,
    aosp_[arm|x86]. Additionally, replace aosp_[arm64|x86_64]_ab with
    aosp_[arm64|x86_64], the official GSI targets for P launching devices.

  - Also add the ability to create abi references for a single product

Bug: 80372796

Test: utils/create_reference_dumps.py -p aosp_arm

Change-Id: Id073850a11c23c3ff68a414fe7bfd0d70d16887d
2018-06-01 11:02:47 -07:00
Jayant Chowdhary
d39c61bdd0 Allow collection of abi references for cfi variants as well.
Bug: 66301104

Test: utils/create_reference_dumps.py -l libstagefright_foundation

Merged-In: Id6d0af1c6f8346df14196a82bfa098a4a2bc27e4
Change-Id: Id6d0af1c6f8346df14196a82bfa098a4a2bc27e4
(cherry picked from commit c1f9d4036a)
2018-05-14 18:36:48 -07:00
Jayant Chowdhary
c1f9d4036a Allow collection of abi references for cfi variants as well.
Bug: 66301104

Test: utils/create_reference_dumps.py -l libstagefright_foundation

Change-Id: Id6d0af1c6f8346df14196a82bfa098a4a2bc27e4
2018-05-14 10:58:42 -07:00
Jayant Chowdhary
b2144fb977 Unify command for creation of llndk, vndk abi references.
Bug: 64267858

Test: utils/create_reference_dumps.py creates llndk + vndk abi
      references

Test: utils/create_reference_dumps.py -l libjpeg

Merged-In: I72ae13fb9c48f23a62b959195dbd5fa6fe4c14b0
Change-Id: I72ae13fb9c48f23a62b959195dbd5fa6fe4c14b0
(cherry picked from commit a038b56c7d)
2018-04-12 09:07:39 -07:00
Jayant Chowdhary
a038b56c7d Unify command for creation of llndk, vndk abi references.
Bug: 64267858

Test: utils/create_reference_dumps.py creates llndk + vndk abi
      references

Test: utils/create_reference_dumps.py -l libjpeg

Change-Id: I72ae13fb9c48f23a62b959195dbd5fa6fe4c14b0
2018-04-11 15:38:04 -07:00
Jayant Chowdhary
7a0e6bd9f4 Make utils/create_reference_dumps.py slightly less slower when -l is specified.
Bug: 64267858

Test: Without this change:
          rm -rf $ANDROID_BUILD_TOP/out; utils/create_reference_dumps.py
	  -l libjpeg -> > 30 minutes
      With this change:
          rm -rf $ANDROID_BUILD_TOP/out; utils/create_reference_dumps.py
	  -l libjpeg -> approx 11.5 minutes

Merged-In: I9c145ed5d8c9a9cc2cb1dc7db9ab9b83843a291e
Change-Id: I9c145ed5d8c9a9cc2cb1dc7db9ab9b83843a291e
(cherry picked from commit 3dc4ff3ef0)
2018-03-30 11:26:16 -07:00
Jayant Chowdhary
3dc4ff3ef0 Make utils/create_reference_dumps.py slightly less slower when -l is specified.
Bug: 64267858

Test: Without this change:
          rm -rf $ANDROID_BUILD_TOP/out; utils/create_reference_dumps.py
	  -l libjpeg -> > 30 minutes
      With this change:
          rm -rf $ANDROID_BUILD_TOP/out; utils/create_reference_dumps.py
	  -l libjpeg -> approx 11.5 minutes

Change-Id: I9c145ed5d8c9a9cc2cb1dc7db9ab9b83843a291e
2018-03-29 22:43:04 +00:00
Jayant Chowdhary
9675149096 Add --llndk to create_reference_dumps.py for llndk libraries.
Currently, we do abi checks on the system variants of llndk libraries.
Therefore, add an 'llndk' flag to specify that the system variant should be
built.

Bug: 77101345

Test: utils/create_reference_dumps.py --llndk -l libdl produces
      libdl references.

Merged-In: Id4c607674f096daf041520d4a1ca43199d4451da
Change-Id: Id4c607674f096daf041520d4a1ca43199d4451da
(cherry picked from commit cd0e8aff22)
2018-03-28 10:07:34 -07:00
Jayant Chowdhary
cd0e8aff22 Add --llndk to create_reference_dumps.py for llndk libraries.
Currently, we do abi checks on the system variants of llndk libraries.
Therefore, add an 'llndk' flag to specify that the system variant should be
built.

Bug: 77101345

Test: utils/create_reference_dumps.py --llndk -l libdl produces
      libdl references.

Change-Id: Id4c607674f096daf041520d4a1ca43199d4451da
2018-03-27 12:45:20 -07:00
Jayant Chowdhary
9181f937e0 Bring abi references directory logic in sync with soong.
If BOARD_VNDK_VERSION is not specified or is equal to "current",
PLATFORM_VNDK_VERSION will be chosen. Currently, BOARD_VNDK_VERSION is always
equal to "current" because both system and vendor images are built in a single
source tree.

Bug: 64267858

Bug: 76036094

Test: utils/create_reference_dumps.py

Merged-In: I3bc76fc0029e9656881e2d8d1b2b80272120f6e6
Change-Id: I3bc76fc0029e9656881e2d8d1b2b80272120f6e6
(cherry picked from commit 302086856c)
2018-03-26 10:09:40 -07:00
Jayant Chowdhary
302086856c Bring abi references directory logic in sync with soong.
If BOARD_VNDK_VERSION is not specified or is equal to "current",
PLATFORM_VNDK_VERSION will be chosen. Currently, BOARD_VNDK_VERSION is always
equal to "current" because both system and vendor images are built in a single
source tree.

Bug: 64267858

Bug: 76036094

Test: utils/create_reference_dumps.py

Change-Id: I3bc76fc0029e9656881e2d8d1b2b80272120f6e6
2018-03-21 17:44:05 -07:00
Jayant Chowdhary
7ee3fb679a Use binder bitness instead of primary arch for references root.
Binder bitness does not always directly relate to primary arch as
thought before. For eg: a target with primary arch 'arm' could be using
64 bit binder.

Bug: 74362434

Test: utils/create_reference_dumps.py

Merged-In: I1c1214b538e67247c666307d1360e4260239e4e1
Change-Id: I1c1214b538e67247c666307d1360e4260239e4e1
(cherry picked from commit 5ab281f313)
2018-03-12 16:54:39 -07:00
Jayant Chowdhary
e29b5cf880 Fix copying lsdumps when TARGET_ARCH == TARGET_ARCH_VARIANT.
Bug: 64267858

Test: utils/create_reference_dumps.py -l libc++ for aosp_x86_64_ab (here
      TARGET_ARCH == TARGET_ARCH_VARIANT), copies libc++.so.lsdump to
      prebuilts/abi-dumps/vndk/current/x86_64/x864_64/source-based/libc++.so.lsdump

Merged-In: I8ec48bcfa5cf1487ac1f6e904c1b4cea70719aa3
Change-Id: I8ec48bcfa5cf1487ac1f6e904c1b4cea70719aa3
(cherry picked from commit de24e5dd01)
2018-03-12 16:54:18 -07:00
Jayant Chowdhary
5ab281f313 Use binder bitness instead of primary arch for references root.
Binder bitness does not always directly relate to primary arch as
thought before. For eg: a target with primary arch 'arm' could be using
64 bit binder.

Bug: 74362434

Test: utils/create_reference_dumps.py

Change-Id: I1c1214b538e67247c666307d1360e4260239e4e1
2018-03-08 10:58:32 -08:00
Jayant Chowdhary
de24e5dd01 Fix copying lsdumps when TARGET_ARCH == TARGET_ARCH_VARIANT.
Test: utils/create_reference_dumps.py -l libc++ for aosp_x86_64_ab (here
      TARGET_ARCH == TARGET_ARCH_VARIANT), copies libc++.so.lsdump to
      prebuilts/abi-dumps/vndk/current/x86_64/x864_64/source-based/libc++.so.lsdump

Change-Id: I8ec48bcfa5cf1487ac1f6e904c1b4cea70719aa3
2018-03-02 13:22:22 -08:00
Jayant Chowdhary
76183b7a83 Shenanigans to make create_reference_dumps.py more usable.
- pick up lsdump paths from
  $(OUT_DIR)/lsdump_paths/$(TARGET_PRODUCT)/paths.txt instead of
  searching through out/soong/.intermediates.

- llndk lsdumps also get picked up and copied to ref dump dir root now

- creation of references are more fine grained to take into account
  target arch variant and cpu variant as well.

- references for vndk libs and llndk libs for all target archs and
  variants can be generated with one invocation of the script now.

Test: utils/create_reference_dumps.py -l libjpeg -l libc++ -l libc

Test: utils/create_reference_dumps.py -l libjpeg -l libc++ -l libc
      --no-make-lib

Test: utils/create_reference_dumps.py

Change-Id: I9105900b70c62c01f8282e1782cb38a42f4d4356
2018-03-01 15:11:32 -08:00
Logan Chien
f7b388328b header-checker: Code cleanup
Test: None (No functionality changes)
Change-Id: I18078a5465d4d93bacc8ba381d3ca727ea423ef7
2018-01-09 18:17:08 +08:00
Jayant Chowdhary
c18ded4bb0 Make create_reference_dumps.py faster.
Since we now build and install all vndk libraries,regardless of
dependencies, we may just look for all files with the extension '.lsdump' for
TARGET_ARCH and TARGET_2ND_ARCH, and copy them to the given reference dump
directory.

Test: utils/create_reference_dumps.py --version current -ref-dump-dir
      <dir> creates reference dumps at <dir>

Change-Id: Ic9db57b00614b3e8dc18d8e56eab4bd87df1723c
2017-12-07 12:46:18 -08:00
Jayant Chowdhary
88d7c1f30f Update create_reference_dumps.py --help messages.
Test: utils/create_reference_dumps.py --help shows updated messages.

Change-Id: Ibc4bf08725469a3d7dd60a77a745b7642621267d
2017-08-28 11:59:38 -07:00
Jayant Chowdhary
860b41407e Add more comprehensive tests for abi diffing.
1) We do not involve the build system to create test reference dumps. Symbols
in tests, are faked through version scripts to avoid checking in prebuilt .so
test files.

2) Also add a script to create reference abi dumps.

3) Fix a comment in ast_processing.cpp

Test: Run tests/test.py, all tests run and pass on generic arm64, mips64
and x86_64 builds.

Change-Id: Id3a420c1ae093a05a79da4c29e85071f28d714d1
2017-08-24 23:41:01 -07:00