From fe7e504faa6b0345981acfb06b33f59211cfd5af Mon Sep 17 00:00:00 2001 From: jljusten Date: Thu, 23 Jun 2011 15:22:49 +0000 Subject: [PATCH] InOsEmuPkg/Unix: Auto-run emulator in gdb Signed-off-by: jljusten git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11877 6f19259b-4bc3-4df7-8a09-765794883524 --- InOsEmuPkg/Unix/GdbRun | 37 +++++++++++++++++++++++++++++++++++++ InOsEmuPkg/Unix/build.sh | 2 +- InOsEmuPkg/Unix/build64.sh | 2 +- 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 InOsEmuPkg/Unix/GdbRun diff --git a/InOsEmuPkg/Unix/GdbRun b/InOsEmuPkg/Unix/GdbRun new file mode 100644 index 0000000000..cf4ca7fe5a --- /dev/null +++ b/InOsEmuPkg/Unix/GdbRun @@ -0,0 +1,37 @@ +## @file +# GDB startup script +# +# Copyright (c) 2011, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + +# +# Gdb will set $_exitcode when the program exits. Pre-init it to an unlikely +# return value. +# +set $_exitcode = 42 + +# +# Gdb will call hook-stop on each break. Check to see if $_exitcode was +# changed from the value we pre-initialized it to. If so, the program +# had exited, so gdb should now quit. +# +define hook-stop + if $_exitcode != 42 + quit + end +end + +# +# Start the program running +# +run + diff --git a/InOsEmuPkg/Unix/build.sh b/InOsEmuPkg/Unix/build.sh index 24440de48e..fc214788d4 100755 --- a/InOsEmuPkg/Unix/build.sh +++ b/InOsEmuPkg/Unix/build.sh @@ -95,7 +95,7 @@ do ;; esac - /usr/bin/gdb $BUILD_ROOT_ARCH/SecMain -q -cd=$BUILD_ROOT_ARCH + /usr/bin/gdb $BUILD_ROOT_ARCH/SecMain -q -cd=$BUILD_ROOT_ARCH -x $WORKSPACE/InOsEmuPkg/Unix/GdbRun exit fi diff --git a/InOsEmuPkg/Unix/build64.sh b/InOsEmuPkg/Unix/build64.sh index fe22bdf4ad..1974e090cd 100755 --- a/InOsEmuPkg/Unix/build64.sh +++ b/InOsEmuPkg/Unix/build64.sh @@ -98,7 +98,7 @@ do ;; esac - /usr/bin/gdb $BUILD_ROOT_ARCH/SecMain -q -cd=$BUILD_ROOT_ARCH + /usr/bin/gdb $BUILD_ROOT_ARCH/SecMain -q -cd=$BUILD_ROOT_ARCH -x $WORKSPACE/InOsEmuPkg/Unix/GdbRun exit fi -- 2.39.2