config/libc/glibc.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 2444 896cb0d36c1a
child 2752 c4452a1a18fb
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@448
     1
# glibc options
yann@448
     2
yann@2444
     3
## depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU
yann@2444
     4
##
yann@2444
     5
## select LIBC_SUPPORT_NPTL
yann@2444
     6
##
yann@2444
     7
## help The de-facto standard for Linux distributions.
yann@2444
     8
## help Feature-rich, but large...  Most usefull for desktop-like systems.
yann@852
     9
yann@448
    10
choice
yann@448
    11
    bool
yann@1760
    12
    prompt "Retrieval method"
yann@1760
    13
    default LIBC_GLIBC_TARBALL
yann@1760
    14
yann@1760
    15
config LIBC_GLIBC_TARBALL
yann@1760
    16
    bool
yann@1760
    17
    prompt "Released tarball"
yann@1760
    18
    help
yann@1760
    19
      Until end of Februrary 2009, there was no tarball for glibc releases
yann@1760
    20
      2.8 and later. This was intentional.
yann@1760
    21
      
yann@1760
    22
      Then, all of a sudden, tarballs for those releases have appeared at the
yann@1760
    23
      traditional download place (ftp.gnu.org).
yann@1760
    24
      
yann@1760
    25
      Some of the glibc people argue that fixes are committed to the maintenance
yann@1760
    26
      branch, and thus it is the best plac e to retrieve the glibc from.
yann@1760
    27
      On the other hand, it might be preferable to always generate a toolchain
yann@1760
    28
      using a known code-base, so the toolchain can be reproducible.
yann@1760
    29
      
yann@1760
    30
      For version prior to 2.8, tarballs were readily available.
yann@1760
    31
      
yann@1760
    32
      If you want your toolchain to really be reproducible, say 'Y' here.
yann@1760
    33
      If you can live with a moving code-base, look at the other choice
yann@1760
    34
      entries, below.
yann@1760
    35
yann@1760
    36
endchoice
yann@1760
    37
yann@1760
    38
choice
yann@1760
    39
    bool
yann@448
    40
    prompt "glibc version"
yann@1535
    41
# Don't remove next line
yann@1535
    42
# CT_INSERT_VERSION_BELOW
yann@448
    43
yann@2536
    44
config LIBC_GLIBC_V_2_14
yann@2536
    45
    bool
yann@2536
    46
    prompt "2.14 (EXPERIMENTAL)"
yann@2536
    47
    depends on EXPERIMENTAL
yann@2536
    48
yann@2438
    49
config LIBC_GLIBC_V_2_13
yann@2438
    50
    bool
yann@2438
    51
    prompt "2.13 (EXPERIMENTAL)"
yann@2438
    52
    depends on EXPERIMENTAL
yann@2438
    53
heiko@2235
    54
config LIBC_GLIBC_V_2_12_2
heiko@2235
    55
    bool
heiko@2235
    56
    prompt "2.12.2 (EXPERIMENTAL)"
heiko@2235
    57
    depends on EXPERIMENTAL
heiko@2235
    58
heiko@2235
    59
config LIBC_GLIBC_V_2_12_1
heiko@2235
    60
    bool
heiko@2235
    61
    prompt "2.12.1 (EXPERIMENTAL)"
heiko@2235
    62
    depends on EXPERIMENTAL
heiko@2235
    63
yann@1758
    64
config LIBC_GLIBC_V_2_11_1
yann@1758
    65
    bool
yann@1758
    66
    prompt "2.11.1 (EXPERIMENTAL)"
yann@1758
    67
    depends on EXPERIMENTAL
yann@1758
    68
yann@1758
    69
config LIBC_GLIBC_V_2_11
yann@1758
    70
    bool
yann@1758
    71
    prompt "2.11 (EXPERIMENTAL)"
yann@1758
    72
    depends on EXPERIMENTAL
yann@1758
    73
bryanhundven@2237
    74
config LIBC_GLIBC_V_2_10_1
yann@1625
    75
    bool
yann@1625
    76
    prompt "2.10.1 (EXPERIMENTAL)"
yann@1625
    77
    depends on EXPERIMENTAL
yann@1625
    78
    select LIBC_GLIBC_USE_PORTS
yann@1625
    79
bryanhundven@2237
    80
config LIBC_GLIBC_V_2_9
yann@448
    81
    bool
yann@1534
    82
    prompt "2.9"
yann@448
    83
bryanhundven@2237
    84
config LIBC_GLIBC_V_2_8
yann@1114
    85
    bool
yann@1260
    86
    prompt "2.8"
yann@1114
    87
bryanhundven@2237
    88
config LIBC_GLIBC_V_2_7
yann@1114
    89
    bool
yann@1615
    90
    prompt "2.7 (OBSOLETE)"
yann@1615
    91
    depends on OBSOLETE
yann@1534
    92
bryanhundven@2237
    93
config LIBC_GLIBC_V_2_6_1
yann@1534
    94
    bool
yann@1615
    95
    prompt "2.6.1 (OBSOLETE)"
yann@1615
    96
    depends on OBSOLETE
yann@1534
    97
bryanhundven@2237
    98
config LIBC_GLIBC_V_2_6
yann@1534
    99
    bool
yann@1615
   100
    prompt "2.6 (OBSOLETE)"
yann@1615
   101
    depends on OBSOLETE
yann@1534
   102
bryanhundven@2237
   103
config LIBC_GLIBC_V_2_5_1
yann@1534
   104
    bool
yann@1615
   105
    prompt "2.5.1 (OBSOLETE)"
yann@1615
   106
    depends on OBSOLETE
yann@2315
   107
    select LIBC_SUPPORT_LINUXTHREADS
yann@1534
   108
bryanhundven@2237
   109
config LIBC_GLIBC_V_2_5
yann@1534
   110
    bool
yann@1615
   111
    prompt "2.5 (OBSOLETE)"
yann@1615
   112
    depends on OBSOLETE
yann@2315
   113
    select LIBC_SUPPORT_LINUXTHREADS
yann@1534
   114
yann@448
   115
endchoice
yann@448
   116
yann@448
   117
config LIBC_VERSION
yann@448
   118
    string
yann@1535
   119
# Don't remove next line
yann@1535
   120
# CT_INSERT_VERSION_STRING_BELOW
yann@2536
   121
    default "2.14" if LIBC_GLIBC_V_2_14
yann@2438
   122
    default "2.13" if LIBC_GLIBC_V_2_13
heiko@2235
   123
    default "2.12.2" if LIBC_GLIBC_V_2_12_2
heiko@2235
   124
    default "2.12.1" if LIBC_GLIBC_V_2_12_1
yann@1758
   125
    default "2.11.1" if LIBC_GLIBC_V_2_11_1
yann@1758
   126
    default "2.11" if LIBC_GLIBC_V_2_11
bryanhundven@2237
   127
    default "2.10.1" if LIBC_GLIBC_V_2_10_1
bryanhundven@2237
   128
    default "2.9" if LIBC_GLIBC_V_2_9
bryanhundven@2237
   129
    default "2.8" if LIBC_GLIBC_V_2_8
bryanhundven@2237
   130
    default "2.7" if LIBC_GLIBC_V_2_7
bryanhundven@2237
   131
    default "2.6.1" if LIBC_GLIBC_V_2_6_1
bryanhundven@2237
   132
    default "2.6" if LIBC_GLIBC_V_2_6
bryanhundven@2237
   133
    default "2.5.1" if LIBC_GLIBC_V_2_5_1
bryanhundven@2237
   134
    default "2.5" if LIBC_GLIBC_V_2_5