TODO
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Dec 13 23:32:39 2011 +0100 (2011-12-13)
changeset 2807 4193d6e6a174
parent 1731 648fcf1f4568
child 3306 80e46e644bc0
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>
     1 This is a somewhat ordered TODO list:
     2 
     3 Recurring tasks:
     4 
     5 - update versions for every tools...
     6 
     7 - update and/or upgrade all samples
     8 
     9 
    10 Non-recurring tasks:
    11 
    12 - update newlib (for enhanced bare metal)
    13   - confirm existing implementation on targets other than AVR32
    14   - try to make it generic, will help for uClibc++
    15 
    16 - multilib
    17 
    18 - Cygwin target (needs newlib)
    19   - so we can build toolchains that generate code for Windows/Cygwin
    20 
    21 - Cygwin host
    22   - so we can build toolchains that run natively under Windows/Cygwin
    23 
    24 - mingw32 target
    25   - so we can build toolchains that generate code for Windows/Win32
    26 
    27 - mingw32 host
    28   - so we can build toolchains that run natively under Windows/Win32
    29     (without requiring Cygwin)
    30 
    31 - uClibc++
    32   - see newlib, above
    33 
    34 - uClinux
    35   - check whether we can use newlib under uClinux (?)