On 2019-08-15 19:14:33, Michael D Kinney wrote:
> Fix scripts to support lldb symbolic debugging when
> using XCODE5 tool chain.
> 
> Cc: Jordan Justen <jordan.l.jus...@intel.com>
> Cc: Ray Ni <ray...@intel.com>
> Cc: Michael D Kinney <michael.d.kin...@intel.com>
> Signed-off-by: Andrew Fish <af...@apple.com>

Is this a Cc/Signed-off-by typo? (See also, patches 7-10).

This makes me wonder if you are taking advantage of the git commit -s
switch to add your Signed-off-by.

Also, I'm wondering if you are taking advantage of git-send-email
automatically Cc'ing the addresses you listed in the commit message.
(I thought it Cc'd for the author and Cc tags, but I wasn't sure about
the Signed-off-by tag, and yet I see Andrew was Cc'd.)

There's a couple long lines below. You could use \ at the end of the
line to split the .sh line. I think the cd can be a separate command
in a shell script. (Not in make)

I hope someone that uses the XCODE toolchain could review/check the
XCODE patches.

-Jordan

> ---
>  EmulatorPkg/Unix/lldbefi.py |  8 +++++---
>  EmulatorPkg/build.sh        | 17 ++---------------
>  2 files changed, 7 insertions(+), 18 deletions(-)
> 
> diff --git a/EmulatorPkg/Unix/lldbefi.py b/EmulatorPkg/Unix/lldbefi.py
> index 218326b8cb..099192d8b5 100755
> --- a/EmulatorPkg/Unix/lldbefi.py
> +++ b/EmulatorPkg/Unix/lldbefi.py
> @@ -346,6 +346,7 @@ def TypePrintFormating(debugger):
>      debugger.HandleCommand("type summary add CHAR8 --python-function 
> lldbefi.CHAR8_TypeSummary")
>      debugger.HandleCommand('type summary add --regex "CHAR8 \[[0-9]+\]" 
> --python-function lldbefi.CHAR8_TypeSummary')
>
> +    debugger.HandleCommand('setting set frame-format "frame #${frame.index}: 
> ${frame.pc}{ 
> ${module.file.basename}{:${function.name}()${function.pc-offset}}}{ at 
> ${line.file.fullpath}:${line.number}}\n"')
>
>  gEmulatorBreakWorkaroundNeeded = True
>
> @@ -381,15 +382,16 @@ def LoadEmulatorEfiSymbols(frame, bp_loc , 
> internal_dict):
>      Error = lldb.SBError()
>      FileNamePtr = frame.FindVariable ("FileName").GetValueAsUnsigned()
>      FileNameLen = frame.FindVariable ("FileNameLength").GetValueAsUnsigned()
> +
>      FileName = frame.thread.process.ReadCStringFromMemory (FileNamePtr, 
> FileNameLen, Error)
>      if not Error.Success():
>          print "!ReadCStringFromMemory() did not find a %d byte C string at 
> %x" % (FileNameLen, FileNamePtr)
>          # make breakpoint command contiue
> -        frame.GetThread().GetProcess().Continue()
> +        return False
>
>      debugger = frame.thread.process.target.debugger
>      if frame.FindVariable ("AddSymbolFlag").GetValueAsUnsigned() == 1:
> -        LoadAddress = frame.FindVariable ("LoadAddress").GetValueAsUnsigned()
> +        LoadAddress = frame.FindVariable 
> ("LoadAddress").GetValueAsUnsigned() - 0x240
>
>          debugger.HandleCommand ("target modules add  %s" % FileName)
>          print "target modules load --slid 0x%x %s" % (LoadAddress, FileName)
> @@ -405,7 +407,7 @@ def LoadEmulatorEfiSymbols(frame, bp_loc , internal_dict):
>                      print "!lldb.target.RemoveModule (%s) FAILED" % SBModule
>
>      # make breakpoint command contiue
> -    frame.thread.process.Continue()
> +    return False
>
>  def GuidToCStructStr (guid, Name=False):
>    #
> diff --git a/EmulatorPkg/build.sh b/EmulatorPkg/build.sh
> index 60056e1b6c..35912a7775 100755
> --- a/EmulatorPkg/build.sh
> +++ b/EmulatorPkg/build.sh
> @@ -209,21 +209,8 @@ fi
>  if [[ "$RUN_EMULATOR" == "yes" ]]; then
>    case `uname` in
>      Darwin*)
> -      #
> -      # On Darwin we can't use dlopen, so we have to load the real PE/COFF 
> images.
> -      # This .gdbinit script sets a breakpoint that loads symbols for the 
> PE/COFFEE
> -      # images that get loaded in Host
> -      #
> -      if [[ "$CLANG_VER" == *-ccc-host-triple* ]]
> -      then
> -      # only older versions of Xcode support -ccc-host-tripe, for newer 
> versions
> -      # it is -target
> -        cp $WORKSPACE/EmulatorPkg/Unix/lldbefi.py 
> "$BUILD_OUTPUT_DIR/${BUILDTARGET}_$TARGET_TOOLS/$PROCESSOR"
> -        cd $BUILD_ROOT_ARCH; /usr/bin/lldb --source 
> $WORKSPACE/EmulatorPkg/Unix/lldbinit Host
> -        exit $? 
> -      else
> -        cp $WORKSPACE/EmulatorPkg/Unix/.gdbinit 
> "$BUILD_OUTPUT_DIR/${BUILDTARGET}_$TARGET_TOOLS/$PROCESSOR"
> -      fi
> +      cd $BUILD_ROOT_ARCH; /usr/bin/lldb -o "command script import 
> $WORKSPACE/EmulatorPkg/Unix/lldbefi.py" -o 'script 
> lldb.debugger.SetAsync(True)' -o "run" ./Host
> +      exit $?
>        ;;
>    esac
>
> -- 
> 2.21.0.windows.1
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#45799): https://edk2.groups.io/g/devel/message/45799
Mute This Topic: https://groups.io/mt/32894351/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to