Messages in this thread Patch in this message | | | Subject | 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, 17 Sep 2015 09:28:31 +0300 |
| |
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;
| |