Allow apps to disable coverage for the entire app

We can't register the sancov initializers in the coverage aggregator
app without causing a loop where the aggregator tries to connect to
itself during initialization. Add a new make flag, APP_DISABLE_COVERAGE,
to entirely disable coverage instrumentation for an entire app.

Test: UBSAN_ENABLED=true qemu-generic-arm64-fuzz-test-debug
Bug: 179931565
Change-Id: I852fcea2be494713318ff71ee1909fa489cbb774
1 file changed
tree: 9a90e6ff1202cce92ff81a2d414261c3bcba9cfe
  1. .clang-format
  2. .gitignore
  5. app/
  6. arch/
  7. build-config-kerneltests
  8. dev/
  10. external/
  11. hosttests/
  12. include/
  13. kernel/
  15. lib/
  17. make/
  18. makefile
  19. platform/
  20. target/
  21. tools/
  22. top/


The LK embedded kernel. An SMP-aware kernel designed for small systems.

See for the latest version.

See for documentation.


Build Status

To build and test for ARM on linux

  1. install or build qemu. v2.4 and above is recommended.
  2. install gcc for embedded arm (see note 1)
  3. run scripts/do-qemuarm (from the lk directory)
  4. you should see ‘welcome to lk/MP’

This will get you a interactive prompt into LK which is running in qemu arm machine ‘virt’ emulation. type ‘help’ for commands.

note 1: for ubuntu: sudo apt-get install gcc-arm-none-eabi or fetch a prebuilt toolchain from