The 'nop' backend does not emit any C code and therefore leaves trace/generated-tracers.c empty. Peter Maydell <[email protected]> reports that ranlib(1) prints a warning when it encounters object files that define no symbols:
/usr/bin/ranlib: file: libqemuutil.a(generated-tracers.o) has no symbols Define a dummy symbol to silence ranlib(1). Note that it will not be linked into the final binary since there are no dependencies on it. Reported-by: Peter Maydell <[email protected]> Signed-off-by: Stefan Hajnoczi <[email protected]> --- Peter: Please test this patch. It feels a little dirty but I think it's worth getting rid of the ranlib warning in the default build on your host. scripts/tracetool/format/c.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scripts/tracetool/format/c.py b/scripts/tracetool/format/c.py index 35555ae..9596e3a 100644 --- a/scripts/tracetool/format/c.py +++ b/scripts/tracetool/format/c.py @@ -17,4 +17,10 @@ from tracetool import out def begin(events): - out('/* This file is autogenerated by tracetool, do not edit. */') + out('/* This file is autogenerated by tracetool, do not edit. */', + '', + '/* Prevent backends that do not emit any C code from hitting a ' + ' * warning in some versions of ranlib(1) because the object file ' + ' * has no symbols.' + ' */', + 'const char trace_c_unused_symbol_dummy;') -- 1.8.1
