Re: [PATCH] perf tool: build fix, remove duplicate declarations

From: David Ahern
Date: Fri Jun 01 2012 - 01:22:51 EST


Arnaldo:

On 5/29/12 10:41 PM, David Ahern wrote:
I'm sure I have some gremlins running around today, but I am
consistently hitting this compile failure on Fedora 14 and 16:

In file included from util/sort.h:12:0,
from builtin-diff.c:15:
util/string.h:7:5: error: redundant redeclaration of âhex2u64â [-Werror=redundant-decls]
util/symbol.h:32:5: note: previous declaration of âhex2u64â was here
util/string.h:8:7: error: redundant redeclaration of âstrxfrcharâ [-Werror=redundant-decls]
util/symbol.h:33:7: note: previous declaration of âstrxfrcharâ was here
util/string.h:9:5: error: redundant redeclaration of âperf_atollâ [-Werror=redundant-decls]
util/util.h:238:5: note: previous declaration of âperf_atollâ was here
util/string.h:10:8: error: redundant redeclaration of âargv_splitâ [-Werror=redundant-decls]
util/util.h:239:8: note: previous declaration of âargv_splitâ was here
util/string.h:11:6: error: redundant redeclaration of âargv_freeâ [-Werror=redundant-decls]
util/util.h:240:6: note: previous declaration of âargv_freeâ was here
util/string.h:12:6: error: redundant redeclaration of âstrglobmatchâ [-Werror=redundant-decls]
util/util.h:241:6: note: previous declaration of âstrglobmatchâ was here
util/string.h:13:6: error: redundant redeclaration of âstrlazymatchâ [-Werror=redundant-decls]
util/util.h:242:6: note: previous declaration of âstrlazymatchâ was here
cc1: all warnings being treated as errors
make: *** [/tmp/pbuild/builtin-diff.o] Error 1
make: *** Waiting for unfinished jobs....
make: Leaving directory `/opt/sw/ahern/perf.git/tools/perf'

You are probably not hitting this compile problem, and I have no idea why I am suddenly hitting it on F14 and F16 (my usual test servers; i have always hit this on older systems), but nonetheless there are duplicate declarations between util.h and symbol.h which should be fixed.

David



Fix it by removing duplicates.

Signed-off-by: David Ahern<dsahern@xxxxxxxxx>
---
tools/perf/util/symbol.h | 4 +---
tools/perf/util/util.h | 6 +-----
2 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
index 1f00388..4ba5206 100644
--- a/tools/perf/util/symbol.h
+++ b/tools/perf/util/symbol.h
@@ -9,6 +9,7 @@
#include<linux/list.h>
#include<linux/rbtree.h>
#include<stdio.h>
+#include "string.h"

#ifdef HAVE_CPLUS_DEMANGLE
extern char *cplus_demangle(const char *, int);
@@ -29,9 +30,6 @@ static inline char *bfd_demangle(void __used *v, const char __used *c,
#endif
#endif

-int hex2u64(const char *ptr, u64 *val);
-char *strxfrchar(char *s, char from, char to);
-
/*
* libelf 0.8.x and earlier do not support ELF_C_READ_MMAP;
* for newer versions we can use mmap to reduce memory usage:
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index 2daaedb..5152592 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -78,6 +78,7 @@
#include "../../../include/linux/magic.h"
#include "types.h"
#include<sys/ttydefaults.h>
+#include "string.h"

extern const char *graph_line;
extern const char *graph_dotted_line;
@@ -235,11 +236,6 @@ static inline int sane_case(int x, int high)
int mkdir_p(char *path, mode_t mode);
int copyfile(const char *from, const char *to);

-s64 perf_atoll(const char *str);
-char **argv_split(const char *str, int *argcp);
-void argv_free(char **argv);
-bool strglobmatch(const char *str, const char *pat);
-bool strlazymatch(const char *str, const char *pat);
int strtailcmp(const char *s1, const char *s2);
unsigned long convert_unit(unsigned long value, char *unit);
int readn(int fd, void *buf, size_t size);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/