intel_asm_annotation.c is part of libintel_compiler.la, which contains
code for disassembling and validating shaders that we want to call in
aubinator_error_decode.
dump_assembly() calls nir_print_instr() to print annotations, and
although dump_assembly() is not called by aubinator_error_decode (nor is
any function in intel_asm_annotation.c) it causes undefined references
to nir_print_instr().
To work around, provide a no-op weak symbol to resolve against.
#include "intel_asm_annotation.h"
#include "compiler/nir/nir.h"
+__attribute__((weak)) void nir_print_instr(const nir_instr *instr, FILE *fp) {}
+
void
dump_assembly(void *assembly, int num_annotations, struct annotation *annotation,
const struct gen_device_info *devinfo)