]> git.proxmox.com Git - mirror_edk2.git/commitdiff
InOsEmuPkg/Unix: Auto-run emulator in gdb
authorjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 23 Jun 2011 15:22:49 +0000 (15:22 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 23 Jun 2011 15:22:49 +0000 (15:22 +0000)
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 [new file with mode: 0644]
InOsEmuPkg/Unix/build.sh
InOsEmuPkg/Unix/build64.sh

diff --git a/InOsEmuPkg/Unix/GdbRun b/InOsEmuPkg/Unix/GdbRun
new file mode 100644 (file)
index 0000000..cf4ca7f
--- /dev/null
@@ -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
+
index 24440de48e82faabd84a22055a3f282358c1d6fb..fc214788d468ae91bd1b1b7608a41ea640f5cfc5 100755 (executable)
@@ -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
 
index fe22bdf4adaf744887a89639b8e7786f737ac014..1974e090cd1ad7759f907de85de20d514d2c18b3 100755 (executable)
@@ -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