tools/perf/arch/powerpc/util/sym-handling.c
Source file repositories/reference/linux-study-clean/tools/perf/arch/powerpc/util/sym-handling.c
File Facts
- System
- Linux kernel
- Corpus path
tools/perf/arch/powerpc/util/sym-handling.c- Extension
.c- Size
- 3283 bytes
- Lines
- 144
- Domain
- Support Tooling And Documentation
- Bucket
- tools
- Inferred role
- Support Tooling And Documentation: implementation source
- Status
- source implementation candidate
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
dso.hsymbol.hmap.hprobe-event.hprobe-file.h
Detected Declarations
function Copyrightfunction arch__compare_symbol_namesfunction arch__compare_symbol_names_nfunction arch__sym_updatefunction arch__fix_tev_from_mapsfunction arch__post_process_probe_trace_eventsfunction map__for_each_symbol
Annotated Snippet
else if (lep_offset) {
if (pev->uprobes)
tev->point.address += lep_offset;
else
tev->point.offset += lep_offset;
}
}
#ifdef HAVE_LIBELF_SUPPORT
void arch__post_process_probe_trace_events(struct perf_probe_event *pev,
int ntevs)
{
struct probe_trace_event *tev;
struct map *map;
struct symbol *sym = NULL;
struct rb_node *tmp;
int i = 0;
map = get_target_map(pev->target, pev->nsi, pev->uprobes);
if (!map || map__load(map) < 0)
return;
for (i = 0; i < ntevs; i++) {
tev = &pev->tevs[i];
map__for_each_symbol(map, sym, tmp) {
if (map__unmap_ip(map, sym->start) == tev->point.address) {
arch__fix_tev_from_maps(pev, tev, map, sym);
break;
}
}
}
}
#endif /* HAVE_LIBELF_SUPPORT */
#endif
Annotation
- Immediate include surface: `dso.h`, `symbol.h`, `map.h`, `probe-event.h`, `probe-file.h`.
- Detected declarations: `function Copyright`, `function arch__compare_symbol_names`, `function arch__compare_symbol_names_n`, `function arch__sym_update`, `function arch__fix_tev_from_maps`, `function arch__post_process_probe_trace_events`, `function map__for_each_symbol`.
- Atlas domain: Support Tooling And Documentation / tools.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.