mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-01-21 03:55:15 +00:00
Add a new config knob for gcc: usage of SJLJ to handle exceptions.
This is needed for some architectures to compile the Java frontend (eg. ARM with uClibc). /trunk/config/cc/gcc.in | 41 39 2 0 +++++++++++++++++++++++++++++++++++++++-- /trunk/scripts/build/cc_gcc.sh | 8 5 3 0 +++++--- 2 files changed, 44 insertions(+), 5 deletions(-)
This commit is contained in:
parent
632086b0a5
commit
c1a2e1bb87
@ -129,12 +129,49 @@ config CC_GCC_4_3_or_later
|
||||
|
||||
config CC_CXA_ATEXIT
|
||||
bool
|
||||
prompt "__cxa_atexit"
|
||||
default "y"
|
||||
prompt "Use __cxa_atexit"
|
||||
default y
|
||||
help
|
||||
If you get the missing symbol "__cxa_atexit" when building C++ programs,
|
||||
you might want to try disabling this option.
|
||||
|
||||
choice
|
||||
bool
|
||||
prompt "Use sjlj for exceptions"
|
||||
default CC_SJLJ_EXCEPTIONS_CONFIGURE
|
||||
|
||||
# This config option is used nowhere in the code on purpose.
|
||||
# It only serves as a choice entry to force neither using nor not using sjlj
|
||||
config CC_SJLJ_EXCEPTIONS_CONFIGURE
|
||||
bool
|
||||
prompt "Let configure decide"
|
||||
help
|
||||
Let configure decide if setjmp/longjmp should be used to handle
|
||||
exceptions.
|
||||
|
||||
Choose that if you trust configure to detect the correct settings.
|
||||
This is the default choice.
|
||||
|
||||
config CC_SJLJ_EXCEPTIONS_USE
|
||||
bool
|
||||
prompt "Force using sjlj"
|
||||
help
|
||||
Do use setjmp/longjmp for exceptions.
|
||||
This is gcc's --enable-sjlj-exceptions configure switch.
|
||||
|
||||
Choose that if you want to use setjmp/longjmp to handle exceptions.
|
||||
|
||||
config CC_SJLJ_EXCEPTIONS_DONT_USE
|
||||
bool
|
||||
prompt "Force not using sjlj"
|
||||
help
|
||||
Do not use setjmp/longjmp for exceptions.
|
||||
This is gcc's --disable-sjlj-exceptions configure switch.
|
||||
|
||||
Choose that if you want to not use setjmp/longjmp to handle exceptions.
|
||||
|
||||
endchoice
|
||||
|
||||
config CC_CORE_EXTRA_CONFIG
|
||||
string
|
||||
prompt "Core gcc extra config"
|
||||
|
@ -288,6 +288,8 @@ do_cc() {
|
||||
[ "${CT_GMP_MPFR}" = "y" ] && extra_config="${extra_config} --with-gmp=${CT_PREFIX_DIR} --with-mpfr=${CT_PREFIX_DIR}"
|
||||
[ -n "${CT_CC_PKGVERSION}" ] && extra_config="${extra_config} --with-pkgversion=${CT_CC_PKGVERSION}"
|
||||
[ -n "${CT_CC_BUGURL}" ] && extra_config="${extra_config} --with-bugurl=${CT_CC_BUGURL}"
|
||||
[ "${CT_CC_SJLJ_EXCEPTIONS_USE}" = "y" ] && extra_config="${extra_config} --enable-sjlj-exceptions"
|
||||
[ "${CT_CC_SJLJ_EXCEPTIONS_DONT_USE}" = "y" ] && extra_config="${extra_config} --disable-sjlj-exceptions"
|
||||
if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then
|
||||
extra_config="${extra_config} --enable-__cxa_atexit"
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user