[PATCH 1/2] SDT markers listing by perf

Hemant hkshaw@linux.vnet.ibm.com
Fri Sep 6 08:41:00 GMT 2013


Hi Namhyung,

On 09/06/2013 12:07 PM, Namhyung Kim wrote:
> Hi Hemant,
>
> On Wed, 04 Sep 2013 23:07:57 +0530, Hemant wrote:
>> On 09/04/2013 12:12 PM, Namhyung Kim wrote:
>>> On Tue, 03 Sep 2013 13:06:55 +0530, Hemant Kumar wrote:
>>>> +	/*
>>>> +	 * 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);
>>> Shouldn't we check the name of note being "stapsdt" as well as version
>>> (type) 3?
>> Since, we are already fetching the section NOTE_SCN (".note.stapsdt")
>> and then we check for the type being SHT_NOTE and SHF_ALLOC, is it
>> required to do the same for the individual notes?
> I don't know.  Now it seems only includes SDT notes with name being
> "stapsdt" and type being 3.  But things can be changed in future..
>
> Thanks,
> Namhyung
>

Yeah that may be a case. Ok, will put a check on the individual markers 
for their type.

Thanks
Hemant



More information about the Systemtap mailing list