Re: Linux 4.3-rc1 build error with older elfutils "util/symbol-elf.c:41:5: error: no previous prototype for âelf_getphdrnumâ"

From: Adrian Hunter
Date: Thu Sep 17 2015 - 02:31:31 EST


On 17/09/15 01:10, Vinson Lee wrote:
> With Linux 4.3-rc1 I get a perf build error using toolchains with
> older elfutils.
>
> The following build error occurs on both CentOS 5.11 (elfutils 0.137)
> and Ubuntu 10.04.4 (elfutils 0.143).
>
> CC util/symbol-elf.o
> cc1: warnings being treated as errors
> util/symbol-elf.c:41: error: no previous prototype for âelf_getphdrnumâ

commit f785f2357673d520a0b7b468973cdd197f336494
removed the 'static' qualifier, presumably because there
are cases where the prototype is in the header but the function is
not in the library.

AFAICT gcc accepts multiple prototypes so long as they are the same
so just adding the prototype should be ok i.e.

diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
index 53bb5f59ec58..d9abb0307cc5 100644
--- a/tools/perf/util/symbol-elf.c
+++ b/tools/perf/util/symbol-elf.c
@@ -38,6 +38,7 @@ static inline char *bfd_demangle(void __maybe_unused *v,
#endif

#ifndef HAVE_ELF_GETPHDRNUM_SUPPORT
+int elf_getphdrnum(Elf *elf, size_t *dst);
int elf_getphdrnum(Elf *elf, size_t *dst)
{
GElf_Ehdr gehdr;



--
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/