• Frederic Weisbecker's avatar
    tracing/markers: make markers select tracepoints · 91f73f90
    Frederic Weisbecker authored
    Sometimes it happens that KConfig dependencies are not handled
    like in the following scenario:
    
    - config A
       bool
    
    - config B
       bool
       depends on A
    
    - config C
       bool
       select B
    
    If one selects C, then it will select B without checking its
    dependency to A, if A hasn't been selected elsewhere, it will
    result in a build failure.
    
    This is what happens on the following build error:
    
     kernel/built-in.o: In function `marker_update_probe_range':
     (.text+0x52f64): undefined reference to `tracepoint_probe_register_noupdate'
     kernel/built-in.o: In function `marker_update_probe_range':
     (.text+0x52f74): undefined reference to `tracepoint_probe_unregister_noupdate'
     kernel/built-in.o: In function `marker_update_probe_range':
     (.text+0x52fb9): undefined reference to `tracepoint_probe_unregister_noupdate'
     kernel/built-in.o: In function `marker_update_probes':
     marker.c:(.text+0x530ba): undefined reference to `tracepoint_probe_update_all'
    
    CONFIG_KVM_TRACE will select CONFIG_MARKER, but the latter
    depends on CONFIG_TRACEPOINTS which will not be selected.
    Reported-by: default avatarIngo Molnar <mingo@elte.hu>
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    91f73f90
Kconfig 33.7 KB