aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2014-01-06 16:01:08 +0100
committerThomas Schwinge <thomas@codesourcery.com>2014-02-16 08:26:53 +0100
commitd47642c93dda6344af12458e4e26587f3353fb44 (patch)
tree1dc07a6875f890e64f6bd5780511dcea61b528d8
parentbae8023e39868ab2065ff05be61e151b3c082492 (diff)
downloadfsf-binutils-gdb-d47642c93dda6344af12458e4e26587f3353fb44.zip
fsf-binutils-gdb-d47642c93dda6344af12458e4e26587f3353fb44.tar.gz
fsf-binutils-gdb-d47642c93dda6344af12458e4e26587f3353fb44.tar.bz2
Hurd: Make MIG output parsing more robust.
gdb/ * reply_mig_hack.awk: In phase 5, keep going if we have not yet collected the type check structures. Based on a patch by David Michael <fedora.dm0@gmail.com>.
-rw-r--r--gdb/ChangeLog3
-rw-r--r--gdb/reply_mig_hack.awk6
2 files changed, 9 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 322e4aa..7424b1a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,8 @@
2014-02-16 Thomas Schwinge <thomas@codesourcery.com>
+ * reply_mig_hack.awk: In phase 5, keep going if we have not yet
+ collected the type check structures.
+
* reply_mig_hack.awk: Don't expect to see the auto keyword.
2014-02-14 Doug Evans <dje@google.com>
diff --git a/gdb/reply_mig_hack.awk b/gdb/reply_mig_hack.awk
index 6d27685..15bfdfb 100644
--- a/gdb/reply_mig_hack.awk
+++ b/gdb/reply_mig_hack.awk
@@ -92,6 +92,12 @@ parse_phase == 5 && /^[ \t]*mig_external kern_return_t/ {
}
parse_phase == 5 && /^#if[ \t]TypeCheck/ {
+ # Keep going if we have not yet collected the type check structures.
+ if (num_checks == 0)
+ {
+ print; next;
+ }
+
# The first args type checking statement; we need to insert our chunk of
# code that bypasses all the type checks if this is an error return, after
# which we're done until we get to the next function. Handily, the size