29 lines
		
	
	
		
			519 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
		
			519 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | #!/bin/bash
 | ||
|  | 
 | ||
|  | usage() { | ||
|  |     echo -e "Usage :" | ||
|  |     echo -e "   $0 [log file] [out file]" | ||
|  |     echo -e "   log file: error dump log file" | ||
|  |     echo -e "   out file: .out execute file" | ||
|  |     echo -e "" | ||
|  |     echo -e "example:" | ||
|  |     echo -e "   $0 stack.txt ht_cco.out" | ||
|  |     echo -e "" | ||
|  | } | ||
|  | 
 | ||
|  | if [ ! -n "$1" ]; then | ||
|  |     usage | ||
|  |     exit | ||
|  | fi | ||
|  | 
 | ||
|  | if [ ! -n "$2" ]; then | ||
|  |     usage | ||
|  |     exit | ||
|  | fi | ||
|  | 
 | ||
|  | STACK_FILE=$1 | ||
|  | OUT_NAME=$2 | ||
|  | 
 | ||
|  | tail -n 1000 $STACK_FILE | awk '{print $2}' | grep "0x[0-9A-Fa-f]*" | \
 | ||
|  | xargs riscv64-unknown-elf-addr2line -f -e $OUT_NAME |