Commit Graph

33188 Commits

Author SHA1 Message Date
Hsin-Yi Chen
231fe7b57a Do not remove reference dumps before building new dumps
Adding or removing the dump files cause soong to regenerate the
ninja files, which takes a few minutes for every product.
create_reference_dumps.py makes "findlsdumps" and the lsdumps paths.
These targets do not trigger ABI diff. Thus it is not necessary to
remove the reference dumps before building new dumps.

Test: ./create_reference_dumps.py
Bug: 255702405
Change-Id: I4f4a43476d7a9c46d41ef237b846547ed41c7c04
2022-12-09 11:47:19 +08:00
Hsin-Yi Chen
0bfb1a674b Merge "Remove DiffStatus::opaque_diff" 2022-12-06 07:42:04 +00:00
Hsin-Yi Chen
e14853c82d Remove DiffStatus::opaque_diff
Since the helper function can compare the opaque types' unique IDs, it
is not necessary to return opaque_diff and compare the reference types'
names.

Test: ./test.py
Bug: 255702405
Change-Id: I1264b0f4d0db178a3dc2202a265c5ccb38df7dc2
2022-12-06 10:38:52 +08:00
Treehugger Robot
92c1be2a08 Merge "Provide a script to update the generated Android.bp" 2022-11-30 04:45:25 +00:00
Justin Yun
c7c0e42748 Provide a script to update the generated Android.bp
modify_bp_for_hwasan.sh updates the generated Android.bp to use
hwasan prebuilt libraries.

Bug: 234772527
Test: modify_bp_for_hwasan.sh Android.bp arch-arm64-armv8/hwasan
      modify_bp_for_hwasan.sh Android.bp restore
Change-Id: I1443200297119d162b680bd8ddd87a9e4ced2e31
2022-11-30 04:44:27 +00:00
Treehugger Robot
0f52d13b21 Merge "multi_update.py update all VNDK snapshots at once." 2022-11-30 04:44:08 +00:00
Justin Yun
9d2e85ec43 multi_update.py update all VNDK snapshots at once.
multi_update.py runs the update.py for all branches at once.
It makes vndk snapshot update much easy.

Bug: 260021945
Test: development/vndk/snapshot/multi_update.py --all -vv
Change-Id: Iaeadf75c8e05f54bcda2c577aba58f483e99ca00
2022-11-30 04:43:03 +00:00
Hsin-Yi Chen
96cfb0519c Merge "Do not create ABI dumps in AOSP directories for vendor libraries" 2022-11-29 10:26:12 +00:00
Hsin-Yi Chen
21861cfece Do not create ABI dumps in AOSP directories for vendor libraries
create_reference_dumps.py recognizes VENDOR and PRODUCT tags in
lsdump_paths.txt. The dumps tagged with VENDOR, PRODUCT, VNDK-ext, or
VNDK-SP-ext cannot be created in the AOSP directories in
prebuilts/abi-dumps. The user who wants to generate dumps for vendor
libraries must specify -ref-dump-dir.

Test: ./create_reference_dumps.py -libs libutils
Test: ./create_reference_dumps.py -libs libutils -ref-dump-dir ./test-abi-dumps
Bug: 227282691
Change-Id: Iecf695d23d7a2e5a67859954c905fa9d1481b8ae
2022-11-29 16:20:54 +08:00
Treehugger Robot
cc18ab77b1 Merge "Get latest stable version rather than absolute latest." 2022-11-28 16:55:39 +00:00
Hsin-Yi Chen
edb8d1d2e3 Merge "Deprecate compressed reference dumps" 2022-11-25 07:49:37 +00:00
Hsin-Yi Chen
1c028bb8dd Deprecate compressed reference dumps
create_reference_dumps.py no longer supports compressing dumps because
they cannot be reviewed or merged.

Bug: 227282691
Test: development/vndk/tools/header-checker/utils/create_reference_dumps.py
Change-Id: If4adccb865e3dba1e8045a6850478e46c9eae5de
2022-11-25 07:48:59 +00:00
Hsin-Yi Chen
938212fc2c Merge "Do not create versioned subdirectories in -ref-dump-dir" 2022-11-25 07:48:27 +00:00
Hsin-Yi Chen
9a49ca01f9 Do not create versioned subdirectories in -ref-dump-dir
This commit changes the structure of -ref-dump-dir. If the argument is
specified, create_reference_dumps.py generates
<arch>/source-based/<lib>.so.lsdump. Otherwise, the script generates
<version>/<binder>/<arch>/source-based/<lib>.so.lsdump in the default
dump directories. Library developers need to use -ref-dump-dir to create
opt-in reference dumps.

Bug: 227282691
Test: development/vndk/tools/header-checker/utils/create_reference_dumps.py \
      -libs libutils -ref-dump-dir system/core/libutils/abi-dumps
Change-Id: I74cf7d092de405c76df31757104d66f75fcb9056
2022-11-25 10:39:37 +08:00
Krzysztof Kosiński
3726099bf3 Merge "Use asm built from source." 2022-11-22 03:45:04 +00:00
Treehugger Robot
5ef48d4bab Merge "Support extra targets for build_vendor script" 2022-11-21 14:47:03 +00:00
Inseob Kim
5abc87200b Support extra targets for build_vendor script
Bug: 253526778
Test: manual
Change-Id: Ie98f6d6e81b3fb559ce88e786b39778263bcb658
2022-11-21 22:48:51 +09:00
Andrew Walbran
b5ef53e335 Get latest stable version rather than absolute latest.
We don't want to import alpha versions, generally.

Test: get_rust_pkg.py -add3prf zerocopy
Change-Id: If51a5f9786ccbae8b8f858ae51153a0ffb5ffe7f
2022-11-18 15:35:09 +00:00
Hsin-Yi Chen
9ea932b958 Merge "Fix the unit test for header-abi-dumper -print-resource-dir" 2022-11-18 01:57:13 +00:00
Hsin-Yi Chen
315d047b46 Fix the unit test for header-abi-dumper -print-resource-dir
The resource dir has been changed from lib64 to lib since clang-r468909.
build-prebuilts.sh creates lib in the dist dir so that developers can
easily run the binaries.

Test: development/vndk/tools/header-checker/android/build-prebuilts.sh
Test: development/vndk/tools/header-checker/tests/test.py
Bug: 255702405
Change-Id: I9bed6f0fd7948830a89d9e24889d9341ebf1a9c4
2022-11-17 02:32:06 +00:00
Krzysztof Kosiński
89155289e1 Use asm built from source.
Bug: 259136464
Test: presubmit
Change-Id: I6b789ac201132fda3c94c81162f4368068722862
2022-11-16 18:58:59 +00:00
Treehugger Robot
e1d600b62c Merge "Filter global variables and functions by -ignore-linker-set-key" 2022-11-16 09:05:43 +00:00
Hsin-Yi Chen
f5b6ebad09 Filter global variables and functions by -ignore-linker-set-key
Test: ./test.py HeaderCheckerTest.test_libgolden_cpp_return_type_diff
Bug: 259148872
Change-Id: I81f672d650a93eee69107ade07fc660a64c38e45
2022-11-16 15:43:22 +08:00
Treehugger Robot
aa16c32035 Merge "Allow extending vtables" 2022-11-10 11:27:54 +00:00
Christopher Ferris
1fdef9f560 Merge "Only add files in GlobSymbolsDir." 2022-11-09 20:57:51 +00:00
Christopher Ferris
e6e02b0e22 Only add files in GlobSymbolsDir.
I previously skipped directories, but that can still lead to problems.
So instead, only add paths that are files.

Test: Ran over a stack that failed when trying to run llvm-readelf
Test: on a directory. After this fix, everything get line numbers.
Change-Id: Ide39c5a118d78a822057cc3977d0f532595f798b
2022-11-08 17:47:37 -08:00
Treehugger Robot
e15b77f040 Merge "Revert "Remove renderscript related samples"" 2022-11-08 21:51:45 +00:00
Paul Lawrence
9b3ab88730 Revert "Remove renderscript related samples"
This reverts commit 7c7f0903b6.

Reason for revert: aosp-master sdk build is broken by this change
Bug: 258238947
Test: ACA has successfully verified the above culprit
Change-Id: I6a6ea4778f72e09780a04e062ec3b664aee2001f
2022-11-08 20:43:51 +00:00
Elliott Hughes
d946117723 Merge "Remove renderscript related samples" 2022-11-08 18:16:58 +00:00
Mao Han
7c7f0903b6 Remove renderscript related samples
Change-Id: Ieda294eae9febe304c3d15bd0207c3d3aad71c3c
2022-11-08 00:21:56 +00:00
Hsin-Yi Chen
393ba54671 Allow extending vtables
This commit adds VTableLayoutDiffIR::IsExtended() that determines
whether the difference is a pure extension, i.e., appending virtual
functions to vtables.

Test: ./test.py
Bug: 248418092
Change-Id: I339713c5fff1dfa50dc7875272c0e3a59f858f57
2022-11-07 14:51:13 +08:00
Treehugger Robot
99a9d7be5e Merge "Update deps for rmtypedefs and mkstubs." 2022-11-05 03:42:44 +00:00
Krzysztof Kosiński
02fd031e00 Update deps for rmtypedefs and mkstubs.
Use Guava built from source and a newer version of asm.

Test: mm
Bug: 244341573
Change-Id: Ic061b6a9b801f1378fafb23e493f1d29c46b06fe
2022-11-04 19:25:41 +00:00
Christopher Ferris
9d99dc95aa Merge "Fix build id check for libraries." 2022-11-03 18:38:14 +00:00
Elliott Hughes
14f9cec041 Merge "Remove renderscript samples." 2022-11-03 15:32:26 +00:00
Christopher Ferris
29fcc84e82 Fix build id check for libraries.
The current build id check uses the file utility. Unfortunately, it
doesn't work on all systems. Replace with a call to llvm-readelf and
get the bitness and build id using that data.

Other small modifications:
- Only attempt to get the full path for a library once for each library.
- Do not add directories into the symbol libraries.

Test: Unit tests pass.
Test: Running using a libart.so that file doesn't understand and
Test: verifying the line numbers are correct.
Change-Id: I12c3d3c4599d201c3c01feeb48448fee6c633d71
2022-11-02 17:55:57 -07:00
Elliott Hughes
cbb1cbc777 Remove renderscript samples.
Renderscript is deprecated and scheduled for removal. Let's start by
removing the easiest part to remove.

Test: treehugger
Change-Id: I5f172497756c3931ccfda742e9c08bde56b362c9
2022-11-02 16:56:36 +00:00
Treehugger Robot
e6b57e4a05 Merge "Add logcat APIs." 2022-10-24 17:19:27 +00:00
Treehugger Robot
7487a0a121 Merge "Add the instructions to resolve ABI difference" 2022-10-24 09:25:25 +00:00
Hsin-Yi Chen
3776a20379 Add the instructions to resolve ABI difference
The instructions are organized into a section. The developers who need
to resolve ABI difference can easily find it.

Test: None
Bug: 244520027
Change-Id: I211de0e1f65eece093fe716122753ea795c43b3e
2022-10-24 16:41:14 +08:00
Dan Albert
034e7e2827 Add logcat APIs.
Bug: None
Test: Using this in the NDK
Change-Id: I8becab8a0697f2378f1ce472091be497ba13c848
2022-10-20 17:03:10 -07:00
Treehugger Robot
a063ff34e4 Merge "Use gdb-remote without host if not given" 2022-10-19 18:38:57 +00:00
Florian Mayer
b61f795aa4 Use gdb-remote without host if not given
Test: lldbclient.py -r ls
Change-Id: I162d318fa30c44f180b6104b31e61e7521fb6a48
2022-10-19 01:16:11 +00:00
Treehugger Robot
002769b04c Merge "Remove scripts that haven't yet been updated for python3." 2022-10-18 23:10:29 +00:00
Elliott Hughes
f8b9b91130 Remove scripts that haven't yet been updated for python3.
That seems like a sign none of these are used. (Two of them haven't been
touched since their initial import in 2009!)

Test: treehugger
Change-Id: I76042f6c8fab84669c83aa72cd0b5df13f01ed7c
2022-10-18 21:41:59 +00:00
Treehugger Robot
c3f6fcabf1 Merge "[clang-tools] Symlink lib -> lib64 in prebuilts/clang-tools" 2022-10-18 18:48:28 +00:00
Pirama Arumuga Nainar
59eac68f50 [clang-tools] Symlink lib -> lib64 in prebuilts/clang-tools
Bug: http://b/241011085

Create symlink lib -> lib64 as toolchain libraries have a RUNPATH pointing
to $ORIGIN/../lib instead of lib64

Test: presubmit with new clang-tools prebuilts
Change-Id: I90973fc756b9489a16a0837473b86e728f50d8e0
2022-10-18 16:39:07 +00:00
Chih-hung Hsieh
2a2efc7cf0 Merge "Update clang-tools build to clang-r468909" 2022-10-18 04:02:14 +00:00
Chih-Hung Hsieh
21b04bc844 Update clang-tools build to clang-r468909
Bug: 241011085
Test: presubmit
Change-Id: I969239931c07dd97ce0259a3766ae93d68b21927
2022-10-17 23:45:22 +00:00
Treehugger Robot
eb8582344b Merge "Fix errorprone warnings that should be errors" 2022-10-17 16:03:16 +00:00