[roll] Roll fuchsia [build] Add script to verify ELF binaries in packages. This CL adds a script to verify the ELF binaries inside a Fuchsia package or system image. As such, it is called both from fuchsia_package() and generate_manifest(). Its purpose is to verify that: - Every executable binary has all its dependency libraries in the same package, either under lib/ or lib/<variant>/ in the case of instrumented builds. This supports putting binaries built with distinct variants in the same package or system image. - Each ELF binary is properly stripped (unless under /data/) - For system images only, verify that each ELF binary has a corresponding debug file provded in the build system. This is currently disabled for fuchsia_package() because our Go-compiled binaries do not have debug information. This also happens with prebuilt driver binaries. Note that for Fuchsia packages, this can be disabled by setting 'disable_elf_binaries_checks = true' when calling fuchsia_package() or fuchsia_package_with_single_component(). This is necessary for the android_starnix package for example, which embeds non-Fuchsia binaries (some of them unstripped). This mirrors most of the features of finalize_manifests.py, except for its automatic stripping of ELF binaries, which is required when using a custom clang or rust toolchain. A future CL will address this specific point. + Fix the icd_strip test package to use the new fuchsia_test_package() template, and to always put the ICD library under lib/, even when it was built with a variant toolchain. This allows simplifying the test's logic to not depend on implementation details of our dynamic loader / build system. + Fix the src/media/lib/ffmpeg/BUILD.gn file to install the prebuilt libffmpeg.so to the right location when building with an instrumented variant. Before that, it was always installed as lib/libffmpeg.so, but the bin/mediaplayer program would try to find it from lib/asan/libffmpeg.so instead. Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/495961 Original-Revision: 3b0093820f624f973165a8c039554bfb4f626ea8 GitOrigin-RevId: 30013adf4d312e6b51bbded10cefead51ddf7021 Change-Id: I11a1ac0254676096284af633f96279082aab2add
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.