xref: /linux/tools/perf/util/map_symbol.c (revision 891e8abed532423d3b918b0c445dc8919bc445b5)
1 // SPDX-License-Identifier: GPL-2.0
2 #include "map_symbol.h"
3 #include "maps.h"
4 #include "map.h"
5 
6 void map_symbol__exit(struct map_symbol *ms)
7 {
8 	maps__zput(ms->maps);
9 	map__zput(ms->map);
10 }
11 
12 void addr_map_symbol__exit(struct addr_map_symbol *ams)
13 {
14 	map_symbol__exit(&ams->ms);
15 }
16 
17 void map_symbol__copy(struct map_symbol *dst, struct map_symbol *src)
18 {
19 	dst->maps = maps__get(src->maps);
20 	dst->map = map__get(src->map);
21 	dst->sym = src->sym;
22 }
23 
24 void addr_map_symbol__copy(struct addr_map_symbol *dst, struct addr_map_symbol *src)
25 {
26 	map_symbol__copy(&dst->ms, &src->ms);
27 
28 	dst->addr = src->addr;
29 	dst->al_addr = src->al_addr;
30 	dst->al_level = src->al_level;
31 	dst->phys_addr = src->phys_addr;
32 	dst->data_page_size = src->data_page_size;
33 }
34