[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] tools/misc: Drop xensymoops
commit 2e955d25544c86667d7ddecb0a0827749a2d7455 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Mon Dec 16 11:56:03 2024 +0000 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Mon Dec 16 16:33:42 2024 +0000 tools/misc: Drop xensymoops This script is not referenced by the build system, and has escaped all Python compatibility work; it's still using print statements. Also, the regex it uses ties it to a 32bit build of Xen, which was dropped in Xen 4.3, 11 years ago. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Jan Beulich <jbeulich@xxxxxxxx> --- tools/misc/xensymoops | 118 -------------------------------------------------- 1 file changed, 118 deletions(-) diff --git a/tools/misc/xensymoops b/tools/misc/xensymoops deleted file mode 100755 index 835d187e90..0000000000 --- a/tools/misc/xensymoops +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/env python - -# An oops analyser for Xen -# Usage: xensymoops path-to-xen.s < oops-message - -# There's probably some more features that could go in here but this -# is sufficient to analyse most errors in my code ;-) - -# by Mark Williamson (C) 2004 Intel Research Cambridge - -import re, sys - -def read_oops(): - """Process an oops message on stdin and return (eip_addr, stack_addrs) - - eip_addr is the location of EIP at the point of the crash. - stack_addrs is a dictionary mapping potential code addresses in the stack - to their order in the stack trace. - """ - stackaddr_ptn = "\[([a-z,0-9]*)\]" - stackaddr_re = re.compile(stackaddr_ptn) - - eip_ptn = ".*EIP:.*<([a-z,0-9]*)>.*" - eip_re = re.compile(eip_ptn) - - matches = 0 - stack_addresses = {} - eip_addr = "Not known" - - while True: - line = sys.stdin.readline() - if not line: break - - m = eip_re.match(line) - if m: eip_addr = m.group(1) - - m = stackaddr_re.findall(line) - - for i in m: - stack_addresses[i] = matches - matches += 1 - - return (eip_addr, stack_addresses) - -def usage(): - print >> sys.stderr, """Usage: %s path-to-asm < oops-msg - The oops message should be fed to the standard input. The - command-line argument specifies the path to the Xen assembly dump - produced by \"make debug\". The location of EIP and the backtrace - will be output to standard output. - """ % sys.argv[0] - sys.exit() - -##### main - -if len(sys.argv) != 2: - usage() - -# get address of EIP and the potential code addresses from the stack -(eip_addr, stk_addrs) = read_oops() - -# open Xen disassembly -asm_file = open(sys.argv[1]) - -# regexp to match addresses of code lines in the objdump -addr_ptn = "([a-z,0-9]*):" -addr_re = re.compile(addr_ptn) - -# regexp to match the start of functions in the objdump -func_ptn = "(.*<[\S]*>):" -func_re = re.compile(func_ptn) - -func = "<No function>" # holds the name of the current function being scanned - -eip_func = "<No function>" # name of the function EIP was in - -# list of (position in original backtrace, code address, function) tuples -# describing all the potential code addresses we identified in the backtrace -# whose addresses we also located in the objdump output -backtrace = [] - -while True: - line = asm_file.readline() - if not line: break - - # if we've read the start of the function, record the name and address - fm = func_re.match(line) - if fm: - func = fm.group(1) - continue - - # try match the address at the start of the line - m = addr_re.match(line) - if not m: continue - - # we're on a code line... - - address = m.group(1) - - # if this address was seen as a potential code address in the backtrace then - # record it in the backtrace list - if stk_addrs.has_key(address): - backtrace.append((stk_addrs[address], address, func)) - - # if this was the address that EIP... - if address == eip_addr: - eip_func = func - - -print "EIP %s in function %s" % (eip_addr, eip_func) -print "Backtrace:" - -# sorting will order primarily by the first element of each tuple, -# i.e. the order in the original oops -backtrace.sort() - -for (i, a, f) in backtrace: - print "%s in function %s" % ( a, f ) -- generated by git-patchbot for /home/xen/git/xen.git#master
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |