From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out03.mta.xmission.com (out03.mta.xmission.com [166.70.13.233]) by mx.groups.io with SMTP id smtpd.web12.31599.1628820590502486001 for ; Thu, 12 Aug 2021 19:09:50 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bsdio.com header.s=xmission header.b=qqliVbWU; spf=none, err=SPF record not found (domain: bsdio.com, ip: 166.70.13.233, mailfrom: rebecca@bsdio.com) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=simple/simple; d=bsdio.com; s=xmission; h=Subject:To:In-Reply-To:Cc:References:Message-Id:Date: Mime-Version:From:Content-Transfer-Encoding:Content-Type:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=qAsOsjEVlAgXyxKOYVqKO3X5/sqfoilV09pyLKoP83M=; b=qqliVbWU9zFtmKhaE9bAfPLaP1 YHbppHW1FBKXxHYG8tgmTLHYbub/Wvc6w3q5P/OhclHTyxxeVDWNMadSAlhVxIvzl90govqxVrxpW RNYZw/J5V+fL5b8fJAY9uZtLau2vl18KIcK+DVLlrx9i0s9R0hTMGp1ynB9rlRiluapE=; Received: from in01.mta.xmission.com ([166.70.13.51]:42354) by out03.mta.xmission.com with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1mEMdo-00DGqU-SP; Thu, 12 Aug 2021 20:09:48 -0600 Received: from mta4.zcs.xmission.com ([166.70.13.68]:55436) by in01.mta.xmission.com with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1mEMdm-00G4YK-P4; Thu, 12 Aug 2021 20:09:48 -0600 Received: from localhost (localhost [127.0.0.1]) by mta4.zcs.xmission.com (Postfix) with ESMTP id 7A29250105A; Thu, 12 Aug 2021 20:09:46 -0600 (MDT) X-Amavis-Modified: Mail body modified (using disclaimer) - mta4.zcs.xmission.com Received: from mta4.zcs.xmission.com ([127.0.0.1]) by localhost (mta4.zcs.xmission.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 6ifjQGhYyNWl; Thu, 12 Aug 2021 20:09:46 -0600 (MDT) Received: from smtpclient.apple (c-174-52-16-57.hsd1.ut.comcast.net [174.52.16.57]) by mta4.zcs.xmission.com (Postfix) with ESMTPSA id 409C4500ADB; Thu, 12 Aug 2021 20:09:46 -0600 (MDT) From: "Rebecca Cran" Mime-Version: 1.0 (1.0) Date: Thu, 12 Aug 2021 20:09:45 -0600 Message-Id: <57D9ED7E-5166-4C55-8791-6BD502102696@bsdio.com> References: <013e01d78fe3$178ddc00$46a99400$@byosoft.com.cn> Cc: devel@edk2.groups.io, Andrew Fish In-Reply-To: <013e01d78fe3$178ddc00$46a99400$@byosoft.com.cn> To: gaoliming X-Mailer: iPhone Mail (18G82) X-XM-SPF: eid=1mEMdm-00G4YK-P4;;;mid=<57D9ED7E-5166-4C55-8791-6BD502102696@bsdio.com>;;;hst=in01.mta.xmission.com;;;ip=166.70.13.68;;;frm=rebecca@bsdio.com;;;spf=none X-SA-Exim-Connect-IP: 166.70.13.68 X-SA-Exim-Mail-From: rebecca@bsdio.com X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on sa08.xmission.com X-Spam-Flag: YES X-Spam-Level: ********* X-Spam-Status: Yes, score=9.6 required=8.0 tests=ALL_TRUSTED,BAYES_50, DCC_CHECK_NEGATIVE,FVGT_m_MULTI_ODD,LotsOfNums_01,MIME_QP_LONG_LINE, TR_XM_BayesUnsub,TR_XM_SB_Phish,T_TM2_M_HEADER_IN_MSG,T_TooManySym_01, XMGppyBdWords,XMSubLong,XMSubPhish11,XM_B_Unicode,XM_B_Unicode3, XM_B_Unsub,XM_TLDProd2 autolearn=disabled version=3.4.2 X-Spam-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% * [score: 0.5000] * 0.7 XMSubLong Long Subject * 2.5 XMGppyBdWords BODY: Gappy or l33t words * 0.0 XM_B_Unicode3 BODY: Testing for specific types of unicode * 0.0 XM_B_Unicode BODY: Testing for specific types of unicode * 0.0 T_TM2_M_HEADER_IN_MSG BODY: No description available. * 1.2 LotsOfNums_01 BODY: Lots of long strings of numbers * 0.0 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 * chars * -0.0 DCC_CHECK_NEGATIVE Not listed in DCC * [sa08 1397; IP=ok Body=1 Fuz1=1] [Fuz2=1] * 1.5 XM_TLDProd2 Suspicious TLD w/Product * 0.5 XM_B_Unsub Unsubscribe in body of email but missing unsubscribe * header * 0.4 FVGT_m_MULTI_ODD Contains multiple odd letter combinations * 0.0 T_TooManySym_01 4+ unique symbols in subject * 1.5 XMSubPhish11 Phishy Language Subject * 1.5 TR_XM_BayesUnsub High bayes score with no unsubscribe header * 0.0 TR_XM_SB_Phish Phishing flag in subject of message X-Spam-DCC: XMission; sa08 1397; IP=ok Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: *********;gaoliming X-Spam-Relay-Country: X-Spam-Timing: total 1578 ms - load_scoreonly_sql: 0.05 (0.0%), signal_user_changed: 14 (0.9%), b_tie_ro: 12 (0.8%), parse: 2.4 (0.2%), extract_message_metadata: 66 (4.2%), get_uri_detail_list: 13 (0.8%), tests_pri_-1000: 85 (5.4%), tests_pri_-950: 1.51 (0.1%), tests_pri_-900: 1.17 (0.1%), tests_pri_-90: 163 (10.3%), check_bayes: 146 (9.2%), b_tokenize: 34 (2.1%), b_tok_get_all: 33 (2.1%), b_comp_prob: 9 (0.6%), b_tok_touch_all: 62 (3.9%), b_finish: 1.41 (0.1%), tests_pri_0: 992 (62.9%), check_dkim_signature: 0.76 (0.0%), check_dkim_adsp: 37 (2.4%), poll_dns_idle: 252 (16.0%), tests_pri_10: 3.4 (0.2%), tests_pri_500: 244 (15.5%), rewrite_mail: 0.00 (0.0%) Subject: Re: [edk2-devel] [PATCH v2] Xcode.md: Update instructions to work on modern macOS and Xcode versions X-SA-Exim-Version: 4.2.1 (built Sat, 08 Feb 2020 21:53:50 +0000) X-SA-Exim-Scanned: Yes (on in01.mta.xmission.com) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Thanks, that looks good. Rebecca Cran=20 > On Aug 12, 2021, at 7:32 PM, gaoliming wrote: >=20 > =EF=BB=BFRebecca: > I just merge it. Please check.=20 >=20 > Thanks > Liming >> -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- >> =E5=8F=91=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io = =E4=BB=A3=E8=A1=A8 Rebecca Cran >> =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2021=E5=B9=B48=E6=9C=8813=E6=97=A5= 0:56 >> =E6=94=B6=E4=BB=B6=E4=BA=BA: Andrew Fish ; edk2-devel-g= roups-io >> >> =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v2] Xcode.md: Update instruc= tions to work on >> modern macOS and Xcode versions >>=20 >> Could you push the commit please? >>=20 >> https://github.com/tianocore/tianocore.github.io/wiki/Xcode is still >> showing the old content. >>=20 >>=20 >> Thanks. >> Rebecca Cran >>=20 >>> On 7/22/2021 1:10 AM, Andrew Fish wrote: >>> Reviewed-by: Andrew Fish >>>=20 >>>> On Jul 21, 2021, at 4:56 PM, Rebecca Cran wrote: >>>>=20 >>>> The existing instructions no longer work on macOS Big Sur and Xcode 12= .5. >>>> Update them to include for example using lldb instead of gdb, installi= ng >>>> XQuartz, and using modern names such as macOS instead of Mac OS X. >>>>=20 >>>> Also, since MacPorts is less popular these days, remove instructions f= or >>>> installing tools with it, leaving steps for using Homebrew. >>>>=20 >>>> Signed-off-by: Rebecca Cran >>>> --- >>>> Xcode.md | 172 +++++++++----------- >>>> 1 file changed, 78 insertions(+), 94 deletions(-) >>>>=20 >>>> diff --git a/Xcode.md b/Xcode.md >>>> index 3d220a5..8af2653 100644 >>>> --- a/Xcode.md >>>> +++ b/Xcode.md >>>> @@ -1,43 +1,28 @@ >>>> -This page provides step-by-step instructions for setting up a >> [http://www.tianocore.org/edk2/ EDK II] build environment on Mac OS X >> systems using the Xcode development tools. These steps have been verifi= ed >> with macOS Sierra Version 10.12.4 >>>> +This page provides step-by-step instructions for setting up a [EDK >> II](https://github.com/tianocore/tianocore.github.io/wiki/EDK-II) build >> environment on macOS systems using the Xcode development tools. These >> steps have been verified with macOS Big Sur 11.3.1 >>>>=20 >>>> -# Mac OS X Xcode >>>> -Download the latest version of >> [Xcode](https://developer.apple.com/xcode) (9.4.1 as of this writing) fr= om the >> Mac App Store. After installing Xcode, you will additionally need to in= stall >> the extra command-line tools. To do this, at a Terminal prompt, enter: >>>> +# macOS Xcode >>>> +Download the latest version of >> [Xcode](https://developer.apple.com/xcode) (12.5 as of 2021-05-09) from = the >> Mac App Store. After installing Xcode, you will additionally need to in= stall >> the extra command-line tools. To do this, at a Terminal prompt, enter: >>>> ``` >>>> $ xcode-select --install >>>> ``` >>>> ## Additional Development Tools >>>> -While Xcode provides a full development environment as well as a suit= e of >> different utilities, it does not provide all tools required for Tianocor= e >> development. These tools can be provided in a number of ways, but the t= wo >> most popular ways come from [Brew](https://brew.sh) and >> [MacPorts](https://www.macports.org/install.php). Installation informat= ion >> is provided at the previous links. >>>> - >>>> -### MacPorts Tips >>>> -* If you work behind a firewall and need to pass your network traffic >> through a proxy, ensure you set the environment variable RSYNC_PROXY to >> your http proxy in the form of `proxy.dns.name:port_number`. >>>> - * Remember that `sudo` by default drops most environment variables= . >> Add the `-E` option to tell `sudo` to keep your environment variables. >>>> -* When installing MacPorts packages, if you would like to build from >> source like traditional [FreeBSD >> Ports](https://en.wikipedia.org/wiki/FreeBSD_Ports) systems, add the `-s= ` >> option to the command line. Otherwise, default behavior is to pull >> precompiled packages. >>>> +While Xcode provides a full development environment as well as a suit= e >> of different utilities, it does not provide all tools required for Tiano= Core >> development. These tools can be provided in a number of ways, but the >> most popular way comes from [Brew](https://brew.sh). Installation >> information is provided at the previous link. >>>>=20 >>>> ## Install mtoc >>>> The mtoc utility is required to convert from the macOS Mach-O image >> format to the PE/COFF format as required by the UEFI specification. >>>>=20 >>>> ### Brew Instructions >>>> ``` >>>> -$ brew install mtoc >>>> -``` >>>> -## MacPorts Instructions >>>> -``` >>>> -$ sudo port install cctools >>>> +$ brew install mtoc >>>> ``` >>>> -By default, this will install `mtoc` at `/opt/local/bin/mtoc`. >>>> # Install NASM >>>>=20 >>>> -The assembler used for EDK II builds is Netwide Assembler (NASM). The >> latest version of NASM is available from http://www.nasm.us/. >>>> +The assembler used for EDK II builds is Netwide Assembler (NASM). The >> latest version of NASM is available from https://nasm.us/. >>>> ## Brew Instructions >>>> ``` >>>> $ brew install nasm >>>> $ brew upgrade nasm >>>> ``` >>>> -## MacPorts Instructions >>>> -``` >>>> -$ sudo port install nasm >>>> -``` >>>> -By default this installs `nasm` at `/opt/local/bin/nasm`. >>>>=20 >>>> # Install ACPI Compiler >>>>=20 >>>> @@ -47,26 +32,20 @@ In order to support EDK II firmware builds, the >> latest version of the ASL compil >>>> $ brew install acpica >>>> $ brew upgrade acpica >>>> ``` >>>> -## MacPorts Install >>>> -``` >>>> -$ sudo port install acpica >>>> -``` >>>> -By default this installs `iasl` at `/opt/local/bin/iasl` >>>> + >>>> +# Install XQuartz >>>> + >>>> +The EmulatorPkg requires headers from X11, which are provided by the >> XQuartz project. Install it from https://www.xquartz.org/. >>>>=20 >>>> # Install QEMU Emulator >>>>=20 >>>> -On order to support running the OVMF platforms from the OvmfPkg, the >> QEMU emulator from http://www.qemu.org/ must be installed. >>>> +On order to support running the OVMF platforms from the OvmfPkg, the >> QEMU emulator from https://www.qemu.org/ must be installed. >>>>=20 >>>> ## Brew Install >>>> ``` >>>> $ brew install qemu >>>> $ brew upgrade qemu >>>> ``` >>>> -## MacPorts Install >>>> -``` >>>> -$ sudo port install qemu >>>> -``` >>>> -By default qemu is installed in `/opt/local/bin`. >>>> ## Update PATH environment variable >>>>=20 >>>> Tools installed using the `brew` command are placed in `/usr/local/bin= `. >> The `PATH` environment variable must be updated so the newly installed t= ools >> are used instead of older pre-installed tools. >>>> @@ -75,11 +54,6 @@ Tools installed using the `brew` command are >> placed in `/usr/local/bin`. The `P >>>> export PATH=3D/usr/local/bin:$PATH >>>> ``` >>>>=20 >>>> -Tools installed using the `port` should automatically be in your shel= l's PATH. >> If not, you can manually set it by: >>>> -``` >>>> -export PATH=3D/opt/local/bin:$PATH >>>> -``` >>>> - >>>> # Verify tool versions >>>>=20 >>>> Run the following commands to verify the versions of the tools that ha= ve >> been installed. >>>> @@ -97,84 +71,94 @@ Pick the location you want to down load the files >> to and `cd` to that directory: >>>> ``` >>>> cd ~/work >>>> git clone https://github.com/tianocore/edk2.git >>>> +cd edk2 >>>> +git submodule update --init >>>> ``` >>>>=20 >>>> -# Build from Command Line/Debug with gdb >>>> +# Build from Command Line/Debug with lldb >>>>=20 >>>> -Build the UnixPkg: >>>> +Build the EmulatorPkg: >>>>=20 >>>> ``` >>>> -cd ~/work/edk2/UnixPkg >>>> +cd ~/work/edk2/EmulatorPkg >>>> ./build.sh >>>> ``` >>>>=20 >>>> -Debug the UnixPkg >>>> +Debug the EmulatorPkg >>>>=20 >>>> ``` >>>> ./build.sh run >>>>=20 >>>> -Building from: /Users/fish/work/edk2 >>>> +Initializing workspace >>>> +/Users/bcran/src/edk2/BaseTools >>>> +Loading previous configuration from >> /Users/bcran/src/edk2/Conf/BuildEnv.sh >>>> +Using EDK2 in-source Basetools >>>> +WORKSPACE: /Users/bcran/src/edk2 >>>> +EDK_TOOLS_PATH: /Users/bcran/src/edk2/BaseTools >>>> +CONF_PATH: /Users/bcran/src/edk2/Conf >>>> using prebuilt tools >>>> -Reading symbols for shared libraries ...... done >>>> -Breakpoint 1 at 0xce84: file >> /Users/fish/work/edk2/UnixPkg/Sec/SecMain.c, line 1070. >>>> -(gdb) >>>> -``` >>>> - >>>> -Type `r` at the gdb prompt (don't forget to hit carriage return) to b= oot the >> emulator. Ctrl-c in the terminal window will break in to gdb. bt is the = stack >> backtrace command: >>>> - >>>> -``` >>>> -^C >>>> -Program received signal SIGINT, Interrupt. >>>> -0x92423806 in __semwait_signal () >>>> -(gdb) bt >>>> -#0 0x92423806 in __semwait_signal () >>>> -#1 0x9244f441 in nanosleep$UNIX2003 () >>>> -#2 0x0000b989 in msSleep (Milliseconds=3D0x14) at >> /Users/fish/work/Migration/edk2/UnixPkg/Sec/UnixThunk.c:102 >>>> -#3 0x0000acf5 in UgaCheckKey (UgaIo=3D0x2078d0) at >> /Users/fish/work/Migration/edk2/UnixPkg/Sec/UgaX11.c:380 >>>> -#4 0x0000d8b7 in _GasketUintn () at >> /Users/fish/work/Migration/edk2/Build/Unix/DEBUG_XCODE32/IA32/UnixPk >> g/Sec/SecMain/OUTPUT/Ia32/Gasket.iii:63 >>>> -#5 0x0000d801 in GasketUgaCheckKey (UgaIo=3D0x2078d0) at >> /Users/fish/work/Migration/edk2/UnixPkg/Sec/Gasket.c:406 >>>> -#6 0x454a25fb in UnixUgaSimpleTextInWaitForKey (Event=3D0x45603610, >> Context=3D0x45382110) at >> /Users/fish/work/Migration/edk2/UnixPkg/UnixUgaDxe/UnixUgaInput.c:169 >>>> -#7 0x45faad3a in CoreDispatchEventNotifies (Priority=3D0x10) at >> /Users/fish/work/Migration/edk2/MdeModulePkg/Core/Dxe/Event/Event.c:1 >> 85 >>>> -#8 0x45faa639 in CoreRestoreTpl (NewTpl=3D0x4) at >> /Users/fish/work/Migration/edk2/MdeModulePkg/Core/Dxe/Event/Tpl.c:114 >>>> -#9 0x45f9f197 in CoreReleaseLock (Lock=3D0x45fb1024) at >> /Users/fish/work/Migration/edk2/MdeModulePkg/Core/Dxe/Library/Library. >> c:102 >>>> -#10 0x45faabd6 in CoreReleaseEventLock () at >> /Users/fish/work/Migration/edk2/MdeModulePkg/Core/Dxe/Event/Event.c:1 >> 13 >>>> -#11 0x45fab26c in CoreCheckEvent (UserEvent=3D0x45603210) at >> /Users/fish/work/Migration/edk2/MdeModulePkg/Core/Dxe/Event/Event.c:5 >> 62 >>>> -#12 0x45fab2db in CoreWaitForEvent (NumberOfEvents=3D0x1, >> UserEvents=3D0x45f94cc4, UserIndex=3D0x45f94cb8) at >> /Users/fish/work/Migration/edk2/MdeModulePkg/Core/Dxe/Event/Event.c:6 >> 21 >>>> -#13 0x49ce9557 in ?? () >>>> -#14 0x49cf0344 in ?? () >>>> -#15 0x49ce3bc2 in ?? () >>>> -#16 0x49ce3ae1 in ?? () >>>> -#17 0x45f9e4e3 in CoreStartImage (ImageHandle=3D0x49e31e10, >> ExitDataSize=3D0x45f94eec, ExitData=3D0x45f94ee8) at >> /Users/fish/work/Migration/edk2/MdeModulePkg/Core/Dxe/Image/Image.c: >> 1260 >>>> -#18 0x4550cccc in BdsLibBootViaBootOption (Option=3D0x49ffa110, >> DevicePath=3D0x49ffa190, ExitDataSize=3D0x45f94eec, ExitData=3D0x45f94ee= 8) at >> /Users/fish/work/Migration/edk2/IntelFrameworkModulePkg/Library/Generi >> cBdsLib/BdsBoot.c:382 >>>> -#19 0x455252a9 in BdsBootDeviceSelect () at >> /Users/fish/work/Migration/edk2/IntelFrameworkModulePkg/Universal/Bds >> Dxe/BdsEntry.c:214 >>>> -#20 0x455255bc in BdsEntry (This=3D0x4552d01c) at >> /Users/fish/work/Migration/edk2/IntelFrameworkModulePkg/Universal/Bds >> Dxe/BdsEntry.c:356 >>>> -#21 0x45fad7e8 in DxeMain (HobStart=3D0x45f70010) at >> /Users/fish/work/Migration/edk2/MdeModulePkg/Core/Dxe/DxeMain/DxeM >> ain.c:425 >>>> -#22 0x45fadd1d in ProcessModuleEntryPointList (HobStart=3D0x42020000) >> at >> /Users/fish/work/Migration/edk2/Build/Unix/DEBUG_XCODE32/IA32/MdeM >> odulePkg/Core/Dxe/DxeMain/DEBUG/AutoGen.c:287 >>>> -#23 0x45f97773 in _ModuleEntryPoint (HobStart=3D0x42020000) at >> /Users/fish/work/Migration/edk2/MdePkg/Library/DxeCoreEntryPoint/DxeCo >> reEntryPoint.c:54 >>>> -(gdb) >>>> +(lldb) target create "./Host" >>>> +Current executable set to >> '/Users/bcran/src/edk2/Build/EmulatorX64/DEBUG_XCODE5/X64/Host' >> (x86_64). >>>> +(lldb) command script import >> /Users/bcran/src/edk2/EmulatorPkg/Unix/lldbefi.py >>>> +Type r to run emulator. SecLldbScriptBreak armed. EFI modules should >> now get source level debugging in the emulator. >>>> +(lldb) script lldb.debugger.SetAsync(True) >>>> +(lldb) run >>>> +Process 12155 launched: >> '/Users/bcran/src/edk2/Build/EmulatorX64/DEBUG_XCODE5/X64/Host' >> (x86_64) >>>> + >>>> +EDK II UNIX Host Emulation Environment from >> http://www.tianocore.org/edk2/ >>>> + BootMode 0x00 >>>> + OS Emulator passing in 128 KB of temp RAM at 0x102000000 to SEC >>>> + FD loaded from ../FV/FV_RECOVERY.fd at 0x102020000 contains SEC >> Core >>>> +... >>>> +``` >>>> + >>>> +Type `process interrupt` at the lldb prompt (don't forget to hit carr= iage >> return) to pause execution. Ctrl-c in the terminal window will quit lldb= . `bt` is >> the stack backtrace command: >>>> + >>>> +``` >>>> +Process 12420 stopped >>>> +* thread #1, queue =3D 'com.apple.main-thread', stop reason =3D signa= l >> SIGSTOP >>>> + frame #0: 0x00007fff2033cc22 >> libsystem_kernel.dylib:__semwait_signal() + 10 >>>> +libsystem_kernel.dylib`__semwait_signal: >>>> +-> 0x7fff2033cc22 <+10>: jae 0x7fff2033cc2c ; >> <+20> >>>> + 0x7fff2033cc24 <+12>: movq %rax, %rdi >>>> + 0x7fff2033cc27 <+15>: jmp 0x7fff2033b72d ; >> cerror >>>> + 0x7fff2033cc2c <+20>: retq >>>> +Target 0: (Host) stopped. >>>> +(lldb) bt >>>> +* thread #1, queue =3D 'com.apple.main-thread', stop reason =3D signa= l >> SIGSTOP >>>> + * frame #0: 0x00007fff2033cc22 >> libsystem_kernel.dylib:__semwait_signal() + 10 >>>> + frame #1: 0x00007fff202bcc2a libsystem_c.dylib:nanosleep() + 196 >>>> + frame #2: 0x0000000100005e55 Host:SecCpuSleep() + 37 at >> /Users/bcran/src/edk2/EmulatorPkg/Unix/Host/EmuThunk.c:334 >>>> + frame #3: 0x000000010000e96e Host:GasketSecCpuSleep() + 11 at >> /Users/bcran/src/edk2/Build/EmulatorX64/DEBUG_XCODE5/X64/EmulatorPk >> g/Unix/Host/Host/OUTPUT/X64/Gasket.iiii:283 >>>> + frame #4: 0x0000000106f985e9 >> DxeCore.dll:CoreDispatchEventNotifies() + 264 at >> /Users/bcran/src/edk2/MdeModulePkg/Core/Dxe/Event/Event.c:194 >>>> + frame #5: 0x0000000106f97fce DxeCore.dll:CoreRestoreTpl() + 227 >> at /Users/bcran/src/edk2/MdeModulePkg/Core/Dxe/Event/Tpl.c:131 >>>> + frame #6: 0x0000000106f989db DxeCore.dll:CoreSignalEvent() + 111 >> at /Users/bcran/src/edk2/MdeModulePkg/Core/Dxe/Event/Event.c:566 >>>> + frame #7: 0x0000000106f98b01 DxeCore.dll:CoreWaitForEvent() + >> 94 at /Users/bcran/src/edk2/MdeModulePkg/Core/Dxe/Event/Event.c:707 >>>> + frame #8: 0x0000000113e8e54c BdsDxe.dll:BdsWaitForSingleEvent() >> + 127 at >> /Users/bcran/src/edk2/MdeModulePkg/Universal/BdsDxe/BdsEntry.c:250 >>>> + frame #9: 0x0000000113e8e70b BdsDxe.dll:BdsWait() + 215 at >> /Users/bcran/src/edk2/MdeModulePkg/Universal/BdsDxe/BdsEntry.c:328 >>>> + frame #10: 0x0000000113e8dffb BdsDxe.dll:BdsEntry() + 2612 at >> /Users/bcran/src/edk2/MdeModulePkg/Universal/BdsDxe/BdsEntry.c:1012 >>>> + frame #11: 0x0000000106f9bbd6 DxeCore.dll:DxeMain() + 2791 at >> /Users/bcran/src/edk2/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c:551 >>>> + frame #12: 0x0000000106f9ed8f DxeCore.dll:_ModuleEntryPoint() + >> 20 at >> /Users/bcran/src/edk2/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoi >> nt.c:48 >>>> + frame #13: 0x0000000106fdd02f DxeIpl.dll:InternalSwitchStack() + >> 15 >>>> + frame #14: 0x0000000106fdc0b6 DxeIpl.dll:HandOffToDxeCore() + >> 546 at >> /Users/bcran/src/edk2/MdeModulePkg/Core/DxeIplPeim/X64/DxeLoadFunc. >> c:126 >>>> + frame #15: 0x0000000106fda78a DxeIpl.dll:DxeLoadCore() + 1354 at >> /Users/bcran/src/edk2/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c:449 >>>> + frame #16: 0x0000000106ff1d7c >>>> + frame #17: 0x00000001020255c6 PeiCore.dll:PeiCore() + 1982 at >> /Users/bcran/src/edk2/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c:331 >>>> + frame #18: 0x000000010202a82c >> PeiCore.dll:PeiCheckAndSwitchStack() + 1171 at >> /Users/bcran/src/edk2/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c:84 >> 2 >>>> + frame #19: 0x000000010202b853 PeiCore.dll:PeiDispatcher() + 1206 >> at >> /Users/bcran/src/edk2/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c:16 >> 09 >>>> +(lldb) >>>> + >>>> ``` >>>>=20 >>>> # Build and Debug from Xcode >>>> -To build from the Xcode GUI open >> ~/work/edk2/UnixPkg/Xcode/xcode_project/xcode_project.xcodeproj. You >> can build, clean, and source level debug from the Xcode GUI. You can h= it >> the Build and Debug button to start the build process. You need to need = to hit >> command-shift-B to show the output of the build. Click Pause to break in= to >> the debugger. >>>> - >>>> -[[File:Xcode.jpg]] >>>> +To build from the Xcode GUI open >> ~/work/edk2/EmulatorPkg/Unix/Xcode/xcode_project64/xcode_project.xcod >> eproj. You can build, clean, and source level debug from the Xcode GUI. = You >> can hit the Build and Debug button to start the build process. You need = to >> need to hit command-shift-B to show the output of the build. Click Pause= to >> break into the debugger. >>>>=20 >>>> The stack trace contains items that show as ?? since the default shell= is >> checked in as a binary. `nanosleep$UNIX2003` and `__semwait_signal` are >> POSIX library calls and you do not get C source debug with these symbols= . >>>>=20 >>>> -# Source Level Debug Shell >>>> - >>>> -It is possible to get source level debug for the EFI Shell by pulling= these >> projects from source control and building them. >>>> - >>>> -Instructions for building and hooking in the shell are located in the >> [https://sourceforge.net/apps/mediawiki/tianocore/index.php?title=3DGcc-= shel >> l gcc-shell] project. >>>> - >>>> -Please note the gcc-shell and UnixPkg build separately, so if you upd= ate >> shell code you need to build the shell to see the changes. The following= screen >> shot shows being able to source level debug the shell: >>>> - >>>> -[[File:Xcode_good.jpg]] >>>> +*Note* The Xcode project is currently (as of 2021-05-09) broken. >>>>=20 >>>> # See Also >>>>=20 >>>> -* [[Step-by-step instructions]] >>>> - >>>> # Continue with common instructions >>>>=20 >>>> -The [remaining instructions](../Common-instructions) are common for >> most UNIX-like systems. >>>> +The [remaining >> instructions](https://github.com/tianocore/tianocore.github.io/wiki/Comm= on >> -instructions-for-Unix) are common for most UNIX-like systems. >>>> -- >>>> 2.30.1 (Apple Git-130) >>>>=20 >>>>=20 >>>>=20 >>>>=20 >>>>=20 >>>>=20 >>>>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >=20 >=20 >=20