18 lines
788 B
Zig
18 lines
788 B
Zig
//! 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();
|
|
}
|