//! A library that breaks every rule `audit_android.zig` checks, so `zig build test` can //! hold the auditor to failing on it. An audit that passes everything would be //! indistinguishable from a working one by looking at the real libraries. //! //! It references a symbol it does not define, has a thread-local (a TLS segment, and a //! reference to `__tls_get_addr`), is linked at the default 4 KiB page alignment, //! needs another library (`build.zig` links it against one), and exports no JNI entry //! points. extern fn puts(s: [*:0]const u8) c_int; extern fn tally_audit_dependency() c_int; threadlocal var calls: u32 = 0; export fn tally_audit_fixture() c_int { calls += 1; return puts("never called: this library exists to be refused") + tally_audit_dependency(); }