> Other addresses in this code are printed with ("%#" PRIx64).
> (AFAIK '#' here will always give "0x", but lets keep it consistent).
%#x prints "0" for zero (not "0x0"). Indeed it is the right thing to use here.
> It's also curious that nothing is done with op1 after printing it.
> Shouldn't this set pc, at least?
I think it should, but that is unrelated to this change.
Arguably, it should be:
get_uleb128 (op1, readp, endp);
op1 *= code_align;
printf (" set_loc %#" PRIx64 " to %#" PRIx64 "\n",
op1, pc = vma_base + op1);
so that it displays the literal value (like the other cases do) as well as
the final value (which in this case is just with VMA_BASE added in).