summaryrefslogtreecommitdiff
path: root/config/cc/gcc.in.2
blob: 95d7037fc9c86a2e69e2bed908e9686f233b6145 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
config CC_GCC_ENABLE_TARGET_OPTSPACE
    bool
    prompt "Optimize gcc libs for size"
    default y
    help
      Pass --enable-target-optspace to crossgcc's configure.
      
      This will compile crossgcc's libs with -Os.

config CC_STATIC_LIBSTDCXX
    bool
    prompt "Link libstdc++ statically into the gcc binary"
    default y
    depends on CC_GCC_4_4_or_later
    help
      Newer gcc versions use the PPL library which is C++ code.  Statically
      linking libstdc++ increases the likeliness that the gcc binary will
      run on machines other than the one which it was built on, without
      having to worry about distributing the matching version of libstdc++
      along with it.

comment "Misc. obscure options."

config CC_CXA_ATEXIT
    bool
    prompt "Use __cxa_atexit"
    default y
    depends on ! BARE_METAL
    help
      If you get the missing symbol "__cxa_atexit" when building C++ programs,
      you might want to try disabling this option.

config CC_GCC_DISABLE_PCH
    bool
    prompt "Do not build PCH"
    default n
    help
      Say 'y' here to not use Pre-Compiled Headers in the resulting toolchain.
      at the expense of speed when compiling C++ code.
      
      For some configurations (most notably canadian?), PCH are broken, and
      need to be disabled. Please see:
        http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974

config CC_GCC_SJLJ_EXCEPTIONS
    tristate
    prompt "Use sjlj for exceptions"
    depends on ! BARE_METAL
    default m
    help
      'sjlj' is short for setjmp/longjmp.
      
      On some architectures, stack unwinding during exception handling
      works perfectly well without using sjlj, while on some others,
      use of sjlj is required for proper stack unwinding.
      
       Option  | sjlj use           | Associated ./configure switch
      ---------+--------------------+--------------------------------
         Y     | forcibly used      | --enable-sjlj-exceptions
         M     | auto               | (none, ./configure decides)
         N     | forcibly not used  | --disable-sjlj-exceptions
      
      It should be safe to say 'M' or 'N'.
      
      It can happen that ./configure is wrong in some cases. Known
      case is for ARM big endian, where you should say 'N'.

config CC_GCC_LIBMUDFLAP
    bool
    prompt "Compile libmudflap"
    default n
    help
      libmudflap is a pointer-use checking tool, which can detect
      various mis-usages of pointers in C and (to some extents) C++.
      
      You should say 'N' here, as libmduflap generates instrumented
      code (thus it is a bit bigger and a bit slower) and requires
      re-compilation and re-link, while it exists better run-time
      alternatives (eg. DUMA, dmalloc...) that need neither re-
      compilation nor re-link.