Re: [PATCH] perf symbols: Define STT_GNU_IFUNC for glibc 2.9 and older.

From: Namhyung Kim
Date: Tue Feb 10 2015 - 09:25:22 EST


Hi Vinson,

On Mon, Feb 09, 2015 at 04:29:37PM -0800, Vinson Lee wrote:
> From: Vinson Lee <vlee@xxxxxxxxxxx>
>
> The token STT_GNU_IFUNC is not available with glibc 2.9 and older.
> Define this token if it is not already defined.
>
> This patch fixes this build errors with older versions of glibc.
>
> CC util/symbol-elf.o
> util/symbol-elf.c: In function âelf_sym__is_functionâ:
> util/symbol-elf.c:75: error: âSTT_GNU_IFUNCâ undeclared (first use in this function)
> util/symbol-elf.c:75: error: (Each undeclared identifier is reported only once
> util/symbol-elf.c:75: error: for each function it appears in.)
> make: *** [util/symbol-elf.o] Error 1
>
> Cc: stable@xxxxxxxxxxxxxxx # 3.17+
> Signed-off-by: Vinson Lee <vlee@xxxxxxxxxxx>

Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Thanks,
Namhyung


> ---
> tools/perf/util/symbol-elf.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
> index 06fcd1b..eafee11 100644
> --- a/tools/perf/util/symbol-elf.c
> +++ b/tools/perf/util/symbol-elf.c
> @@ -69,6 +69,10 @@ static inline uint8_t elf_sym__type(const GElf_Sym *sym)
> return GELF_ST_TYPE(sym->st_info);
> }
>
> +#ifndef STT_GNU_IFUNC
> +#define STT_GNU_IFUNC 10
> +#endif
> +
> static inline int elf_sym__is_function(const GElf_Sym *sym)
> {
> return (elf_sym__type(sym) == STT_FUNC ||
> --
> 1.8.2.1
>
--
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/