patches/gdb/6.8a/120-tdep-opcode-include-workaround.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Dec 13 23:32:39 2011 +0100 (2011-12-13)
branch1.13
changeset 2847 c0bf2319af08
parent 747 d3e603e7c17c
permissions -rw-r--r--
scripts: fix dumping execution backtrace

Dumping the backtrace has been broken since changeset #652e56d6d35a:
scripts: execute each steps in a subshell

We can spawn sub-sub-shells in some cases.

The way the fault handler works is to dump the backtrace, but to avoid
printing it once for every sub-shell (which could get quite confusing),
it simply exits when it detects that it is being run in a sub-shell,
leaving to the top-level shell the work to dump the backtrace.

Because each step is executed in its own sub-shell, the variable arrays
that contain the step name, the source file and line number, are lost
when exiting the per-step sub-shell.

Hence, the backtrace is currently limited to printing only the top-level
main procedure of the shell.

Fix this thus:
- when dumping the bckatraces for the steps & the functions, remember
it was dumped, and only dump it if it was not already dumped
- at the top-level shell, print the hints

Also, rename the top-level step label.

Reported-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from 4193d6e6a17430a177fa88c287879c2c35e319f3)
yann@570
     1
Original patch from gentoo: gentoo/src/patchsets/gdb/6.8/20_all_gdb-tdep-opcode-include-workaround.patch
yann@570
     2
-= BEGIN original header =-
yann@570
     3
workaround build failure
yann@570
     4
yann@570
     5
http://bugs.gentoo.org/216368
yann@570
     6
yann@570
     7
-= END original header =-
yann@570
     8
diff -durN gdb-6.8.orig/gdb/frv-tdep.c gdb-6.8/gdb/frv-tdep.c
yann@570
     9
--- gdb-6.8.orig/gdb/frv-tdep.c	2008-01-11 14:19:59.000000000 +0100
yann@570
    10
+++ gdb-6.8/gdb/frv-tdep.c	2008-06-17 16:07:34.000000000 +0200
yann@570
    11
@@ -32,7 +32,7 @@
yann@570
    12
 #include "gdb_assert.h"
yann@570
    13
 #include "sim-regno.h"
yann@570
    14
 #include "gdb/sim-frv.h"
yann@570
    15
-#include "opcodes/frv-desc.h"	/* for the H_SPR_... enums */
yann@570
    16
+#include "../opcodes/frv-desc.h"	/* for the H_SPR_... enums */
yann@570
    17
 #include "symtab.h"
yann@570
    18
 #include "elf-bfd.h"
yann@570
    19
 #include "elf/frv.h"
yann@570
    20
diff -durN gdb-6.8.orig/gdb/mep-tdep.c gdb-6.8/gdb/mep-tdep.c
yann@570
    21
--- gdb-6.8.orig/gdb/mep-tdep.c	2008-01-11 14:20:02.000000000 +0100
yann@570
    22
+++ gdb-6.8/gdb/mep-tdep.c	2008-06-17 16:07:34.000000000 +0200
yann@570
    23
@@ -53,8 +53,8 @@
yann@570
    24
 
yann@570
    25
 /* Get the user's customized MeP coprocessor register names from
yann@570
    26
    libopcodes.  */
yann@570
    27
-#include "opcodes/mep-desc.h"
yann@570
    28
-#include "opcodes/mep-opc.h"
yann@570
    29
+#include "../opcodes/mep-desc.h"
yann@570
    30
+#include "../opcodes/mep-opc.h"
yann@570
    31
 
yann@570
    32
 
yann@570
    33
 /* The gdbarch_tdep structure.  */