Lines Matching defs:note
68 * .note.stapsdt ELF section. Here's an example USDT definition as emitted by
178 * note) as a lookup key in a hashmap. USDT spec string uniquely defines
193 #define USDT_NOTE_SEC ".note.stapsdt"
586 static int parse_usdt_spec(struct usdt_spec *spec, const struct usdt_note *note, __u64 usdt_cookie);
634 struct usdt_note note;
638 err = parse_usdt_note(&nhdr, data->d_buf, name_off, desc_off, ¬e);
642 if (strcmp(note.provider, usdt_provider) != 0 || strcmp(note.name, usdt_name) != 0)
648 * Each SDT probe also expands into a non-allocated ELF note. You can
650 * see below for details. Because the note is non-allocated, it means
654 * However, this means that prelink won't adjust the note's contents
662 * Each probe note records the link-time address of the .stapsdt.base
664 * base address stored in the note with the .stapsdt.base section's
672 usdt_abs_ip = note.loc_addr;
673 if (base_addr && note.base_addr)
674 usdt_abs_ip += base_addr - note.base_addr;
741 note.loc_addr, note.base_addr, usdt_abs_ip, usdt_rel_ip, note.args,
745 if (note.sema_addr) {
753 seg = find_elf_seg(segs, seg_cnt, note.sema_addr);
757 usdt_provider, usdt_name, path, note.sema_addr);
764 note.sema_addr);
768 usdt_sema_off = note.sema_addr - seg->start + seg->offset;
772 path, note.sema_addr, note.base_addr, usdt_sema_off,
794 target->spec_str = note.args;
796 err = parse_usdt_spec(&target->spec, ¬e, usdt_cookie);
1141 /* Parse out USDT ELF note from '.note.stapsdt' section.
1145 struct usdt_note *note)
1151 /* sanity check USDT note name and type first */
1157 /* sanity check USDT note contents ("description" in ELF terminology) */
1185 note->provider = provider;
1186 note->name = name;
1188 note->args = "";
1190 note->args = args;
1191 note->loc_addr = addrs[0];
1192 note->base_addr = addrs[1];
1193 note->sema_addr = addrs[2];
1200 static int parse_usdt_spec(struct usdt_spec *spec, const struct usdt_note *note, __u64 usdt_cookie)
1209 s = note->args;
1213 USDT_MAX_ARG_CNT, note->provider, note->name, note->args);