From 5f5cf95dd0bca6273d7751ef42093682fba082c8 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Thu, 5 Mar 2009 17:50:42 +0000 Subject: Re-instate the glibc/eglibc config option LIBC_GLIBC_CONFIGPARMS for use by SuperH. Set appropriate defaults depending on target. /trunk/scripts/build/libc/glibc.sh | 14 7 7 0 +++++++------- /trunk/config/libc/glibc-eglibc.in-common | 15 15 0 0 +++++++++++++++ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/config/libc/glibc-eglibc.in-common b/config/libc/glibc-eglibc.in-common index a9fcf4c..86444be 100644 --- a/config/libc/glibc-eglibc.in-common +++ b/config/libc/glibc-eglibc.in-common @@ -14,6 +14,21 @@ config LIBC_GLIBC_EXTRA_CONFIG Eg.: --enable-static-nss +config LIBC_GLIBC_CONFIGPARMS + string + prompt "Extra config params (READ HELP)" + default "" if ! ARCH_sh + default "no-z-defs=yes" if ARCH_sh + help + Some architectures need to set options in the file configparms. + This is the case for sh3/4, which really need to set configparms + to "no-z-defs=yes" as of gcc-3.4/glibc-2.3.2. + + Unless you are building a toolchain for sh3/4, you should leave that empty. + + Note: this is awkward, and doesn't work well if you need more than one + line in configparms + config LIBC_GLIBC_EXTRA_CFLAGS string prompt "extra target CFLAGS" diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh index 19283a8..f80f70b 100644 --- a/scripts/build/libc/glibc.sh +++ b/scripts/build/libc/glibc.sh @@ -123,6 +123,9 @@ do_libc_headers() { extra_config="${addons_config} $(do_libc_min_kernel_config)" + # Pre-seed the configparms file with values from the config option + echo "${CT_LIBC_GLIBC_CONFIGPARMS}" > configparms + cross_cc=$(CT_Which "${CT_TARGET}-gcc") CT_DoLog DEBUG "Using gcc for target: '${cross_cc}'" CT_DoLog DEBUG "Extra config passed : '${extra_config}'" @@ -288,10 +291,8 @@ do_libc_start_files() { CT_DoLog DEBUG "Extra config args passed: '${extra_config}'" CT_DoLog DEBUG "Extra CC args passed : '${extra_cc_args}'" - # Super-H really needs to set configparms as of gcc-3.4/glibc-2.3.2 - # note: this is awkward, doesn't work well if you need more than one - # line in configparms - [ "${CT_ARCH_sh}" = "y" ] && echo "no-z-defs=yes" > configparms + # Pre-seed the configparms file with values from the config option + echo "${CT_LIBC_GLIBC_CONFIGPARMS}" > configparms echo "libc_cv_forced_unwind=yes" > config.cache echo "libc_cv_c_cleanup=yes" >> config.cache @@ -400,9 +401,8 @@ do_libc() { CT_DoLog DEBUG "Extra config args passed: '${extra_config}'" CT_DoLog DEBUG "Extra CC args passed : '${extra_cc_args}'" - # sh3 and sh4 really need to set configparms as of gcc-3.4/glibc-2.3.2 - # note: this is awkward, doesn't work well if you need more than one line in configparms - echo ${CT_LIBC_GLIBC_CONFIGPARMS} > configparms + # Pre-seed the configparms file with values from the config option + echo "${CT_LIBC_GLIBC_CONFIGPARMS}" > configparms # For glibc 2.3.4 and later we need to set some autoconf cache # variables, because nptl/sysdeps/pthread/configure.in does not -- cgit v0.10.2-6-g49f6