public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] perf trace/scripting: A couple bugfixes
@ 2009-12-07  5:31 Tom Zanussi
  2009-12-07  5:31 ` [PATCH 1/2] perf trace/scripting: Fix compile err when libperl not installed Tom Zanussi
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Tom Zanussi @ 2009-12-07  5:31 UTC (permalink / raw)
  To: linux-kernel; +Cc: mingo, fweisbec, rostedt, acme

One fixes a compile error when libperl isn't installed, the other
fixes an annoying message about scripting being unsupported even when
the perf trace cmd isn't trying to use scripting.

Tom Zanussi (2):
  perf trace/scripting: Fix compile err when libperl not installed
  perf trace/scripting: Don't display 'scripting unsupported' msg
    unnecessarily

 tools/perf/util/trace-event-perl.c |   67 +++++++++++++++++++++++++++++------
 tools/perf/util/trace-event-perl.h |    4 ++
 2 files changed, 59 insertions(+), 12 deletions(-)


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/2] perf trace/scripting: Fix compile err when libperl not installed
  2009-12-07  5:31 [PATCH 0/2] perf trace/scripting: A couple bugfixes Tom Zanussi
@ 2009-12-07  5:31 ` Tom Zanussi
  2009-12-07  5:31 ` [PATCH 2/2] perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily Tom Zanussi
  2009-12-07  7:05 ` [PATCH 0/2] perf trace/scripting: A couple bugfixes Ingo Molnar
  2 siblings, 0 replies; 9+ messages in thread
From: Tom Zanussi @ 2009-12-07  5:31 UTC (permalink / raw)
  To: linux-kernel; +Cc: mingo, fweisbec, rostedt, acme

When I added the xs callbacks into perf, I forgot to re-check the
no-libperl case.  This patch fixes the undefined reference error for
that.

Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
---
 tools/perf/util/trace-event-perl.c |    3 ---
 tools/perf/util/trace-event-perl.h |    4 ++++
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/trace-event-perl.c b/tools/perf/util/trace-event-perl.c
index 51e833f..59564b2 100644
--- a/tools/perf/util/trace-event-perl.c
+++ b/tools/perf/util/trace-event-perl.c
@@ -32,9 +32,6 @@
 
 void xs_init(pTHX);
 
-void boot_Perf__Trace__Context(pTHX_ CV *cv);
-void boot_DynaLoader(pTHX_ CV *cv);
-
 void xs_init(pTHX)
 {
 	const char *file = __FILE__;
diff --git a/tools/perf/util/trace-event-perl.h b/tools/perf/util/trace-event-perl.h
index 8fe0d86..e88fb26 100644
--- a/tools/perf/util/trace-event-perl.h
+++ b/tools/perf/util/trace-event-perl.h
@@ -34,9 +34,13 @@ typedef int INTERP;
 #define dXSUB_SYS
 #define pTHX_
 static inline void newXS(const char *a, void *b, const char *c) {}
+static void boot_Perf__Trace__Context(pTHX_ CV *cv) {}
+static void boot_DynaLoader(pTHX_ CV *cv) {}
 #else
 #include <EXTERN.h>
 #include <perl.h>
+void boot_Perf__Trace__Context(pTHX_ CV *cv);
+void boot_DynaLoader(pTHX_ CV *cv);
 typedef PerlInterpreter * INTERP;
 #endif
 
-- 
1.6.4.GIT


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/2] perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily
  2009-12-07  5:31 [PATCH 0/2] perf trace/scripting: A couple bugfixes Tom Zanussi
  2009-12-07  5:31 ` [PATCH 1/2] perf trace/scripting: Fix compile err when libperl not installed Tom Zanussi
@ 2009-12-07  5:31 ` Tom Zanussi
  2009-12-07  6:31   ` Wang Liming
  2009-12-07  7:10   ` [tip:perf/urgent] " tip-bot for Tom Zanussi
  2009-12-07  7:05 ` [PATCH 0/2] perf trace/scripting: A couple bugfixes Ingo Molnar
  2 siblings, 2 replies; 9+ messages in thread
From: Tom Zanussi @ 2009-12-07  5:31 UTC (permalink / raw)
  To: linux-kernel; +Cc: mingo, fweisbec, rostedt, acme

The 'scripting unsupported' message should only be displayed when the
-s or -g options are used, and not when they aren't, as the current
code does.

Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
---
 tools/perf/util/trace-event-perl.c |   64 +++++++++++++++++++++++++++++++-----
 1 files changed, 55 insertions(+), 9 deletions(-)

diff --git a/tools/perf/util/trace-event-perl.c b/tools/perf/util/trace-event-perl.c
index 59564b2..a5ffe60 100644
--- a/tools/perf/util/trace-event-perl.c
+++ b/tools/perf/util/trace-event-perl.c
@@ -570,26 +570,72 @@ struct scripting_ops perl_scripting_ops = {
 	.generate_script = perl_generate_script,
 };
 
-#ifdef NO_LIBPERL
-void setup_perl_scripting(void)
+static void print_unsupported_msg(void)
 {
 	fprintf(stderr, "Perl scripting not supported."
-		"  Install libperl and rebuild perf to enable it.  e.g. "
-		"apt-get install libperl-dev (ubuntu), yum install "
-		"perl-ExtUtils-Embed (Fedora), etc.\n");
+		"  Install libperl and rebuild perf to enable it.\n"
+		"For example:\n  # apt-get install libperl-dev (ubuntu)"
+		"\n  # yum install perl-ExtUtils-Embed (Fedora)"
+		"\n  etc.\n");
 }
-#else
-void setup_perl_scripting(void)
+
+static int perl_start_script_unsupported(const char *script __unused)
+{
+	print_unsupported_msg();
+
+	return -1;
+}
+
+static int perl_stop_script_unsupported(void)
+{
+	return 0;
+}
+
+static void perl_process_event_unsupported(int cpu __unused,
+					   void *data __unused,
+					   int size __unused,
+					   unsigned long long nsecs __unused,
+					   char *comm __unused)
+{
+}
+
+static int perl_generate_script_unsupported(const char *outfile __unused)
+{
+	print_unsupported_msg();
+
+	return -1;
+}
+
+struct scripting_ops perl_scripting_unsupported_ops = {
+	.name = "Perl",
+	.start_script = perl_start_script_unsupported,
+	.stop_script = perl_stop_script_unsupported,
+	.process_event = perl_process_event_unsupported,
+	.generate_script = perl_generate_script_unsupported,
+};
+
+static void register_perl_scripting(struct scripting_ops *scripting_ops)
 {
 	int err;
-	err = script_spec_register("Perl", &perl_scripting_ops);
+	err = script_spec_register("Perl", scripting_ops);
 	if (err)
 		die("error registering Perl script extension");
 
-	err = script_spec_register("pl", &perl_scripting_ops);
+	err = script_spec_register("pl", scripting_ops);
 	if (err)
 		die("error registering pl script extension");
 
 	scripting_context = malloc(sizeof(struct scripting_context));
 }
+
+#ifdef NO_LIBPERL
+void setup_perl_scripting(void)
+{
+	register_perl_scripting(&perl_scripting_unsupported_ops);
+}
+#else
+void setup_perl_scripting(void)
+{
+	register_perl_scripting(&perl_scripting_ops);
+}
 #endif
-- 
1.6.4.GIT


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/2] perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily
  2009-12-07  5:31 ` [PATCH 2/2] perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily Tom Zanussi
@ 2009-12-07  6:31   ` Wang Liming
  2009-12-07  7:13     ` Tom Zanussi
  2009-12-07  7:10   ` [tip:perf/urgent] " tip-bot for Tom Zanussi
  1 sibling, 1 reply; 9+ messages in thread
From: Wang Liming @ 2009-12-07  6:31 UTC (permalink / raw)
  To: Tom Zanussi; +Cc: linux-kernel, mingo, fweisbec, rostedt, acme

Tom Zanussi wrote:
> The 'scripting unsupported' message should only be displayed when the
> -s or -g options are used, and not when they aren't, as the current
> code does.
> 
> Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
> ---
>  tools/perf/util/trace-event-perl.c |   64 +++++++++++++++++++++++++++++++-----
>  1 files changed, 55 insertions(+), 9 deletions(-)
> 
> diff --git a/tools/perf/util/trace-event-perl.c b/tools/perf/util/trace-event-perl.c
> index 59564b2..a5ffe60 100644
> --- a/tools/perf/util/trace-event-perl.c
> +++ b/tools/perf/util/trace-event-perl.c
> @@ -570,26 +570,72 @@ struct scripting_ops perl_scripting_ops = {
>  	.generate_script = perl_generate_script,
>  };
>  
> -#ifdef NO_LIBPERL
> -void setup_perl_scripting(void)
> +static void print_unsupported_msg(void)
>  {
>  	fprintf(stderr, "Perl scripting not supported."
> -		"  Install libperl and rebuild perf to enable it.  e.g. "
> -		"apt-get install libperl-dev (ubuntu), yum install "
> -		"perl-ExtUtils-Embed (Fedora), etc.\n");
> +		"  Install libperl and rebuild perf to enable it.\n"
> +		"For example:\n  # apt-get install libperl-dev (ubuntu)"
> +		"\n  # yum install perl-ExtUtils-Embed (Fedora)"
> +		"\n  etc.\n");
>  }

I have one question about how to compile c program that embedded perl function:

$cat foo.c
#include <EXTERN.h>
#include <perl.h>
int main(void)
{
         perl_alloc();
         return 0;
}

$gcc  -x c foo.c `perl -MExtUtils::Embed -e ccopts 2>/dev/null`  -o foo `perl 
-MExtUtils::Embed -e ldopts 2>/dev/null`
/usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a:1: error: expected identifier or 
'(' before '!' token
/usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a:2: error: stray '`' in program
...

About thousand of error.
I'm using ubuntu 8.04. Above error leads "tools/perl/Makefile" can't find the 
libperl-dev and define "NO_LIBPERL", but I have installed "libperl-dev".

Did you ever encounter this error?
Thanks.

Liming Wang
> -#else
> -void setup_perl_scripting(void)
> +
> +static int perl_start_script_unsupported(const char *script __unused)
> +{
> +	print_unsupported_msg();
> +
> +	return -1;
> +}
> +
> +static int perl_stop_script_unsupported(void)
> +{
> +	return 0;
> +}
> +
> +static void perl_process_event_unsupported(int cpu __unused,
> +					   void *data __unused,
> +					   int size __unused,
> +					   unsigned long long nsecs __unused,
> +					   char *comm __unused)
> +{
> +}
> +
> +static int perl_generate_script_unsupported(const char *outfile __unused)
> +{
> +	print_unsupported_msg();
> +
> +	return -1;
> +}
> +
> +struct scripting_ops perl_scripting_unsupported_ops = {
> +	.name = "Perl",
> +	.start_script = perl_start_script_unsupported,
> +	.stop_script = perl_stop_script_unsupported,
> +	.process_event = perl_process_event_unsupported,
> +	.generate_script = perl_generate_script_unsupported,
> +};
> +
> +static void register_perl_scripting(struct scripting_ops *scripting_ops)
>  {
>  	int err;
> -	err = script_spec_register("Perl", &perl_scripting_ops);
> +	err = script_spec_register("Perl", scripting_ops);
>  	if (err)
>  		die("error registering Perl script extension");
>  
> -	err = script_spec_register("pl", &perl_scripting_ops);
> +	err = script_spec_register("pl", scripting_ops);
>  	if (err)
>  		die("error registering pl script extension");
>  
>  	scripting_context = malloc(sizeof(struct scripting_context));
>  }
> +
> +#ifdef NO_LIBPERL
> +void setup_perl_scripting(void)
> +{
> +	register_perl_scripting(&perl_scripting_unsupported_ops);
> +}
> +#else
> +void setup_perl_scripting(void)
> +{
> +	register_perl_scripting(&perl_scripting_ops);
> +}
>  #endif


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/2] perf trace/scripting: A couple bugfixes
  2009-12-07  5:31 [PATCH 0/2] perf trace/scripting: A couple bugfixes Tom Zanussi
  2009-12-07  5:31 ` [PATCH 1/2] perf trace/scripting: Fix compile err when libperl not installed Tom Zanussi
  2009-12-07  5:31 ` [PATCH 2/2] perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily Tom Zanussi
@ 2009-12-07  7:05 ` Ingo Molnar
  2009-12-07  7:14   ` Tom Zanussi
  2 siblings, 1 reply; 9+ messages in thread
From: Ingo Molnar @ 2009-12-07  7:05 UTC (permalink / raw)
  To: Tom Zanussi; +Cc: linux-kernel, fweisbec, rostedt, acme


* Tom Zanussi <tzanussi@gmail.com> wrote:

> One fixes a compile error when libperl isn't installed, the other
> fixes an annoying message about scripting being unsupported even when
> the perf trace cmd isn't trying to use scripting.
> 
> Tom Zanussi (2):
>   perf trace/scripting: Fix compile err when libperl not installed
>   perf trace/scripting: Don't display 'scripting unsupported' msg
>     unnecessarily
> 
>  tools/perf/util/trace-event-perl.c |   67 +++++++++++++++++++++++++++++------
>  tools/perf/util/trace-event-perl.h |    4 ++
>  2 files changed, 59 insertions(+), 12 deletions(-)

Applied, thanks a lot Tom!

( Note, i already applied patch #1 out of your previous email - this 
  version has the same content, right? )

	Ingo

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [tip:perf/urgent] perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily
  2009-12-07  5:31 ` [PATCH 2/2] perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily Tom Zanussi
  2009-12-07  6:31   ` Wang Liming
@ 2009-12-07  7:10   ` tip-bot for Tom Zanussi
  1 sibling, 0 replies; 9+ messages in thread
From: tip-bot for Tom Zanussi @ 2009-12-07  7:10 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, acme, paulus, hpa, mingo, tzanussi, a.p.zijlstra,
	efault, fweisbec, tglx, mingo

Commit-ID:  67a6259ec97b8408f86f2fe8459d2233f0b0987d
Gitweb:     http://git.kernel.org/tip/67a6259ec97b8408f86f2fe8459d2233f0b0987d
Author:     Tom Zanussi <tzanussi@gmail.com>
AuthorDate: Sun, 6 Dec 2009 23:31:59 -0600
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Mon, 7 Dec 2009 08:05:07 +0100

perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily

The 'scripting unsupported' message should only be displayed
when the -s or -g options are used, and not when they aren't, as
the current code does.

Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
Cc: rostedt@goodmis.org
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <1260163919-6679-3-git-send-email-tzanussi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 tools/perf/util/trace-event-perl.c |   64 +++++++++++++++++++++++++++++++-----
 1 files changed, 55 insertions(+), 9 deletions(-)

diff --git a/tools/perf/util/trace-event-perl.c b/tools/perf/util/trace-event-perl.c
index 59564b2..a5ffe60 100644
--- a/tools/perf/util/trace-event-perl.c
+++ b/tools/perf/util/trace-event-perl.c
@@ -570,26 +570,72 @@ struct scripting_ops perl_scripting_ops = {
 	.generate_script = perl_generate_script,
 };
 
-#ifdef NO_LIBPERL
-void setup_perl_scripting(void)
+static void print_unsupported_msg(void)
 {
 	fprintf(stderr, "Perl scripting not supported."
-		"  Install libperl and rebuild perf to enable it.  e.g. "
-		"apt-get install libperl-dev (ubuntu), yum install "
-		"perl-ExtUtils-Embed (Fedora), etc.\n");
+		"  Install libperl and rebuild perf to enable it.\n"
+		"For example:\n  # apt-get install libperl-dev (ubuntu)"
+		"\n  # yum install perl-ExtUtils-Embed (Fedora)"
+		"\n  etc.\n");
 }
-#else
-void setup_perl_scripting(void)
+
+static int perl_start_script_unsupported(const char *script __unused)
+{
+	print_unsupported_msg();
+
+	return -1;
+}
+
+static int perl_stop_script_unsupported(void)
+{
+	return 0;
+}
+
+static void perl_process_event_unsupported(int cpu __unused,
+					   void *data __unused,
+					   int size __unused,
+					   unsigned long long nsecs __unused,
+					   char *comm __unused)
+{
+}
+
+static int perl_generate_script_unsupported(const char *outfile __unused)
+{
+	print_unsupported_msg();
+
+	return -1;
+}
+
+struct scripting_ops perl_scripting_unsupported_ops = {
+	.name = "Perl",
+	.start_script = perl_start_script_unsupported,
+	.stop_script = perl_stop_script_unsupported,
+	.process_event = perl_process_event_unsupported,
+	.generate_script = perl_generate_script_unsupported,
+};
+
+static void register_perl_scripting(struct scripting_ops *scripting_ops)
 {
 	int err;
-	err = script_spec_register("Perl", &perl_scripting_ops);
+	err = script_spec_register("Perl", scripting_ops);
 	if (err)
 		die("error registering Perl script extension");
 
-	err = script_spec_register("pl", &perl_scripting_ops);
+	err = script_spec_register("pl", scripting_ops);
 	if (err)
 		die("error registering pl script extension");
 
 	scripting_context = malloc(sizeof(struct scripting_context));
 }
+
+#ifdef NO_LIBPERL
+void setup_perl_scripting(void)
+{
+	register_perl_scripting(&perl_scripting_unsupported_ops);
+}
+#else
+void setup_perl_scripting(void)
+{
+	register_perl_scripting(&perl_scripting_ops);
+}
 #endif

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/2] perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily
  2009-12-07  6:31   ` Wang Liming
@ 2009-12-07  7:13     ` Tom Zanussi
  2009-12-07  7:23       ` Wang Liming
  0 siblings, 1 reply; 9+ messages in thread
From: Tom Zanussi @ 2009-12-07  7:13 UTC (permalink / raw)
  To: Wang Liming; +Cc: linux-kernel, mingo, fweisbec, rostedt, acme

Hi,

On Mon, 2009-12-07 at 14:31 +0800, Wang Liming wrote:
> Tom Zanussi wrote:
> > The 'scripting unsupported' message should only be displayed when the
> > -s or -g options are used, and not when they aren't, as the current
> > code does.
> > 
> > Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
> > ---
> >  tools/perf/util/trace-event-perl.c |   64 +++++++++++++++++++++++++++++++-----
> >  1 files changed, 55 insertions(+), 9 deletions(-)
> > 
> > diff --git a/tools/perf/util/trace-event-perl.c b/tools/perf/util/trace-event-perl.c
> > index 59564b2..a5ffe60 100644
> > --- a/tools/perf/util/trace-event-perl.c
> > +++ b/tools/perf/util/trace-event-perl.c
> > @@ -570,26 +570,72 @@ struct scripting_ops perl_scripting_ops = {
> >  	.generate_script = perl_generate_script,
> >  };
> >  
> > -#ifdef NO_LIBPERL
> > -void setup_perl_scripting(void)
> > +static void print_unsupported_msg(void)
> >  {
> >  	fprintf(stderr, "Perl scripting not supported."
> > -		"  Install libperl and rebuild perf to enable it.  e.g. "
> > -		"apt-get install libperl-dev (ubuntu), yum install "
> > -		"perl-ExtUtils-Embed (Fedora), etc.\n");
> > +		"  Install libperl and rebuild perf to enable it.\n"
> > +		"For example:\n  # apt-get install libperl-dev (ubuntu)"
> > +		"\n  # yum install perl-ExtUtils-Embed (Fedora)"
> > +		"\n  etc.\n");
> >  }
> 
> I have one question about how to compile c program that embedded perl function:
> 
> $cat foo.c
> #include <EXTERN.h>
> #include <perl.h>
> int main(void)
> {
>          perl_alloc();
>          return 0;
> }
> 
> $gcc  -x c foo.c `perl -MExtUtils::Embed -e ccopts 2>/dev/null`  -o foo `perl 
> -MExtUtils::Embed -e ldopts 2>/dev/null`
> /usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a:1: error: expected identifier or 
> '(' before '!' token
> /usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a:2: error: stray '`' in program
> ...
> 
> About thousand of error.
> I'm using ubuntu 8.04. Above error leads "tools/perl/Makefile" can't find the 
> libperl-dev and define "NO_LIBPERL", but I have installed "libperl-dev".
> 
> Did you ever encounter this error?
> Thanks.

No, I haven't seen it, but I'm using ubuntu 8.10, which has perl
v5.10.0.

ubuntu 8.04 uses what's apparently an ancient version of perl, 5.8,
which is I'm guessing where the problem is - I'll have to look into
getting things working with 5.8 in any case...

Tom

> 
> Liming Wang
> > -#else
> > -void setup_perl_scripting(void)
> > +
> > +static int perl_start_script_unsupported(const char *script __unused)
> > +{
> > +	print_unsupported_msg();
> > +
> > +	return -1;
> > +}
> > +
> > +static int perl_stop_script_unsupported(void)
> > +{
> > +	return 0;
> > +}
> > +
> > +static void perl_process_event_unsupported(int cpu __unused,
> > +					   void *data __unused,
> > +					   int size __unused,
> > +					   unsigned long long nsecs __unused,
> > +					   char *comm __unused)
> > +{
> > +}
> > +
> > +static int perl_generate_script_unsupported(const char *outfile __unused)
> > +{
> > +	print_unsupported_msg();
> > +
> > +	return -1;
> > +}
> > +
> > +struct scripting_ops perl_scripting_unsupported_ops = {
> > +	.name = "Perl",
> > +	.start_script = perl_start_script_unsupported,
> > +	.stop_script = perl_stop_script_unsupported,
> > +	.process_event = perl_process_event_unsupported,
> > +	.generate_script = perl_generate_script_unsupported,
> > +};
> > +
> > +static void register_perl_scripting(struct scripting_ops *scripting_ops)
> >  {
> >  	int err;
> > -	err = script_spec_register("Perl", &perl_scripting_ops);
> > +	err = script_spec_register("Perl", scripting_ops);
> >  	if (err)
> >  		die("error registering Perl script extension");
> >  
> > -	err = script_spec_register("pl", &perl_scripting_ops);
> > +	err = script_spec_register("pl", scripting_ops);
> >  	if (err)
> >  		die("error registering pl script extension");
> >  
> >  	scripting_context = malloc(sizeof(struct scripting_context));
> >  }
> > +
> > +#ifdef NO_LIBPERL
> > +void setup_perl_scripting(void)
> > +{
> > +	register_perl_scripting(&perl_scripting_unsupported_ops);
> > +}
> > +#else
> > +void setup_perl_scripting(void)
> > +{
> > +	register_perl_scripting(&perl_scripting_ops);
> > +}
> >  #endif
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/2] perf trace/scripting: A couple bugfixes
  2009-12-07  7:05 ` [PATCH 0/2] perf trace/scripting: A couple bugfixes Ingo Molnar
@ 2009-12-07  7:14   ` Tom Zanussi
  0 siblings, 0 replies; 9+ messages in thread
From: Tom Zanussi @ 2009-12-07  7:14 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, fweisbec, rostedt, acme

On Mon, 2009-12-07 at 08:05 +0100, Ingo Molnar wrote:
> * Tom Zanussi <tzanussi@gmail.com> wrote:
> 
> > One fixes a compile error when libperl isn't installed, the other
> > fixes an annoying message about scripting being unsupported even when
> > the perf trace cmd isn't trying to use scripting.
> > 
> > Tom Zanussi (2):
> >   perf trace/scripting: Fix compile err when libperl not installed
> >   perf trace/scripting: Don't display 'scripting unsupported' msg
> >     unnecessarily
> > 
> >  tools/perf/util/trace-event-perl.c |   67 +++++++++++++++++++++++++++++------
> >  tools/perf/util/trace-event-perl.h |    4 ++
> >  2 files changed, 59 insertions(+), 12 deletions(-)
> 
> Applied, thanks a lot Tom!
> 
> ( Note, i already applied patch #1 out of your previous email - this 
>   version has the same content, right? )
> 

Yeah, it's the same.

Thanks,

Tom

> 	Ingo


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/2] perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily
  2009-12-07  7:13     ` Tom Zanussi
@ 2009-12-07  7:23       ` Wang Liming
  0 siblings, 0 replies; 9+ messages in thread
From: Wang Liming @ 2009-12-07  7:23 UTC (permalink / raw)
  To: Tom Zanussi; +Cc: linux-kernel, mingo, fweisbec, rostedt, acme

Tom Zanussi wrote:
> Hi,
> 
> On Mon, 2009-12-07 at 14:31 +0800, Wang Liming wrote:
>> Tom Zanussi wrote:
>>> The 'scripting unsupported' message should only be displayed when the
>>> -s or -g options are used, and not when they aren't, as the current
>>> code does.
>>>
>>> Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
>>> ---
>>>  tools/perf/util/trace-event-perl.c |   64 +++++++++++++++++++++++++++++++-----
>>>  1 files changed, 55 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/tools/perf/util/trace-event-perl.c b/tools/perf/util/trace-event-perl.c
>>> index 59564b2..a5ffe60 100644
>>> --- a/tools/perf/util/trace-event-perl.c
>>> +++ b/tools/perf/util/trace-event-perl.c
>>> @@ -570,26 +570,72 @@ struct scripting_ops perl_scripting_ops = {
>>>  	.generate_script = perl_generate_script,
>>>  };
>>>  
>>> -#ifdef NO_LIBPERL
>>> -void setup_perl_scripting(void)
>>> +static void print_unsupported_msg(void)
>>>  {
>>>  	fprintf(stderr, "Perl scripting not supported."
>>> -		"  Install libperl and rebuild perf to enable it.  e.g. "
>>> -		"apt-get install libperl-dev (ubuntu), yum install "
>>> -		"perl-ExtUtils-Embed (Fedora), etc.\n");
>>> +		"  Install libperl and rebuild perf to enable it.\n"
>>> +		"For example:\n  # apt-get install libperl-dev (ubuntu)"
>>> +		"\n  # yum install perl-ExtUtils-Embed (Fedora)"
>>> +		"\n  etc.\n");
>>>  }
>> I have one question about how to compile c program that embedded perl function:
>>
>> $cat foo.c
>> #include <EXTERN.h>
>> #include <perl.h>
>> int main(void)
>> {
>>          perl_alloc();
>>          return 0;
>> }
>>
>> $gcc  -x c foo.c `perl -MExtUtils::Embed -e ccopts 2>/dev/null`  -o foo `perl 
>> -MExtUtils::Embed -e ldopts 2>/dev/null`
>> /usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a:1: error: expected identifier or 
>> '(' before '!' token
>> /usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a:2: error: stray '`' in program
>> ...
>>
>> About thousand of error.
>> I'm using ubuntu 8.04. Above error leads "tools/perl/Makefile" can't find the 
>> libperl-dev and define "NO_LIBPERL", but I have installed "libperl-dev".
>>
>> Did you ever encounter this error?
>> Thanks.
> 
> No, I haven't seen it, but I'm using ubuntu 8.10, which has perl
> v5.10.0.
> 
> ubuntu 8.04 uses what's apparently an ancient version of perl, 5.8,
Yes, it uses perl 5.8.

> which is I'm guessing where the problem is - I'll have to look into
> getting things working with 5.8 in any case...
Another compile error:

     CC util/trace-event-perl.o
cc1: warnings being treated as errors
util/trace-event-perl.c: In function 'xs_init':
util/trace-event-perl.c:43: warning: passing argument 2 of 'Perl_newXS' discards 
qualifiers from pointer target type
util/trace-event-perl.c:43: warning: passing argument 4 of 'Perl_newXS' discards 
qualifiers from pointer target type
util/trace-event-perl.c:45: warning: passing argument 2 of 'Perl_newXS' discards 
qualifiers from pointer target type
util/trace-event-perl.c:45: warning: passing argument 4 of 'Perl_newXS' discards 
qualifiers from pointer target type
make: *** [util/trace-event-perl.o] Error 1

Liming Wang
> 
> Tom
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-12-07  7:20 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-07  5:31 [PATCH 0/2] perf trace/scripting: A couple bugfixes Tom Zanussi
2009-12-07  5:31 ` [PATCH 1/2] perf trace/scripting: Fix compile err when libperl not installed Tom Zanussi
2009-12-07  5:31 ` [PATCH 2/2] perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily Tom Zanussi
2009-12-07  6:31   ` Wang Liming
2009-12-07  7:13     ` Tom Zanussi
2009-12-07  7:23       ` Wang Liming
2009-12-07  7:10   ` [tip:perf/urgent] " tip-bot for Tom Zanussi
2009-12-07  7:05 ` [PATCH 0/2] perf trace/scripting: A couple bugfixes Ingo Molnar
2009-12-07  7:14   ` Tom Zanussi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox