config/arch/alpha.in.2
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 1716 6bbf206a5b57
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@557
     1
# Alpha specific configuration file
yann@557
     2
yann@557
     3
choice
yann@557
     4
    bool
yann@557
     5
    prompt "Variant"
yann@557
     6
yann@557
     7
config ARCH_ALPHA_EV4
yann@557
     8
    bool
yann@557
     9
    prompt "EV4"
yann@557
    10
yann@557
    11
config ARCH_ALPHA_EV45
yann@557
    12
    bool
yann@557
    13
    prompt "EV45"
yann@557
    14
yann@557
    15
config ARCH_ALPHA_EV5
yann@557
    16
    bool
yann@557
    17
    prompt "EV5"
yann@557
    18
yann@557
    19
config ARCH_ALPHA_EV56
yann@557
    20
    bool
yann@557
    21
    prompt "EV56"
yann@557
    22
yann@557
    23
config ARCH_ALPHA_EV6
yann@557
    24
    bool
yann@557
    25
    prompt "EV6"
yann@557
    26
yann@557
    27
config ARCH_ALPHA_EV67
yann@557
    28
    bool
yann@557
    29
    prompt "EV67"
yann@557
    30
yann@557
    31
endchoice
yann@557
    32
yann@557
    33
config ARCH_ALPHA_VARIANT
yann@557
    34
    string
yann@557
    35
    default "ev4"   if ARCH_ALPHA_EV4
yann@557
    36
    default "ev45"  if ARCH_ALPHA_EV45
yann@557
    37
    default "ev5"   if ARCH_ALPHA_EV5
yann@557
    38
    default "ev56"  if ARCH_ALPHA_EV56
yann@557
    39
    default "ev6"   if ARCH_ALPHA_EV6
yann@557
    40
    default "ev67"  if ARCH_ALPHA_EV67
yann@557
    41
yann@557
    42
config ARCH_CPU
yann@557
    43
    default "ev4"   if ARCH_ALPHA_EV4
yann@557
    44
    default "ev45"  if ARCH_ALPHA_EV45
yann@557
    45
    default "ev5"   if ARCH_ALPHA_EV5
yann@557
    46
    default "ev56"  if ARCH_ALPHA_EV56
yann@557
    47
    default "ev6"   if ARCH_ALPHA_EV6
yann@557
    48
    default "ev67"  if ARCH_ALPHA_EV67
yann@557
    49
yann@557
    50
config ARCH_TUNE
yann@557
    51
    default "ev4"   if ARCH_ALPHA_EV4
yann@557
    52
    default "ev45"  if ARCH_ALPHA_EV45
yann@557
    53
    default "ev5"   if ARCH_ALPHA_EV5
yann@557
    54
    default "ev56"  if ARCH_ALPHA_EV56
yann@557
    55
    default "ev6"   if ARCH_ALPHA_EV6
yann@557
    56
    default "ev67"  if ARCH_ALPHA_EV67