In T334725 we encountered an issue where the output of a tool changed between versions (we also saw a different but very similar problem in T327887). This is unfortunate but is entirely to be expected when we expect tools to output binary output to stdout when -o or other output to file functions are available. We currently use a mix of writing to temporary files and capturing tool output.
Wherever possible we should avoid using stdout in tools and using canonical output-to-file functions. Of course, wherever we do this it is imperative that we clean up any temp files when work is complete or upon any exception cases.