samples/powerpc-e500v2-linux-gnuspe/reported.by
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 2290 ba82eb173bd4
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)
     1 reporter_name="Anthony Foiani <anthony.foiani@gmail.com>"
     2 reporter_url="http://sourceware.org/ml/crossgcc/2010-09/msg00100.html"
     3 reporter_comment="This is a sample config file for Freescale e500v2 processors (e.g., MPC8548,
     4 MPC8572). It uses eglibc (for e500/SPE patches) and a recent gcc (4.6.0,
     5 for e500v2 DPFP support) and will generate appropriate dual-precision
     6 floating point instructions by default.
     7 
     8 Note: If building a Linux kernel with this toolchain, you will want to make
     9 sure -mno-spe AND -mspe=no are passed to gcc to prevent SPE ABI/instructions
    10 from getting into the kernel (which is currently unsupported). At this time,
    11 the kernel build system properly passes those two options, but older kernels
    12 were only passing -mno-spe by default."