Skip to contentSkip to conversation

Patch "perf symbols: Define STT_GNU_IFUNC for glibc 2.9 and older." has been added to the 4.0-stable tree

PATCH [email protected] 1 participant 1 message May 2, 2015

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

perf symbols: Define STT_GNU_IFUNC for glibc 2.9 and older.

to the 4.0-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
perf-symbols-define-stt_gnu_ifunc-for-glibc-2.9-and-older.patch
and it can be found in the queue-4.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 4e31050f482c02c822b150d71cf1ea5be7c9d6e4 Mon Sep 17 00:00:00 2001

From: Vinson Lee <[email protected]>
Date: Mon, 9 Feb 2015 16:29:37 -0800
Subject: perf symbols: Define STT_GNU_IFUNC for glibc 2.9 and older.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Vinson Lee <[email protected]>

commit 4e31050f482c02c822b150d71cf1ea5be7c9d6e4 upstream.

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

---
 tools/perf/util/symbol-elf.c |    4 ++++
 1 file changed, 4 insertions(+)
tools/perf/util/symbol-elf.c +4 -0
@@ -74,6 +74,10 @@ static inline uint8_t elf_sym__type(cons
 	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 ||

Patches currently in stable-queue which might be from [email protected] are

queue-4.0/perf-tools-work-around-lack-of-sched_getcpu-in-glibc-2.6.patch queue-4.0/perf-symbols-define-stt_gnu_ifunc-for-glibc-2.9-and-older.patch