1.1 --- a/config/libc/glibc-eglibc.in-common Sat Jan 30 11:43:12 2010 +0100
1.2 +++ b/config/libc/glibc-eglibc.in-common Mon Jan 11 22:47:58 2010 +0100
1.3 @@ -84,10 +84,12 @@
1.4
1.5 Eg.: crypt (for very old libces)
1.6
1.7 -if LIBC_GLIBC_2_8_or_later && ( LIBC_GLIBC_USE_PORTS || ( LIBC_ADDONS_LIST != "" ) )
1.8 -comment "WARNING!!!"
1.9 -comment "For glibc >= 2.8, addons are only available via a CVS checkout."
1.10 -comment "Be sure to review the associated options, above."
1.11 +if LIBC_GLIBC_USE_PORTS || ( LIBC_ADDONS_LIST != "" )
1.12 +comment "WARNING !!! "
1.13 +comment "| For glibc >= 2.8, it can happen that the tarballs "
1.14 +comment "| for the addons are not available for download. "
1.15 +comment "| If that happens, bad luck... Try a previous version "
1.16 +comment "| or try again later... :-( "
1.17 endif
1.18
1.19 if KERNEL_linux
2.1 --- a/config/libc/glibc.in Sat Jan 30 11:43:12 2010 +0100
2.2 +++ b/config/libc/glibc.in Mon Jan 11 22:47:58 2010 +0100
2.3 @@ -33,12 +33,10 @@
2.4 config LIBC_V_2_9
2.5 bool
2.6 prompt "2.9"
2.7 - select LIBC_GLIBC_2_8_or_later
2.8
2.9 config LIBC_V_2_8
2.10 bool
2.11 prompt "2.8"
2.12 - select LIBC_GLIBC_2_8_or_later
2.13
2.14 config LIBC_V_2_7
2.15 bool
2.16 @@ -88,10 +86,6 @@
2.17 default "2.5" if LIBC_V_2_5
2.18 default "2.3.6" if LIBC_V_2_3_6
2.19
2.20 -config LIBC_GLIBC_2_8_or_later
2.21 - bool
2.22 - default n
2.23 -
2.24 choice
2.25 bool
2.26 prompt "Retrieval method"
2.27 @@ -100,7 +94,6 @@
2.28 config LIBC_GLIBC_TARBALL
2.29 bool
2.30 prompt "Released tarball"
2.31 - depends on ! LIBC_GLIBC_2_8_or_later || ! ( LIBC_GLIBC_USE_PORTS || ( LIBC_ADDONS_LIST != "" ) )
2.32 help
2.33 Until end of Februrary 2009, there was no tarball for glibc releases
2.34 2.8 and later. This was intentional.
2.35 @@ -119,25 +112,4 @@
2.36 If you can live with a moving code-base, look at the other choice
2.37 entries, below.
2.38
2.39 -config LIBC_GLIBC_CVS
2.40 - bool
2.41 - prompt "CVS checkout"
2.42 - help
2.43 - See the help for the entry "Released tarball", above.
2.44 -
2.45 - If you can live with a moving code-base, say 'Y' here.
2.46 - If you want your toolchain to really be reproducible, look at the
2.47 - choice entry "Released tarball from FTP", above.
2.48 -
2.49 -if LIBC_GLIBC_CVS
2.50 -
2.51 -config LIBC_GLIBC_CVS_date
2.52 - string
2.53 - prompt "checkout as of date"
2.54 - default ""
2.55 - help
2.56 - The date, in ISO-8601 format, at which to check out the repository.
2.57 -
2.58 -endif # LIBC_GLIBC_CVS
2.59 -
2.60 endchoice
3.1 --- a/scripts/build/libc/glibc.sh Sat Jan 30 11:43:12 2010 +0100
3.2 +++ b/scripts/build/libc/glibc.sh Mon Jan 11 22:47:58 2010 +0100
3.3 @@ -10,67 +10,41 @@
3.4
3.5 addons_list=($(do_libc_add_ons_list " "))
3.6
3.7 - if [ "${CT_LIBC_GLIBC_TARBALL}" = "y" ]; then
3.8 - # Use release tarballs
3.9 - CT_GetFile "glibc-${CT_LIBC_VERSION}" \
3.10 + # Main source
3.11 + CT_GetFile "glibc-${CT_LIBC_VERSION}" \
3.12 + {ftp,http}://ftp.gnu.org/gnu/glibc \
3.13 + ftp://gcc.gnu.org/pub/glibc/releases \
3.14 + ftp://gcc.gnu.org/pub/glibc/snapshots
3.15 +
3.16 + # C library addons
3.17 + for addon in "${addons_list[@]}"; do
3.18 + # NPTL addon is not to be downloaded, in any case
3.19 + [ "${addon}" = "nptl" ] && continue || true
3.20 + CT_GetFile "glibc-${addon}-${CT_LIBC_VERSION}" \
3.21 {ftp,http}://ftp.gnu.org/gnu/glibc \
3.22 ftp://gcc.gnu.org/pub/glibc/releases \
3.23 ftp://gcc.gnu.org/pub/glibc/snapshots
3.24 -
3.25 - # C library addons
3.26 - for addon in "${addons_list[@]}"; do
3.27 - # NPTL addon is not to be downloaded, in any case
3.28 - [ "${addon}" = "nptl" ] && continue || true
3.29 - CT_GetFile "glibc-${addon}-${CT_LIBC_VERSION}" \
3.30 - {ftp,http}://ftp.gnu.org/gnu/glibc \
3.31 - ftp://gcc.gnu.org/pub/glibc/releases \
3.32 - ftp://gcc.gnu.org/pub/glibc/snapshots
3.33 - done
3.34 - elif [ "${CT_LIBC_GLIBC_CVS}" = "y" ]; then
3.35 - # Use CVS checkout
3.36 - version="${CT_LIBC_VERSION//./_}"
3.37 - date="${CT_LIBC_GLIBC_CVS_date}"
3.38 -
3.39 - CT_GetCVS "glibc-cvs-${CT_LIBC_VERSION}" \
3.40 - ":pserver:anoncvs@sources.redhat.com:/cvs/glibc" \
3.41 - "libc" \
3.42 - "glibc-${version}-branch${date:+:}${date}" \
3.43 - "glibc-cvs-${CT_LIBC_VERSION}"
3.44 -
3.45 - # C library addons
3.46 - for addon in "${addons_list[@]}"; do
3.47 - # NPTL addon is not to be downloaded, in any case
3.48 - [ "${addon}" = "nptl" ] && continue || true
3.49 - CT_GetCVS "glibc-${addon}-cvs-${CT_LIBC_VERSION}" \
3.50 - ":pserver:anoncvs@sources.redhat.com:/cvs/glibc" \
3.51 - "${addon}" \
3.52 - "glibc-${version}-branch${date:+:}${date}" \
3.53 - "glibc-${addon}-cvs-${CT_LIBC_VERSION}"
3.54 - done
3.55 - fi
3.56 + done
3.57
3.58 return 0
3.59 }
3.60
3.61 # Extract glibc
3.62 do_libc_extract() {
3.63 - local cvs
3.64 local -a addons_list
3.65
3.66 addons_list=($(do_libc_add_ons_list " "))
3.67
3.68 - [ "${CT_LIBC_GLIBC_CVS}" = "y" ] && cvs="cvs-"
3.69 + CT_Extract "glibc-${CT_LIBC_VERSION}"
3.70
3.71 - CT_Extract "glibc-${cvs}${CT_LIBC_VERSION}"
3.72 -
3.73 - CT_Pushd "${CT_SRC_DIR}/glibc-${cvs}${CT_LIBC_VERSION}"
3.74 + CT_Pushd "${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}"
3.75 CT_Patch "glibc-${CT_LIBC_VERSION}" nochdir
3.76
3.77 # C library addons
3.78 for addon in "${addons_list[@]}"; do
3.79 # NPTL addon is not to be extracted, in any case
3.80 [ "${addon}" = "nptl" ] && continue || true
3.81 - CT_Extract "glibc-${addon}-${cvs}${CT_LIBC_VERSION}" nochdir
3.82 + CT_Extract "glibc-${addon}-${CT_LIBC_VERSION}" nochdir
3.83
3.84 # Some addons have the 'long' name, while others have the
3.85 # 'short' name, but patches are non-uniformly built with
3.86 @@ -78,8 +52,8 @@
3.87 # so we have to make symlinks from the existing to the missing
3.88 # Fortunately for us, [ -d foo ], when foo is a symlink to a
3.89 # directory, returns true!
3.90 - [ -d "${addon}" ] || CT_DoExecLog ALL ln -s "glibc-${addon}-${cvs}${CT_LIBC_VERSION}" "${addon}"
3.91 - [ -d "glibc-${addon}-${cvs}${CT_LIBC_VERSION}" ] || CT_DoExecLog ALL ln -s "${addon}" "glibc-${addon}-${cvs}${CT_LIBC_VERSION}"
3.92 + [ -d "${addon}" ] || CT_DoExecLog ALL ln -s "glibc-${addon}-${CT_LIBC_VERSION}" "${addon}"
3.93 + [ -d "glibc-${addon}-${CT_LIBC_VERSION}" ] || CT_DoExecLog ALL ln -s "${addon}" "glibc-${addon}-${CT_LIBC_VERSION}"
3.94 CT_Patch "glibc-${addon}-${CT_LIBC_VERSION}" nochdir
3.95 done
3.96
3.97 @@ -101,14 +75,11 @@
3.98
3.99 # This function installs the glibc headers needed to build the core compiler
3.100 do_libc_headers() {
3.101 - local cvs
3.102 local -a extra_config
3.103 local arch4hdrs
3.104
3.105 CT_DoStep INFO "Installing C library headers"
3.106
3.107 - [ "${CT_LIBC_GLIBC_CVS}" = "y" ] && cvs="cvs-"
3.108 -
3.109 mkdir -p "${CT_BUILD_DIR}/build-libc-headers"
3.110 cd "${CT_BUILD_DIR}/build-libc-headers"
3.111
3.112 @@ -160,7 +131,7 @@
3.113 libc_cv_mlong_double_128ibm=yes \
3.114 CC=${cross_cc} \
3.115 CT_DoExecLog ALL \
3.116 - "${CT_SRC_DIR}/glibc-${cvs}${CT_LIBC_VERSION}/configure" \
3.117 + "${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/configure" \
3.118 --build="${CT_BUILD}" \
3.119 --host="${CT_TARGET}" \
3.120 --prefix=/usr \
3.121 @@ -173,7 +144,7 @@
3.122
3.123 CT_DoLog EXTRA "Installing C library headers"
3.124
3.125 - if grep -q GLIBC_2.3 "${CT_SRC_DIR}/glibc-${cvs}${CT_LIBC_VERSION}/ChangeLog"; then
3.126 + if grep -q GLIBC_2.3 "${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/ChangeLog"; then
3.127 # glibc-2.3.x passes cross options to $(CC) when generating errlist-compat.c,
3.128 # which fails without a real cross-compiler.
3.129 # Fortunately, we don't need errlist-compat.c, since we just need .h
3.130 @@ -216,7 +187,7 @@
3.131 # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
3.132 mkdir -p "${CT_HEADERS_DIR}/gnu"
3.133 CT_DoExecLog ALL touch "${CT_HEADERS_DIR}/gnu/stubs.h"
3.134 - CT_DoExecLog ALL cp -v "${CT_SRC_DIR}/glibc-${cvs}${CT_LIBC_VERSION}/include/features.h" \
3.135 + CT_DoExecLog ALL cp -v "${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/include/features.h" \
3.136 "${CT_HEADERS_DIR}/features.h"
3.137
3.138 # Building the bootstrap gcc requires either setting inhibit_libc, or
3.139 @@ -231,20 +202,20 @@
3.140 [ "${CT_ARCH}" != "arm" ] && CT_DoExecLog ALL cp -v misc/syscall-list.h "${CT_HEADERS_DIR}/bits/syscall.h" || true
3.141
3.142 # Those headers are to be manually copied so gcc can build properly
3.143 - pthread_h="${CT_SRC_DIR}/glibc-${cvs}${CT_LIBC_VERSION}/${CT_THREADS}/sysdeps/pthread/pthread.h"
3.144 + pthread_h="${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/${CT_THREADS}/sysdeps/pthread/pthread.h"
3.145 pthreadtypes_h=
3.146 case "${CT_THREADS}" in
3.147 nptl)
3.148 # NOTE: for some archs, the pathes are different, but they are not
3.149 # supported by crosstool-NG right now. See original crosstool when they are.
3.150 - pthread_h="${CT_SRC_DIR}/glibc-${cvs}${CT_LIBC_VERSION}/${CT_THREADS}/sysdeps/pthread/pthread.h"
3.151 - pthreadtypes_h="${CT_SRC_DIR}/glibc-${cvs}${CT_LIBC_VERSION}/nptl/sysdeps/unix/sysv/linux/${arch4hdrs}/bits/pthreadtypes.h"
3.152 + pthread_h="${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/${CT_THREADS}/sysdeps/pthread/pthread.h"
3.153 + pthreadtypes_h="${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/nptl/sysdeps/unix/sysv/linux/${arch4hdrs}/bits/pthreadtypes.h"
3.154 if [ ! -f "${pthreadtypes_h}" ]; then
3.155 - pthreadtypes_h="${CT_SRC_DIR}/glibc-${cvs}${CT_LIBC_VERSION}/ports/sysdeps/unix/sysv/linux/${arch4hdrs}/nptl/bits/pthreadtypes.h"
3.156 + pthreadtypes_h="${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/ports/sysdeps/unix/sysv/linux/${arch4hdrs}/nptl/bits/pthreadtypes.h"
3.157 fi
3.158 ;;
3.159 linuxthreads)
3.160 - pthreadtypes_h="${CT_SRC_DIR}/glibc-${cvs}${CT_LIBC_VERSION}/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h"
3.161 + pthreadtypes_h="${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h"
3.162 ;;
3.163 *)
3.164 pthread_h=
3.165 @@ -263,7 +234,6 @@
3.166
3.167 # Build and install start files
3.168 do_libc_start_files() {
3.169 - local cvs
3.170 local -a extra_config
3.171
3.172 # Needed only in the NPTL case. Otherwise, return.
3.173 @@ -271,8 +241,6 @@
3.174
3.175 CT_DoStep INFO "Installing C library start files"
3.176
3.177 - [ "${CT_LIBC_GLIBC_CVS}" = "y" ] && cvs="cvs-"
3.178 -
3.179 mkdir -p "${CT_BUILD_DIR}/build-libc-startfiles"
3.180 cd "${CT_BUILD_DIR}/build-libc-startfiles"
3.181
3.182 @@ -332,7 +300,7 @@
3.183 AR=${CT_TARGET}-ar \
3.184 RANLIB=${CT_TARGET}-ranlib \
3.185 CT_DoExecLog ALL \
3.186 - "${CT_SRC_DIR}/glibc-${cvs}${CT_LIBC_VERSION}/configure" \
3.187 + "${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/configure" \
3.188 --prefix=/usr \
3.189 --build="${CT_BUILD}" \
3.190 --host=${CT_TARGET} \
3.191 @@ -364,13 +332,10 @@
3.192
3.193 # This function builds and install the full glibc
3.194 do_libc() {
3.195 - local cvs
3.196 local -a extra_config
3.197
3.198 CT_DoStep INFO "Installing C library"
3.199
3.200 - [ "${CT_LIBC_GLIBC_CVS}" = "y" ] && cvs="cvs-"
3.201 -
3.202 mkdir -p "${CT_BUILD_DIR}/build-libc"
3.203 cd "${CT_BUILD_DIR}/build-libc"
3.204
3.205 @@ -458,7 +423,7 @@
3.206 AR=${CT_TARGET}-ar \
3.207 RANLIB=${CT_TARGET}-ranlib \
3.208 CT_DoExecLog ALL \
3.209 - "${CT_SRC_DIR}/glibc-${cvs}${CT_LIBC_VERSION}/configure" \
3.210 + "${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/configure" \
3.211 --prefix=/usr \
3.212 --build=${CT_BUILD} \
3.213 --host=${CT_TARGET} \
3.214 @@ -472,7 +437,7 @@
3.215 "${extra_config[@]}" \
3.216 ${CT_LIBC_GLIBC_EXTRA_CONFIG}
3.217
3.218 - if grep -l '^install-lib-all:' "${CT_SRC_DIR}/glibc-${cvs}${CT_LIBC_VERSION}/Makerules" > /dev/null; then
3.219 + if grep -l '^install-lib-all:' "${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/Makerules" > /dev/null; then
3.220 # nptl-era glibc.
3.221 # If the install-lib-all target (which is added by our make-install-lib-all.patch)
3.222 # is present, it means we're building glibc-2.3.3 or later, and we can't