brintos

brintos / linux-shallow public Read only

0
0
Text · 933 B · edf8202 Raw
48 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef __PERF_SYMSRC_3#define __PERF_SYMSRC_ 14 5#include <stdbool.h>6#include <stddef.h>7#include "dso.h"8 9#ifdef HAVE_LIBELF_SUPPORT10#include <libelf.h>11#include <gelf.h>12#endif13#include <elf.h>14 15struct symsrc {16	char		     *name;17	int		     fd;18	enum dso_binary_type type;19 20#ifdef HAVE_LIBELF_SUPPORT21	Elf		     *elf;22	GElf_Ehdr	     ehdr;23 24	Elf_Scn		     *opdsec;25	size_t		     opdidx;26	GElf_Shdr	     opdshdr;27 28	Elf_Scn		     *symtab;29	size_t		     symtab_idx;30	GElf_Shdr	     symshdr;31 32	Elf_Scn		     *dynsym;33	size_t		     dynsym_idx;34	GElf_Shdr	     dynshdr;35 36	bool		     adjust_symbols;37	bool		     is_64_bit;38#endif39};40 41int symsrc__init(struct symsrc *ss, struct dso *dso, const char *name, enum dso_binary_type type);42void symsrc__destroy(struct symsrc *ss);43 44bool symsrc__has_symtab(struct symsrc *ss);45bool symsrc__possibly_runtime(struct symsrc *ss);46 47#endif /* __PERF_SYMSRC_ */48