Jordan, It is not a typo.
Andrew generated the XCODE specific changes, so they have been tested by him. I have also reviewed and tested the XCODE changes and verified that all 6 combinations build and boot to shell (IA32/X64 for RELEASE/DEBUG/NOOPT). Since they are all related to making EmulatorPkg work, we decided to fold them into the same patch set that was already being reviewed. I also verified build and boot to shell for 6 combinations on GCC5 (IA32/X64 for RELEASE/DEBUG/NOOPT) and the 12 combinations of VS2015/VS2017, IA323/X64, RELEASE/DEBUG/NOOPT. I have been working on some CI experiments using Azure Pipelines. Here is a pointer to the build logs for all the combinations listed above. https://dev.azure.com/mikekinney/edk2-ci/_build/results?buildId=312 Mike > -----Original Message----- > From: Justen, Jordan L > Sent: Friday, August 16, 2019 12:41 AM > To: Kinney, Michael D <michael.d.kin...@intel.com>; > devel@edk2.groups.io > Cc: Ni, Ray <ray...@intel.com>; Andrew Fish > <af...@apple.com> > Subject: Re: [Patch V4 06/10] EmulatorPkg: Fix XCODE5 > lldb issues > > 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.p > c-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/$PROCES > SOR" > > - 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/$PROCES > SOR" > > - 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 (#45818): https://edk2.groups.io/g/devel/message/45818 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] -=-=-=-=-=-=-=-=-=-=-=-