diff options
author | jljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-06-23 15:22:49 +0000 |
---|---|---|
committer | jljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-06-23 15:22:49 +0000 |
commit | fe7e504faa6b0345981acfb06b33f59211cfd5af (patch) | |
tree | f79cd80bc238e6c208367b3b695985c91ddbddcf /InOsEmuPkg/Unix | |
parent | b68b78e66cc7acdce3fdd571a6db71a9731117b1 (diff) | |
download | edk2-platforms-fe7e504faa6b0345981acfb06b33f59211cfd5af.tar.xz |
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
Diffstat (limited to 'InOsEmuPkg/Unix')
-rw-r--r-- | InOsEmuPkg/Unix/GdbRun | 37 | ||||
-rwxr-xr-x | InOsEmuPkg/Unix/build.sh | 2 | ||||
-rwxr-xr-x | InOsEmuPkg/Unix/build64.sh | 2 |
3 files changed, 39 insertions, 2 deletions
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.<BR> +# +# 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 |