mirror of https://github.com/acidanthera/audk.git
EmulatorPkg: Update lldbefi.py to work with current lldb which uses python3
The version of lldb shipping with macOS Big Sur is lldb-1205.0.27.3, and it uses python3. Update lldbefi.py to work with it, including removing the unused 'commands' import and fixing the print statements. Signed-off-by: Rebecca Cran <rebecca@bsdio.com> Reviewed-by: Andrew Fish <afish@apple.com>
This commit is contained in:
parent
41d8bb3038
commit
7a6e6ae933
|
@ -10,7 +10,6 @@ import lldb
|
||||||
import os
|
import os
|
||||||
import uuid
|
import uuid
|
||||||
import string
|
import string
|
||||||
import commands
|
|
||||||
import optparse
|
import optparse
|
||||||
import shlex
|
import shlex
|
||||||
|
|
||||||
|
@ -389,7 +388,7 @@ def LoadEmulatorEfiSymbols(frame, bp_loc , internal_dict):
|
||||||
|
|
||||||
FileName = frame.thread.process.ReadCStringFromMemory (FileNamePtr, FileNameLen, Error)
|
FileName = frame.thread.process.ReadCStringFromMemory (FileNamePtr, FileNameLen, Error)
|
||||||
if not Error.Success():
|
if not Error.Success():
|
||||||
print "!ReadCStringFromMemory() did not find a %d byte C string at %x" % (FileNameLen, FileNamePtr)
|
print("!ReadCStringFromMemory() did not find a %d byte C string at %x" % (FileNameLen, FileNamePtr))
|
||||||
# make breakpoint command continue
|
# make breakpoint command continue
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -398,7 +397,7 @@ def LoadEmulatorEfiSymbols(frame, bp_loc , internal_dict):
|
||||||
LoadAddress = frame.FindVariable ("LoadAddress").GetValueAsUnsigned() - 0x240
|
LoadAddress = frame.FindVariable ("LoadAddress").GetValueAsUnsigned() - 0x240
|
||||||
|
|
||||||
debugger.HandleCommand ("target modules add %s" % FileName)
|
debugger.HandleCommand ("target modules add %s" % FileName)
|
||||||
print "target modules load --slid 0x%x %s" % (LoadAddress, FileName)
|
print("target modules load --slid 0x%x %s" % (LoadAddress, FileName))
|
||||||
debugger.HandleCommand ("target modules load --slide 0x%x --file %s" % (LoadAddress, FileName))
|
debugger.HandleCommand ("target modules load --slide 0x%x --file %s" % (LoadAddress, FileName))
|
||||||
else:
|
else:
|
||||||
target = debugger.GetSelectedTarget()
|
target = debugger.GetSelectedTarget()
|
||||||
|
@ -408,7 +407,7 @@ def LoadEmulatorEfiSymbols(frame, bp_loc , internal_dict):
|
||||||
if FileName == ModuleName or FileName == SBModule.GetFileSpec().GetFilename():
|
if FileName == ModuleName or FileName == SBModule.GetFileSpec().GetFilename():
|
||||||
target.ClearModuleLoadAddress (SBModule)
|
target.ClearModuleLoadAddress (SBModule)
|
||||||
if not target.RemoveModule (SBModule):
|
if not target.RemoveModule (SBModule):
|
||||||
print "!lldb.target.RemoveModule (%s) FAILED" % SBModule
|
print("!lldb.target.RemoveModule (%s) FAILED" % SBModule)
|
||||||
|
|
||||||
# make breakpoint command continue
|
# make breakpoint command continue
|
||||||
return False
|
return False
|
||||||
|
@ -490,15 +489,15 @@ def efi_guid_command(debugger, command, result, dict):
|
||||||
|
|
||||||
if len(args) >= 1:
|
if len(args) >= 1:
|
||||||
if GuidStr in guid_dict:
|
if GuidStr in guid_dict:
|
||||||
print "%s = %s" % (guid_dict[GuidStr], GuidStr)
|
print("%s = %s" % (guid_dict[GuidStr], GuidStr))
|
||||||
print "%s = %s" % (guid_dict[GuidStr], GuidToCStructStr (GuidStr))
|
print("%s = %s" % (guid_dict[GuidStr], GuidToCStructStr (GuidStr)))
|
||||||
else:
|
else:
|
||||||
print GuidStr
|
print(GuidStr)
|
||||||
else:
|
else:
|
||||||
# dump entire dictionary
|
# dump entire dictionary
|
||||||
width = max(len(v) for k,v in guid_dict.iteritems())
|
width = max(len(v) for k,v in guid_dict.iteritems())
|
||||||
for value in sorted(guid_dict, key=guid_dict.get):
|
for value in sorted(guid_dict, key=guid_dict.get):
|
||||||
print '%-*s %s %s' % (width, guid_dict[value], value, GuidToCStructStr(value))
|
print('%-*s %s %s' % (width, guid_dict[value], value, GuidToCStructStr(value)))
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -538,4 +537,4 @@ def __lldb_init_module (debugger, internal_dict):
|
||||||
if Breakpoint.GetNumLocations() == 1:
|
if Breakpoint.GetNumLocations() == 1:
|
||||||
# Set the emulator breakpoints, if we are in the emulator
|
# Set the emulator breakpoints, if we are in the emulator
|
||||||
debugger.HandleCommand("breakpoint command add -s python -F lldbefi.LoadEmulatorEfiSymbols {id}".format(id=Breakpoint.GetID()))
|
debugger.HandleCommand("breakpoint command add -s python -F lldbefi.LoadEmulatorEfiSymbols {id}".format(id=Breakpoint.GetID()))
|
||||||
print 'Type r to run emulator. SecLldbScriptBreak armed. EFI modules should now get source level debugging in the emulator.'
|
print('Type r to run emulator. SecLldbScriptBreak armed. EFI modules should now get source level debugging in the emulator.')
|
||||||
|
|
Loading…
Reference in New Issue