tree: fadad80965e5337cd963f6a901a123e9f6e8bc85 [path history] [tgz]
  1. arm_ehabi_unwind_table.cc
  2. arm_ehabi_unwind_table.h
  3. BUILD.gn
  4. libunwind_info_test_data.targetso
  5. README.md
src/lib/unwinder/test_data/README.md

Test data for the unwinder

This is used for testing certain unwinding implementations that need a real binary to parse. At this time, these tests are heavily reliant on the binary layout of the file being stable, so the binary itself is checked into the tree. Follow the below instructions to update the binary when the source file is changed.

Building a new binary

  1. Add //src/lib/unwinder/test_data:unwind_info_test_data(//build/toolchain:linux_arm-shared) to the build graph. The easiest way to do this is to have the test binary in //src/lib/unwinder:unwinder_tests_bin dep on that target. The toolchain argument is important because the binary is specifically meant to be generated with the aarch32 toolchain and generate Arm32 bit unwind tables.
  2. The resulting shared object file will be at //out/<dir>/linux_arm-shared/libunwind_info_test_data.so. Copy that file to //src/lib/unwinder/test_data/libunwind_info_test_data.targetso, then remove the dep from step 1.

This could be updated in the future to pull prebuilt binaries from CIPD if they get too big to keep checked into the tree. See the zxdb documentation at //src/developer/debug/zxdb/symbols/test_data/README.md for an example of how to do that.