Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c932cf07 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge tag 'perf-urgent-for-mingo-20160330' of...

Merge tag 'perf-urgent-for-mingo-20160330' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux

 into perf/urgent

Pull perf/urgent fixes from Arnaldo Carvalho de Melo:

 - Fix determination of a callchain node's childlessness in
   the top/report TUI, which was preventing navigating some
   callchains, --stdio unnaffected (Andres Freund)

 - Fix jitdump's genelf assumption that PowerPC is big endian
   only (Anton Blanchard)

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents f6343be9 9f56c092
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -337,7 +337,7 @@ static void callchain_node__init_have_children(struct callchain_node *node,
	chain = list_entry(node->val.next, struct callchain_list, list);
	chain->has_children = has_sibling;

	if (node->val.next != node->val.prev) {
	if (!list_empty(&node->val)) {
		chain = list_entry(node->val.prev, struct callchain_list, list);
		chain->has_children = !RB_EMPTY_ROOT(&node->rb_root);
	}
+10 −14
Original line number Diff line number Diff line
@@ -9,36 +9,32 @@ int jit_add_debug_info(Elf *e, uint64_t code_addr, void *debug, int nr_debug_ent

#if   defined(__arm__)
#define GEN_ELF_ARCH	EM_ARM
#define GEN_ELF_ENDIAN	ELFDATA2LSB
#define GEN_ELF_CLASS	ELFCLASS32
#elif defined(__aarch64__)
#define GEN_ELF_ARCH	EM_AARCH64
#define GEN_ELF_ENDIAN	ELFDATA2LSB
#define GEN_ELF_CLASS	ELFCLASS64
#elif defined(__x86_64__)
#define GEN_ELF_ARCH	EM_X86_64
#define GEN_ELF_ENDIAN	ELFDATA2LSB
#define GEN_ELF_CLASS	ELFCLASS64
#elif defined(__i386__)
#define GEN_ELF_ARCH	EM_386
#define GEN_ELF_ENDIAN	ELFDATA2LSB
#define GEN_ELF_CLASS	ELFCLASS32
#elif defined(__ppcle__)
#define GEN_ELF_ARCH	EM_PPC
#define GEN_ELF_ENDIAN	ELFDATA2LSB
#define GEN_ELF_CLASS	ELFCLASS64
#elif defined(__powerpc__)
#define GEN_ELF_ARCH	EM_PPC64
#define GEN_ELF_ENDIAN	ELFDATA2MSB
#define GEN_ELF_CLASS	ELFCLASS64
#elif defined(__powerpcle__)
#elif defined(__powerpc64__)
#define GEN_ELF_ARCH	EM_PPC64
#define GEN_ELF_ENDIAN	ELFDATA2LSB
#define GEN_ELF_CLASS	ELFCLASS64
#elif defined(__powerpc__)
#define GEN_ELF_ARCH	EM_PPC
#define GEN_ELF_CLASS	ELFCLASS32
#else
#error "unsupported architecture"
#endif

#if __BYTE_ORDER == __BIG_ENDIAN
#define GEN_ELF_ENDIAN	ELFDATA2MSB
#else
#define GEN_ELF_ENDIAN	ELFDATA2LSB
#endif

#if GEN_ELF_CLASS == ELFCLASS64
#define elf_newehdr	elf64_newehdr
#define elf_getshdr	elf64_getshdr