This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: PATCH: stap fails if !CONFIG_FRAME_POINTER && !CONFIG_UTRACE
On Thu, Jun 10, 2010 at 01:49:17PM +0200, Mark Wielaard wrote:
> 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:
Right.
> #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 ...]
This works also, lmk if you want a revised patch.
Tony