|
struct map_groups * | map_groups__new (struct machine *machine) |
|
void | map_groups__delete (struct map_groups *mg) |
|
bool | map_groups__empty (struct map_groups *mg) |
|
static struct map_groups * | map_groups__get (struct map_groups *mg) |
|
void | map_groups__put (struct map_groups *mg) |
|
struct kmap * | __map__kmap (struct map *map) |
|
struct kmap * | map__kmap (struct map *map) |
|
struct map_groups * | map__kmaps (struct map *map) |
|
static u64 | map__map_ip (struct map *map, u64 ip) |
|
static u64 | map__unmap_ip (struct map *map, u64 ip) |
|
static u64 | identity__map_ip (struct map *map __maybe_unused, u64 ip) |
|
static size_t | map__size (const struct map *map) |
|
u64 | map__rip_2objdump (struct map *map, u64 rip) |
|
u64 | map__objdump_2mem (struct map *map, u64 ip) |
|
void | map__init (struct map *map, u64 start, u64 end, u64 pgoff, struct dso *dso) |
|
struct map * | map__new (struct machine *machine, u64 start, u64 len, u64 pgoff, u32 d_maj, u32 d_min, u64 ino, u64 ino_gen, u32 prot, u32 flags, char *filename, struct thread *thread) |
|
struct map * | map__new2 (u64 start, struct dso *dso) |
|
void | map__delete (struct map *map) |
|
struct map * | map__clone (struct map *map) |
|
static struct map * | map__get (struct map *map) |
|
void | map__put (struct map *map) |
|
static void | __map__zput (struct map **map) |
|
int | map__overlap (struct map *l, struct map *r) |
|
size_t | map__fprintf (struct map *map, FILE *fp) |
|
size_t | map__fprintf_dsoname (struct map *map, FILE *fp) |
|
char * | map__srcline (struct map *map, u64 addr, struct symbol *sym) |
|
int | map__fprintf_srcline (struct map *map, u64 addr, const char *prefix, FILE *fp) |
|
int | map__load (struct map *map) |
|
struct symbol * | map__find_symbol (struct map *map, u64 addr) |
|
struct symbol * | map__find_symbol_by_name (struct map *map, const char *name) |
|
void | map__fixup_start (struct map *map) |
|
void | map__fixup_end (struct map *map) |
|
void | map__reloc_vmlinux (struct map *map) |
|
void | maps__insert (struct maps *maps, struct map *map) |
|
void | maps__remove (struct maps *maps, struct map *map) |
|
struct map * | maps__find (struct maps *maps, u64 addr) |
|
struct map * | maps__first (struct maps *maps) |
|
struct map * | map__next (struct map *map) |
|
struct symbol * | maps__find_symbol_by_name (struct maps *maps, const char *name, struct map **mapp) |
|
void | map_groups__init (struct map_groups *mg, struct machine *machine) |
|
void | map_groups__exit (struct map_groups *mg) |
|
int | map_groups__clone (struct thread *thread, struct map_groups *parent) |
|
size_t | map_groups__fprintf (struct map_groups *mg, FILE *fp) |
|
int | map__set_kallsyms_ref_reloc_sym (struct map *map, const char *symbol_name, u64 addr) |
|
static void | map_groups__insert (struct map_groups *mg, struct map *map) |
|
static void | map_groups__remove (struct map_groups *mg, struct map *map) |
|
static struct map * | map_groups__find (struct map_groups *mg, u64 addr) |
|
struct map * | map_groups__first (struct map_groups *mg) |
|
static struct map * | map_groups__next (struct map *map) |
|
struct symbol * | map_groups__find_symbol (struct map_groups *mg, u64 addr, struct map **mapp) |
|
struct symbol * | map_groups__find_symbol_by_name (struct map_groups *mg, const char *name, struct map **mapp) |
|
int | map_groups__find_ams (struct addr_map_symbol *ams) |
|
int | map_groups__fixup_overlappings (struct map_groups *mg, struct map *map, FILE *fp) |
|
struct map * | map_groups__find_by_name (struct map_groups *mg, const char *name) |
|
bool | __map__is_kernel (const struct map *map) |
|
bool | __map__is_extra_kernel_map (const struct map *map) |
|
static bool | __map__is_kmodule (const struct map *map) |
|
bool | map__has_symbols (const struct map *map) |
|
static bool | is_entry_trampoline (const char *name) |
|
u64 map__objdump_2mem |
( |
struct map * |
map, |
|
|
u64 |
ip |
|
) |
| |
map__objdump_2mem - convert objdump address to a memory address. : memory map : objdump address
Closely related to map__rip_2objdump(), this function takes an address from objdump and converts it to a memory address. Note this assumes that contains the address. To be sure the result is valid, check it forwards e.g. map__rip_2objdump(map->map_ip(map, map__objdump_2mem(map, ip))) == ip
Return: Memory address.
Definition at line 494 of file map.c.
u64 map__rip_2objdump |
( |
struct map * |
map, |
|
|
u64 |
rip |
|
) |
| |
map__rip_2objdump - convert symbol start address to objdump address. : memory map : symbol start address
objdump wants/reports absolute IPs for ET_EXEC, and RIPs for ET_DYN. map->dso->adjust_symbols==1 for ET_EXEC-like cases except ET_REL which is relative to section start.
Return: Address suitable for passing to "objdump --start-address="
Definition at line 450 of file map.c.