Prev: [PATCH 1/1] perf symbols: ignore mapping symbols on ARM
Next: [PATCH] NFS: Use kernel DNS resolver
From: Dave Martin on 9 Aug 2010 07:30 Applies to linux-2.6-tip/master or acme/perf-core ARM ELF files use symbols with special names $a, $t, $d to identify regions of ARM code, Thumb code and data within code sections. This can cause confusing output from the perf tools, especially for partially stripped binaries, or binaries containing user-added zero-sized symbols (which may occur in hand-written assembler which hasn't been fully annotated with ..size directives). This patch filters out these symbols at load time. Addressing architecture-specific cases in this way could get quite messy-- if one architecture-specific hack is needed in the symbol loading loop, more might be needed over time. Adding a generic per-architecture symbol filtering hook might help to mitigate this if more cases need to be supported. Switching to libbfd as a generic image-handling backend for all architectures might be a better long-term solution, since libelf seems to be essentially a low-level parsing library only at this stage, and doesn't deal with all the architecture specifics. There's a generic bfd_is_target_special_symbol() function which is used by binutils to filter out architecture- specific symbols which are not "normal" symbols, which could help us for this case. Dave Martin (1): perf symbols: ignore mapping symbols on ARM tools/perf/util/symbol.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Pages: 1 Prev: [PATCH 1/1] perf symbols: ignore mapping symbols on ARM Next: [PATCH] NFS: Use kernel DNS resolver |