Skip to contentSkip to conversation

Make it possible to include parse-events.h before libc headers.

PATCH In review Magnus Fromreide 2 participants 6 messages Jul 24, 2012 – Jul 30, 2012

lore
Share & tools
lore

Magnus Fromreide

author
#0 lore raw

PATCH 1/2 Make it possible to include parse-events.h before libc headers.

The __unused macro interferes with the glibc and is in a reserved namespace so it should be renamed.
Additionally the __ununsed macro is used from just one implementation file so the macro is moved there.

Signed-off-by Magnus Fromreide <magfr(a)lysator.liu.se>
---
 pevent/parse-events.c |   12 +++++++++---
 pevent/parse-events.h |    4 ----
 2 files changed, 9 insertions(+), 7 deletions(-)
pevent/parse-events.c +9 -3
index 58716e9..c039698 100644
@@ -37,6 +37,10 @@
 
 #include "parse-events.h"
 
+#ifndef pevent_unused
+#define pevent_unused __attribute__ ((unused))
+#endif
+
 static const char *input_buf;
 static unsigned long long input_buf_ptr;
 static unsigned long long input_buf_siz;
@@ -1777,7 +1781,7 @@ process_op(struct event_format *event, struct print_arg *arg, char **tok)
 }
 
 static enum event_type
-process_entry(struct event_format *event __unused, struct print_arg *arg,
+process_entry(struct event_format *event pevent_unused, struct print_arg *arg,
 	      char **tok)
 {
 	enum event_type type;
@@ -2350,7 +2354,8 @@ process_paren(struct event_format *event, struct print_arg *arg, char **tok)
 
 
 static enum event_type
-process_str(struct event_format *event __unused, struct print_arg *arg, char **tok)
+process_str(struct event_format *event pevent_unused, struct print_arg *arg,
+	    char **tok)
 {
 	enum event_type type;
 	char *token;
@@ -3500,7 +3505,8 @@ static void free_args(struct print_arg *args)
 }
 
 static char *
-get_bprint_format(void *data, int size __unused, struct event_format *event)
+get_bprint_format(void *data, int size pevent_unused,
+		  struct event_format *event)
 {
 	struct pevent *pevent = event->pevent;
 	unsigned long long addr;
pevent/parse-events.h +0 -4
index 5d5d195..124aa1b 100644
@@ -27,10 +27,6 @@
 #include <stdarg.h>
 #include <regex.h>
 
-#ifndef __unused
-#define __unused __attribute__ ((unused))
-#endif
-
 /* ----------------------- trace_seq ----------------------- */
 
 
Signature · 1 line
1.7.10.4
#1 lore raw
Quoted 60 lines · Magnus Fromreide

The __unused macro interferes with the glibc and is in a reserved namespace so it should be renamed.
Additionally the __ununsed macro is used from just one implementation file so the macro is moved there.

Signed-off-by Magnus Fromreide <magfr(a)lysator.liu.se>
---
  pevent/parse-events.c |   12 +++++++++---
  pevent/parse-events.h |    4 ----
  2 files changed, 9 insertions(+), 7 deletions(-)
pevent/parse-events.c +9 -3
index 58716e9..c039698 100644
@@ -37,6 +37,10 @@
 
  #include "parse-events.h"
 
+#ifndef pevent_unused
+#define pevent_unused __attribute__ ((unused))
+#endif
+
  static const char *input_buf;
  static unsigned long long input_buf_ptr;
  static unsigned long long input_buf_siz;
@@ -1777,7 +1781,7 @@ process_op(struct event_format *event, struct print_arg *arg, char **tok)
  }
 
  static enum event_type
-process_entry(struct event_format *event __unused, struct print_arg *arg,
+process_entry(struct event_format *event pevent_unused, struct print_arg *arg,
  	      char **tok)
  {
  	enum event_type type;
@@ -2350,7 +2354,8 @@ process_paren(struct event_format *event, struct print_arg *arg, char **tok)
 
 
  static enum event_type
-process_str(struct event_format *event __unused, struct print_arg *arg, char **tok)
+process_str(struct event_format *event pevent_unused, struct print_arg *arg,
+	    char **tok)
  {
  	enum event_type type;
  	char *token;
@@ -3500,7 +3505,8 @@ static void free_args(struct print_arg *args)
  }
 
  static char *
-get_bprint_format(void *data, int size __unused, struct event_format *event)
+get_bprint_format(void *data, int size pevent_unused,
+		  struct event_format *event)
  {
  	struct pevent *pevent = event->pevent;
  	unsigned long long addr;
pevent/parse-events.h +0 -0
index 5d5d195..124aa1b 100644

pevent/parse-events.h line 32

Quoted 10 lines
pevent/parse-events.h +0 -4
@@ -27,10 +27,6 @@
  #include <stdarg.h>
  #include <regex.h>
 
-#ifndef __unused
-#define __unused __attribute__ ((unused))
-#endif
-
  /* ----------------------- trace_seq ----------------------- */
 
 

I will forward this on to Steve Rostedt. pevent code is not actually strictly part of the powertop src, it is just temporarily being built as part of the project so powertop can take advantage of it early. That said, it may not be a good fit for the grand scheme.
Which reminds me I need to push a readme explaining this.

-Chris

author
#2 lore raw
Quoted 6 lines · Chris Ferron
Quoted 5 lines · Magnus Fromreide

The __unused macro interferes with the glibc and is in a reserved namespace so it should be renamed.
Additionally the __ununsed macro is used from just one implementation file so the macro is moved there.

Quoted 6 lines
Quoted 3 lines
Signed-off-by Magnus Fromreide <magfr(a)lysator.liu.se>

I will forward this on to Steve Rostedt. pevent code is not actually strictly part of the powertop src, it is just temporarily being built as part of the project so powertop can take advantage of it early.

Thanks. I found no contact information for pevent but it feels like an imported library.

Quoted 2 lines

That said, it may not be a good fit for the grand scheme. Which reminds me I need to push a readme explaining this.

I am looking forward to it.

Patch 2/2 depends on this, should I prepare an alternate version that doesn't trigger the bug in the pevent headers?

/MF

#3 lore raw
Quoted 16 lines · Magnus Fromreide
Quoted 6 lines · Chris Ferron
Quoted 5 lines · Magnus Fromreide

The __unused macro interferes with the glibc and is in a reserved namespace so it should be renamed.
Additionally the __ununsed macro is used from just one implementation file so the macro is moved there.

Quoted 6 lines
Quoted 3 lines
Signed-off-by Magnus Fromreide <magfr(a)lysator.liu.se>

I will forward this on to Steve Rostedt. pevent code is not actually strictly part of the powertop src, it is just temporarily being built as part of the project so powertop can take advantage of it early.

Thanks. I found no contact information for pevent but it feels like an imported library.

Quoted 6 lines
Quoted 2 lines

That said, it may not be a good fit for the grand scheme. Which reminds me I need to push a readme explaining this.

I am looking forward to it.

Patch 2/2 depends on this, should I prepare an alternate version that doesn't trigger the bug in the pevent headers?

Maybe, but wait a day, you inspired me to completely update and rebase the pevent code.

Quoted 3 lines

/MF

author
#4 lore raw
Quoted 2 lines · Chris Ferron

Maybe, but wait a day, you inspired me to completely update and rebase the pevent code.

Could you please remove the traceevent/.deps directory and all the .Plo files in it as they are regenerated each time the library is built?

/MF

#5 lore raw
Quoted 8 lines · Magnus Fromreide
Quoted 2 lines · Chris Ferron

Maybe, but wait a day, you inspired me to completely update and rebase the pevent code.

Could you please remove the traceevent/.deps directory and all the .Plo files in it as they are regenerated each time the library is built?

/MF

Done