config/kernel.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 2017 f637b6c2162b
child 3112 6cb56b3f2d34
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 # Kernel options
     2 
     3 menu "Operating System"
     4 
     5 # Config option used throughout the config and code to determine wether
     6 # we have a kernel or not (there might be different bare metal stuff)...
     7 config BARE_METAL
     8     bool
     9 
    10 config MINGW32
    11     bool
    12 
    13 # Each target OS (aka kernel) that support shared libraries can select
    14 # this, so the user can decide whether or not to build a shared library
    15 # enabled toolchain
    16 config KERNEL_SUPPORTS_SHARED_LIBS
    17     bool
    18 
    19 config KERNEL
    20     string
    21 
    22 config KERNEL_VERSION
    23     string
    24 
    25 source "config.gen/kernel.in"
    26 
    27 comment "Common kernel options"
    28 
    29 config SHARED_LIBS
    30     bool
    31     prompt "Build shared libraries"
    32     depends on KERNEL_SUPPORTS_SHARED_LIBS
    33     default y
    34     help
    35       Say 'y' here, unless you don't want shared libraries.
    36       
    37       You might not want shared libraries if you're building for a target that
    38       don't support it (maybe some nommu targets, for example, or bare metal).
    39 
    40 source "config.gen/kernel.in.2"
    41 
    42 endmenu