* vmlinux buildid doesn't match the running one (/sys/kernel/notes) @ 2011-04-28 17:04 Francis Moreau 2011-05-01 19:02 ` Francis Moreau 0 siblings, 1 reply; 4+ messages in thread From: Francis Moreau @ 2011-04-28 17:04 UTC (permalink / raw) To: linux-perf-users Hello, I'm trying to use perf-probe, but it fails. Basically it's due to the buildid of the running kernel (the one which can be read from /sys/kernel/notes) and the one in vmlinx (which I compiled my self). I did this: $ make $ make modules_install install $ ls vmlinux vmlinux reboot $ perf probe -k vmlinux -L schedule Failed to find path of kernel module. Failed to open debuginfo file. Error: Failed to show lines. (-2) So my question is why the buildids doesn't match ? I guess I did something wrong since it's pretty a standard use case but I don't see why... Thanks -- Francis ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: vmlinux buildid doesn't match the running one (/sys/kernel/notes) 2011-04-28 17:04 vmlinux buildid doesn't match the running one (/sys/kernel/notes) Francis Moreau @ 2011-05-01 19:02 ` Francis Moreau [not found] ` <BANLkTikauRD6CF3MuBmuvQqJAuDPHE2x-Q@mail.gmail.com> 0 siblings, 1 reply; 4+ messages in thread From: Francis Moreau @ 2011-05-01 19:02 UTC (permalink / raw) To: linux-perf-users Hi, Sorry for asking again but I would be really greatfull is someone can tell me what's wrong when using a kernel that I compiled by my own. I do not have that issue is I use the kernel shipped by my distro (FC14). Thanks On Thu, Apr 28, 2011 at 7:04 PM, Francis Moreau <francis.moro@gmail.com> wrote: > Hello, > > I'm trying to use perf-probe, but it fails. > > Basically it's due to the buildid of the running kernel (the one which > can be read from /sys/kernel/notes) and the one in vmlinx (which I > compiled my self). > > I did this: > > $ make > $ make modules_install install > $ ls vmlinux > vmlinux > > reboot > > $ perf probe -k vmlinux -L schedule > Failed to find path of kernel module. > Failed to open debuginfo file. > Error: Failed to show lines. (-2) > > So my question is why the buildids doesn't match ? > > I guess I did something wrong since it's pretty a standard use case > but I don't see why... > > Thanks > -- > Francis > -- Francis ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <BANLkTikauRD6CF3MuBmuvQqJAuDPHE2x-Q@mail.gmail.com>]
* Re: vmlinux buildid doesn't match the running one (/sys/kernel/notes) [not found] ` <BANLkTikauRD6CF3MuBmuvQqJAuDPHE2x-Q@mail.gmail.com> @ 2011-05-04 13:12 ` Lin Ming 2011-05-05 9:41 ` Francis Moreau 0 siblings, 1 reply; 4+ messages in thread From: Lin Ming @ 2011-05-04 13:12 UTC (permalink / raw) To: francis.moro; +Cc: linux-perf-users > From: Francis Moreau <francis.moro@gmail.com> > Date: Mon, May 2, 2011 at 3:02 AM > Subject: Re: vmlinux buildid doesn't match the running one (/sys/kernel/notes) > To: linux-perf-users@vger.kernel.org > > > Hi, > > Sorry for asking again but I would be really greatfull is someone can > tell me what's wrong when using a kernel that I compiled by my own. > > I do not have that issue is I use the kernel shipped by my distro (FC14). > > Thanks > > On Thu, Apr 28, 2011 at 7:04 PM, Francis Moreau <francis.moro@gmail.com> wrote: > > Hello, > > > > I'm trying to use perf-probe, but it fails. > > > > Basically it's due to the buildid of the running kernel (the one which > > can be read from /sys/kernel/notes) and the one in vmlinx (which I > > compiled my self). > > > > I did this: > > > > $ make > > $ make modules_install install > > $ ls vmlinux > > vmlinux > > > > reboot Could you make sure you indeed reboot with the new kernel running? Use below patch to dump the 2 build_ids. diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index 516876d..4b66c1c 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c @@ -1036,6 +1036,15 @@ static size_t elf_addr_to_index(Elf *elf, GElf_Addr addr) return -1; } +static void dump_build_id(u8 *build_id) +{ + int i; + + for (i = 0; i < BUILD_ID_SIZE; i++) + printf("%02x ", build_id[i]); + printf("\n"); +} + static int dso__load_sym(struct dso *dso, struct map *map, const char *name, int fd, symbol_filter_t filter, int kmodule, int want_symtab) @@ -1075,8 +1084,11 @@ static int dso__load_sym(struct dso *dso, struct map *map, const char *name, BUILD_ID_SIZE) != BUILD_ID_SIZE) goto out_elf_end; - if (!dso__build_id_equal(dso, build_id)) + if (!dso__build_id_equal(dso, build_id)) { + dump_build_id(build_id); + dump_build_id(dso->build_id); goto out_elf_end; + } } sec = elf_section_by_name(elf, &ehdr, &shdr, ".symtab", NULL); > > > > $ perf probe -k vmlinux -L schedule > > Failed to find path of kernel module. > > Failed to open debuginfo file. > > Error: Failed to show lines. (-2) > > > > So my question is why the buildids doesn't match ? > > > > I guess I did something wrong since it's pretty a standard use case > > but I don't see why... > > > > Thanks > > -- > > Francis ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: vmlinux buildid doesn't match the running one (/sys/kernel/notes) 2011-05-04 13:12 ` Lin Ming @ 2011-05-05 9:41 ` Francis Moreau 0 siblings, 0 replies; 4+ messages in thread From: Francis Moreau @ 2011-05-05 9:41 UTC (permalink / raw) To: Lin Ming; +Cc: linux-perf-users On Wed, May 4, 2011 at 3:12 PM, Lin Ming <ming.m.lin@intel.com> wrote: > > Could you make sure you indeed reboot with the new kernel running? > I really don't know what happened when I tried, but now it works as expected (/me hiding). Sorry for the noise Thanks -- Francis ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-05-05 9:41 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-04-28 17:04 vmlinux buildid doesn't match the running one (/sys/kernel/notes) Francis Moreau 2011-05-01 19:02 ` Francis Moreau [not found] ` <BANLkTikauRD6CF3MuBmuvQqJAuDPHE2x-Q@mail.gmail.com> 2011-05-04 13:12 ` Lin Ming 2011-05-05 9:41 ` Francis Moreau
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).