Факт, valgrind'a нет больше в AOSP:
~/sources/android-repo $ ~/sources/git-repo/repo list | grep -i val
external/vulkan-validation-layers : platform/external/vulkan-validation-layersПояснение: если в последнем на текущий момент репозитории
Android Open Source Project пролистать все проекты, то там не окажется "valgrind".
Тем не менее,
он там был:
android / platform / external / valgrind
Clone this repo: git clone
https://android.googlesource.com/platform/external/valgrind
commit 24ba4df17583b05b80356f40149645a7b46633b9
author Elliott Hughes Tue Jun 12 19:13:03 2018 +0000
committer Gerrit Code Review Tue Jun 12 19:13:03 2018 +0000
Merge "Stop building valgrind as step one of deprecation and removal."
И остались в сети даже дельные советы, как собрать его "из коробки":
https://aykevl.nl/2017/06/android-asan-valgrind - мне очень помогло с нашим старым AOSP! Просто включение подпроекта валгринда в список собираемых проектов приводило к сборке бинарника, но не библиотеки для него:
- out/host/linux-x86/obj/NOTICE_FILES/src/lib64/valgrind
out/host/linux-x86/obj/EXECUTABLES/valgrind_intermediates/valgrind
- out/host/linux-x86/lib64/valgrind
out/host/linux-x86/bin/valgrind
- out/target/product/XXXXXX/system/lib/valgrind
out/target/product/XXXXXX/system/bin/valgrind
- out/target/product/XXXXXX/obj/NOTICE_FILES/src/system/lib/valgrind
out/target/product/XXXXXX/obj/EXECUTABLES/valgrind_intermediates/LINKED/valgrind
out/target/product/XXXXXX/obj/EXECUTABLES/valgrind_intermediates/valgrind
out/target/product/XXXXXX/obj/EXECUTABLES/valgrind_intermediates/PACKED/valgrind
- out/target/product/XXXXXX/symbols/system/lib/valgrind
out/target/product/XXXXXX/symbols/system/bin/valgrindМинусом отмечены каталоги, которые собрались только после использования инструкций по ссылке.
Или, как запустить, не переписывая или изменяя, приложение на Андройде под valgrind:
https://stackoverflow.com/questions/13531496/cant-run-a-java-android-program-with-valgrind/19235439Блин, к сожалению, так и не смог наше приложение запустить: то ли watchdog всё прибивает, то ли там яве стека не хватает. :-(
Если кто имеет положительный опыт - посоветуйте, что где "подкрутить", чтобы взлетело.
А главный вопрос этого поста:
Кто-нибудь знает реальную причину деприкейта (извините, уж не знаю, как смачно перевести это на русский) и выпиливания vlagrind из AOSP?
Я нашёл только вот это видео
2017 LLVM Developers’ Meeting: “Compiling Android userspace and Linux kernel with LLVM ” / Nick Desaulniers, Greg Hackmann, and Stephen Hinesв котором это объясняется постепенным переходом всего AOSP на Clang, в результате чего там остался только valgrind, который не был совместим:Other areas where we just didn’t know how to fix bugs yet.
○ Valgrind was the last instance of this escape to be fixed in AOSP.
■ Wrong clobbers for inline assembly in 1 case.
■ ABI + runtime library issues (we’ll chat about aeabi later).
A Continued History of LLVM and Android
● April 2016 - 99% Android Platform Clang (valgrind was the last!)
Но вообще-то, мне не составило труда собрать самый последний valgrind с вполне современным android-ndk-r21, там только одна проблемка простенькая была, я сначала поправил, а потом нашёл, что она хорошо известна:
https://bugs.kde.org/show_bug.cgi?id=339861
(
| Комментировать
в Dreamwidth)