• Steven Rostedt (Red Hat)'s avatar
    tracing: Do not use signed enums with unsigned long long in fgragh output · 6fc84ea7
    Steven Rostedt (Red Hat) authored
    The duration field of print_graph_duration() can also be used
    to do the space filling by passing an enum in it:
    
      DURATION_FILL_FULL
      DURATION_FILL_START
      DURATION_FILL_END
    
    The problem is that these are enums and defined as negative,
    but the duration field is unsigned long long. Most archs are
    fine with this but blackfin fails to compile because of it:
    
    kernel/built-in.o: In function `print_graph_duration':
    kernel/trace/trace_functions_graph.c:782: undefined reference to `__ucmpdi2'
    
    Overloading a unsigned long long with an signed enum is just
    bad in principle. We can accomplish the same thing by using
    part of the flags field instead.
    
    Cc: Mike Frysinger <vapier@gentoo.org>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    6fc84ea7
trace.h 30.3 KB