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


Reply via email to