Hi Hemant,
On Wed, 04 Sep 2013 23:07:57 +0530, Hemant wrote:On 09/04/2013 12:12 PM, Namhyung Kim wrote:I don't know. Now it seems only includes SDT notes with name beingOn Tue, 03 Sep 2013 13:06:55 +0530, Hemant Kumar wrote:Since, we are already fetching the section NOTE_SCN (".note.stapsdt")+ /*Shouldn't we check the name of note being "stapsdt" as well as version
+ * Look for Section type = SHT_NOTE, flags = no SHF_ALLOC
+ * and name = .note.stapsdt
+ */
+ scn = elf_section_by_name(elf, &ehdr, &shdr, NOTE_SCN, NULL);
+ if (scn == NULL) {
+ pr_err("%s section not found!\n", NOTE_SCN);
+ goto out_end;
+ }
+
+ if (!(shdr.sh_type == SHT_NOTE) || (shdr.sh_flags & SHF_ALLOC))
+ goto out_end;
+
+ data = elf_getdata(scn, NULL);
+
+ /* Get the notes */
+ for (offset = 0; (next = gelf_getnote(data, offset, &nhdr, &name_off,
+ &desc_off)) > 0; offset = next) {
+ tmp = populate_note(&elf, (const char *)((long)(data->d_buf) +
+ (long)desc_off),
+ nhdr.n_descsz, nhdr.n_type);
(type) 3?
and then we check for the type being SHT_NOTE and SHF_ALLOC, is it
required to do the same for the individual notes?
"stapsdt" and type being 3. But things can be changed in future..
Thanks,
Namhyung