config/binutils/sstrip.in
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 1856 e23ffb5c7928
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 # Configuration file for sstrip tool facility
     2 
     3 if OBSOLETE && ! BACKEND && ARCH_BINFMT_ELF
     4 
     5 comment "sstrip"
     6 
     7 config SSTRIP
     8     bool
     9     prompt "sstrip (OBSOLETE)"
    10     help
    11       The sstrip utility, to maximise the striping of ELF binaries
    12       (executables and libraries).
    13       
    14       Buildroot version, forked off the original from ELFkickers.
    15       This one is somewhat maintained by the buildroot guys.
    16       Supports big-endian systems.
    17       
    18       NOTE! Please read.
    19         sstrip is now deprecated in crosstool-NG, as it has a few
    20         shortcomings. For example: it breaks for PPC targets, it
    21         does not build on non-ELF hosts (eg. mingw32, MacOS-X...).
    22 
    23 endif