# HG changeset patch # User "Yann E. MORIN" # Date 1236275442 0 # Node ID 80c5723e06fc5e935f3e65a8f142ce01d6edb0e0 # Parent cc07c1ef372d841f8edafb7bccd46d2e15e3be54 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 -r cc07c1ef372d -r 80c5723e06fc config/libc/glibc-eglibc.in-common --- a/config/libc/glibc-eglibc.in-common Thu Mar 05 17:38:05 2009 +0000 +++ b/config/libc/glibc-eglibc.in-common Thu Mar 05 17:50:42 2009 +0000 @@ -14,6 +14,21 @@ 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 -r cc07c1ef372d -r 80c5723e06fc scripts/build/libc/glibc.sh --- a/scripts/build/libc/glibc.sh Thu Mar 05 17:38:05 2009 +0000 +++ b/scripts/build/libc/glibc.sh Thu Mar 05 17:50:42 2009 +0000 @@ -123,6 +123,9 @@ 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 @@ 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 @@ 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