PATCH: stap fails if !CONFIG_FRAME_POINTER && !CONFIG_UTRACE

Mark Wielaard mjw@redhat.com
Thu Jun 10 21:51:00 GMT 2010


On Thu, 2010-06-10 at 13:41 +0200, Mark Wielaard wrote:
> I must admit that I am slightly confused how/why
> #if defined(CONFIG_UPROBES) || defined(CONFIG_UPROBES_MODULE)
> succeeds in that case though. How gets that defined if utrace isn't
> there?

O wait, I see, it doesn't get defined, we catch the #else:

#if defined(CONFIG_UPROBES) || defined(CONFIG_UPROBES_MODULE)
#include <linux/uprobes.h>
#else
#include "uprobes/uprobes.h"
#endif

[... actual autoconf-test ...]


So, in that case, the correct order of tests seems to be:


#if defined(CONFIG_UPROBES) || defined(CONFIG_UPROBES_MODULE)
  /* kernel built-in uprobes found */
  #include <linux/uprobes.h>
#else
  /* use systemtap local copy, but only if we also have utrace
  #if defined(CONFIG_UTRACE)
    #include <linux/uprobes.h>
  #else
    #error "CONFIG_UTRACE not enabled for systemtap uprobes"
  #endif
#endif

[... actual autoconf-test ...]



More information about the Systemtap mailing list