Commit Graph

10 Commits

Author SHA1 Message Date
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
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
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
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