On 02/02/2018 03:37 PM, Markus Armbruster wrote: > This is my attempt to salvage a good part of Alistair's error > reporting cleanup series > > [PATCH v6 00/29] Remove some of the fprintf(stderr, "* > > Continue on improving QEMUs logging/error messages by removing more > fprintf()'s. > > Unfortunatley my Coccinelle skills aren't that great so it's all done in > some nasty regex and a little bit of manual work. > > It foundered on the problem that some of its fprintf() to > error_report() conversions are inappropriate, see > > Message-ID: <87lghulqno....@dusky.pond.sub.org> > https://lists.gnu.org/archive/html/qemu-devel/2017-12/msg04961.html > > Alistair didn't feel like checking about one hundred conversions by > hand, which is understandable. But letting the work go to waste would > be a shame, so I wrote an AWK script (see below) to extract a common > kind of obviously good conversions: the ones where the fprintf() is > followed by exit(). Judging from the diffstat, this salvages more > than half of his conversion work.
Thanks for this :) except patch 12 and the dtc submodule change reported by Eric in patch 15, series: Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > > v7: > * Old PATCH 02,03,21 are already in master, drop > * Conversions not obviously followed by exit() dropped > Nothing left in old PATCH 06-12,16,17,22, drop > R-bys dropped > * Rebased, trivial conflict in the last patch resolved > > > #!/usr/bin/awk -f > > hunk && /^\+[ \t]*error_report/ { > n++ > er_indent = match(substr($0, 2), /[^ \t]/) > er_nr = NR > plus = 0 > fatal = 0 > } > > hunk && er_indent && /^\+/ { > plus++ > } > > hunk && er_indent && /^[ \t]*exit/ { > d = NR - er_nr - plus > if (maxd < d) > maxd = d > fatal = 1 > } > > hunk && er_indent && match(substr($0, 2), /[^ \t]/) < er_indent { > if (fatal) > nf++ > er_indent = 0 > } > > hunk && /^[-+ ]/ { > hunk = hunk "\n" $0 > next > } > > hunk { > if (n && nf && n != nf) > print loc, "mixed hunk", n, nf >"/dev/stderr" > else if (n && !nf) > print loc, "non-fatal hunk", n, nf >"/dev/stderr" > else if (!n || nf) > print hunk > hunk = "" > } > > /^@@ / { > hunk = $0 > loc = FILENAME ":" FNR ":" > n = nf = 0 > next > } > > { > print > } > > END { > print "max distance", maxd+0 >"/dev/stderr" > } > > Alistair Francis (15): > audio: Replace AUDIO_FUNC with __func__ > hw/arm: Replace fprintf(stderr, "*\n" with error_report() > hw/dma: Replace fprintf(stderr, "*\n" with error_report() > hw/lm32: Replace fprintf(stderr, "*\n" with error_report() > hw/mips: Replace fprintf(stderr, "*\n" with error_report() > hw/moxie: Replace fprintf(stderr, "*\n" with error_report() > hw/openrisc: Replace fprintf(stderr, "*\n" with error_report() > hw/pci*: Replace fprintf(stderr, "*\n" with error_report() > hw/ppc: Replace fprintf(stderr, "*\n" with error_report() > hw/sd: Replace fprintf(stderr, "*\n" with error_report() > hw/sparc*: Replace fprintf(stderr, "*\n" with error_report() > hw/timer: Replace fprintf(stderr, "*\n" with error_report() > hw/xen*: Replace fprintf(stderr, "*\n" with error_report() > tcg: Replace fprintf(stderr, "*\n" with error_report() > target: Use qemu_log() instead of fprintf(stderr, ...) > > audio/alsaaudio.c | 4 ++-- > audio/audio.c | 40 +++++++++++++++---------------- > audio/audio_int.h | 6 ----- > audio/audio_pt_int.c | 28 +++++++++++----------- > audio/audio_template.h | 26 ++++++++++---------- > audio/dsoundaudio.c | 2 +- > audio/mixeng.c | 2 +- > audio/ossaudio.c | 10 ++++---- > audio/paaudio.c | 56 > ++++++++++++++++++++++---------------------- > audio/sdlaudio.c | 2 +- > audio/wavaudio.c | 2 +- > cpus.c | 10 ++++---- > dtc | 2 +- > exec.c | 6 ++--- > hw/arm/armv7m.c | 2 +- > hw/arm/boot.c | 16 ++++++------- > hw/arm/gumstix.c | 13 +++++----- > hw/arm/mainstone.c | 7 +++--- > hw/arm/musicpal.c | 2 +- > hw/arm/omap1.c | 5 ++-- > hw/arm/omap2.c | 3 ++- > hw/arm/omap_sx1.c | 2 +- > hw/arm/pxa2xx.c | 7 +++--- > hw/arm/vexpress.c | 8 +++---- > hw/arm/z2.c | 6 ++--- > hw/dma/soc_dma.c | 36 ++++++++++++++-------------- > hw/lm32/lm32_boards.c | 7 +++--- > hw/lm32/milkymist.c | 7 +++--- > hw/mips/mips_fulong2e.c | 13 +++++----- > hw/mips/mips_jazz.c | 4 ++-- > hw/mips/mips_malta.c | 16 ++++++------- > hw/mips/mips_mipssim.c | 11 ++++----- > hw/mips/mips_r4k.c | 16 ++++++------- > hw/moxie/moxiesim.c | 13 +++++----- > hw/openrisc/openrisc_sim.c | 4 ++-- > hw/pci-host/bonito.c | 6 ++--- > hw/pci/pci.c | 4 ++-- > hw/ppc/e500.c | 16 ++++++------- > hw/ppc/mac_newworld.c | 2 +- > hw/ppc/mac_oldworld.c | 2 +- > hw/ppc/ppc405_boards.c | 15 +++++------- > hw/ppc/ppc440_bamboo.c | 16 ++++++------- > hw/ppc/prep.c | 4 ++-- > hw/ppc/virtex_ml507.c | 4 ++-- > hw/sd/sd.c | 7 +++--- > hw/sparc/leon3.c | 16 ++++++------- > hw/sparc/sun4m.c | 16 ++++++------- > hw/sparc64/niagara.c | 4 ++-- > hw/sparc64/sun4u.c | 10 ++++---- > hw/timer/xilinx_timer.c | 10 ++++---- > hw/xen/xen-common.c | 5 ++-- > hw/xenpv/xen_machine_pv.c | 9 +++---- > target/cris/translate.c | 2 +- > target/ppc/translate.c | 36 ++++++++-------------------- > target/sh4/translate.c | 7 ++---- > target/unicore32/translate.c | 2 +- > vl.c | 2 +- > 57 files changed, 277 insertions(+), 312 deletions(-) >