mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-27 20:07:09 +00:00
perf/urgent fixes:
- 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: Arnaldo Carvalho de Melo <acme@redhat.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJW/E8lAAoJENZQFvNTUqpA0DAQAKla2HujOsB8P1ZppvnVoBe5 YqLrW3ePesc8oSzU7daWHnBonO0Twrrhrd1E1daBsTqamRnjvXRdJsLRROX4oEKj 2nTjGT2oieTJ2Zqch5a+j+Z8DL94EdNijgGcoXovI/N/E4t5VU+no3iTG6i8EaVp LPFfINT0UtRIqVPzXqd25c+LxSHYsuH4Y0qRypDUPiJ9umpr6mlelBMBxnLCfzxs mV4V7XeSSm2zVfy1rYiZ1CHe7tYSVpenaihKiq7m0p5nUjNAofbloIr+b99ppwTr HCrgTxz+xm9AFiMYHrz4kDbrcT5ud3BJ9N2a/eA0xLsTJIMkLtpleqjjLgjTLIs9 /b6j/tEK0Qv39ZxZNLFwOO7kcqSGs8MVTp2lSTGnjzX1HEEIByh1hJ9z185Jo7Rq 0+iAYf2yrKC5ELhFmrhcA/aXH2AheFAaZ/vZR7+2WhGEhmU3cNr+JH4qfjc4SYXy wGn7AXVBygc72PQ1Zc5UI/pvRtlg72BcFZD4jo0Nfh74eWGP9aKSezl505MwXWx8 IQCxZKaxpcKjPAqfs2qWZR9OYb2rl+23ZDyD4wZ73P5sANIPUXYBEVy8rqhoGp4M eOh4d7+fPf+5wmxWNK+ON7cIE1WVKsqB+M+7/K74U9HXBzf88orPov/2xTFU6qEQ VJuj5JHXfzmkwofqayk6 =GmW5 -----END PGP SIGNATURE----- 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: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
commit
c932cf07dd
@ -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);
|
||||
}
|
||||
|
@ -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
|
||||
#elif defined(__powerpc64__)
|
||||
#define GEN_ELF_ARCH EM_PPC64
|
||||
#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__)
|
||||
#define GEN_ELF_ARCH EM_PPC64
|
||||
#define GEN_ELF_ENDIAN ELFDATA2LSB
|
||||
#define GEN_ELF_CLASS ELFCLASS64
|
||||
#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
|
||||
|
Loading…
Reference in New Issue
Block a user