perf report: Output more symbol related debug data
Print more symbol relocation related info under -vv. Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
		
				
					committed by
					
						
						Ingo Molnar
					
				
			
			
				
	
			
			
			
						parent
						
							74d5b5889e
						
					
				
				
					commit
					520f2c346a
				
			@@ -797,7 +797,7 @@ resolve_symbol(struct thread *thread, struct map **mapp,
 | 
			
		||||
{
 | 
			
		||||
	struct dso *dso = dsop ? *dsop : NULL;
 | 
			
		||||
	struct map *map = mapp ? *mapp : NULL;
 | 
			
		||||
	uint64_t ip = *ipp;
 | 
			
		||||
	u64 ip = *ipp;
 | 
			
		||||
 | 
			
		||||
	if (!thread)
 | 
			
		||||
		return NULL;
 | 
			
		||||
@@ -814,7 +814,6 @@ resolve_symbol(struct thread *thread, struct map **mapp,
 | 
			
		||||
			*mapp = map;
 | 
			
		||||
got_map:
 | 
			
		||||
		ip = map->map_ip(map, ip);
 | 
			
		||||
		*ipp  = ip;
 | 
			
		||||
 | 
			
		||||
		dso = map->dso;
 | 
			
		||||
	} else {
 | 
			
		||||
@@ -828,6 +827,8 @@ got_map:
 | 
			
		||||
		dso = kernel_dso;
 | 
			
		||||
	}
 | 
			
		||||
	dprintf(" ...... dso: %s\n", dso ? dso->name : "<not found>");
 | 
			
		||||
	dprintf(" ...... map: %Lx -> %Lx\n", *ipp, ip);
 | 
			
		||||
	*ipp  = ip;
 | 
			
		||||
 | 
			
		||||
	if (dsop)
 | 
			
		||||
		*dsop = dso;
 | 
			
		||||
 
 | 
			
		||||
@@ -535,6 +535,10 @@ static int dso__load_sym(struct dso *self, int fd, const char *name,
 | 
			
		||||
		gelf_getshdr(sec, &shdr);
 | 
			
		||||
		obj_start = sym.st_value;
 | 
			
		||||
 | 
			
		||||
		if (verbose >= 2)
 | 
			
		||||
			printf("adjusting symbol: st_value: %Lx sh_addr: %Lx sh_offset: %Lx\n",
 | 
			
		||||
				(u64)sym.st_value, (u64)shdr.sh_addr, (u64)shdr.sh_offset);
 | 
			
		||||
 | 
			
		||||
		sym.st_value -= shdr.sh_addr - shdr.sh_offset;
 | 
			
		||||
 | 
			
		||||
		f = symbol__new(sym.st_value, sym.st_size,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user