Hi,
I have been getting the following configure failure when cross building glibc
2.17 for mips64:
checking for _FORTIFY_SOURCE predefine... yes
checking whether gcc implicitly enables -fstack-protector... yes
running configure fragment for ports/sysdeps/unix/sysv/linux/mips/mips64
running configure fragment for ports/sysdeps/unix/sysv/linux/mips
configure: error: could not determine if compiler is using hard or soft
floating point ABI
Due to previous errors, no 0-glibc.log file!
(Try enabling xtrace in the config to track an error inside the build system.)
My build config is set up for soft float.
I have not been able to find or fix the underlying reason for this failure, so I rolled
back to the previous glibc from svn, and put it in architecture/mips64/packages.
If anyone has ideas on how to fix the 2.17 build, please let me know, in the mean time, I
am attaching the rollback patch, because, that is the only way right now to continue with
the mips64 build.
Jan
Index: architecture/mips64/package/glibc/Os.patch
===================================================================
--- architecture/mips64/package/glibc/Os.patch (revision 0)
+++ architecture/mips64/package/glibc/Os.patch (revision 0)
@@ -0,0 +1,28 @@
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# T2 SDE: package/.../glibc/Os.patch
+# Copyright (C) 2011 The T2 SDE Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This patch file is dual-licensed. It is available under the license the
+# patched project is licensed under, as long as it is an OpenSource license
+# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
+# of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+# --- T2-COPYRIGHT-NOTE-END ---
+
+diff -rupN glibc-2.13-orig//io/sys/stat.h glibc-2.13/io/sys/stat.h
+--- glibc-2.13-orig//io/sys/stat.h 2011-04-19 13:36:09.230000006 +0200
++++ glibc-2.13/io/sys/stat.h 2011-04-19 14:16:19.066000011 +0200
+@@ -448,7 +448,7 @@ extern int __xmknodat (int __ver, int __
+ __mode_t __mode, __dev_t *__dev)
+ __THROW __nonnull ((3, 5));
+
+-#if defined __GNUC__ && __GNUC__ >= 2 && defined __USE_EXTERN_INLINES
++#if defined __GNUC__ && __GNUC__ >= 2
+ /* Inlined versions of the real stat and mknod functions. */
+
+ __extern_inline int
Index: architecture/mips64/package/glibc/arm-old-abi.patch
===================================================================
--- architecture/mips64/package/glibc/arm-old-abi.patch (revision 0)
+++ architecture/mips64/package/glibc/arm-old-abi.patch (revision 0)
@@ -0,0 +1,28 @@
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# T2 SDE: package/.../glibc/arm-old-abi.patch
+# Copyright (C) 2007 - 2008 The T2 SDE Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This patch file is dual-licensed. It is available under the license the
+# patched project is licensed under, as long as it is an OpenSource license
+# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
+# of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+# --- T2-COPYRIGHT-NOTE-END ---
+
+--- glibc-2.6/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h.vanilla
2007-06-16 09:14:03.349441489 +0200
++++ glibc-2.6/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
2007-06-16 09:17:42.269917056 +0200
+@@ -126,3 +126,9 @@
+ # define NO_CANCELLATION 1
+
+ #endif
++
++#ifndef __ASSEMBLER__
++# define RTLD_SINGLE_THREAD_P \
++ __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
++ header.multiple_threads) == 0, 1)
++#endif
Index: architecture/mips64/package/glibc/config-650.in
===================================================================
--- architecture/mips64/package/glibc/config-650.in (revision 0)
+++ architecture/mips64/package/glibc/config-650.in (revision 0)
@@ -0,0 +1,39 @@
+#!/bin/sh
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# T2 SDE: package/.../glibc/config-650.in
+# Copyright (C) 2004 - 2005 The T2 SDE Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License. A copy of the
+# GNU General Public License can be found in the file COPYING.
+# --- T2-COPYRIGHT-NOTE-END ---
+
+menu_begin MENU_LIBC 'Selecting C Library'
+ CFGTEMP_LIBC_LIST=
+
+ for x in `grep -e ' LIBC ' config/$config/packages | cut -d' ' -f5`; do
+ var_append CFGTEMP_LIBC_LIST ' ' \
+ "$x $x,_$( grep -e '^\[I\]' package/*/$x/$x.desc \
+ | cut -d' ' -f2- | tr ' ' '_' )"
+ done
+
+ if [ -z "$CFGTEMP_LIBC_LIST" ]; then
+ CFGTEMP_LIBC_LIST="none WARNING:_No_libc_was_selected!"
+ fi
+
+ choice SDECFG_LIBC glibc $CFGTEMP_LIBC_LIST
+
+ # default libc must get enabled
+ [ "$SDECFG_LIBC" != "none" ] && pkgenable $SDECFG_LIBC
+
+ comment ' '
+
+ # do package specific config
+ [ -s $cfgtmpdir/subconfig-libc.in ] && . $cfgtmpdir/subconfig-libc.in
+
+menu_end
Index: architecture/mips64/package/glibc/ugly-no-nptl.patch
===================================================================
--- architecture/mips64/package/glibc/ugly-no-nptl.patch (revision 0)
+++ architecture/mips64/package/glibc/ugly-no-nptl.patch (revision 0)
@@ -0,0 +1,40 @@
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# T2 SDE: package/.../glibc/ugly-no-nptl.patch
+# Copyright (C) 2004 - 2005 The T2 SDE Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This patch file is dual-licensed. It is available under the license the
+# patched project is licensed under, as long as it is an OpenSource license
+# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
+# of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+# --- T2-COPYRIGHT-NOTE-END ---
+--- glibc-20050919/nscd/nscd.h.vanilla 2005-11-05 14:47:31.000000000 +0100
++++ glibc-20050919/nscd/nscd.h 2005-11-05 14:47:17.000000000 +0100
+@@ -25,6 +25,7 @@
+ #include <stdbool.h>
+ #include <time.h>
+ #include <sys/uio.h>
++#include <sys/socket.h>
+
+ /* The declarations for the request and response types are in the file
+ "nscd-client.h", which should contain everything needed by client
+--- glibc-20050919/malloc/memusage.c.vanilla 2005-11-05 13:54:54.000000000
+0100
++++ glibc-20050919/malloc/memusage.c 2005-11-05 13:56:00.000000000 +0100
+@@ -83,7 +83,12 @@
+ static memusage_cntr_t decreasing_mremap;
+ static memusage_size_t current_heap;
+ static memusage_size_t peak_use[3];
++
++#ifdef HAVE___THREAD
+ static __thread uintptr_t start_sp;
++#else
++static uintptr_t start_sp;
++#endif
+
+ /* A few macros to make the source more readable. */
+ #define peak_heap peak_use[0]
Index: architecture/mips64/package/glibc/glibc.conf
===================================================================
--- architecture/mips64/package/glibc/glibc.conf (revision 0)
+++ architecture/mips64/package/glibc/glibc.conf (revision 0)
@@ -0,0 +1,295 @@
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# T2 SDE: package/.../glibc/glibc.conf
+# Copyright (C) 2004 - 2013 The T2 SDE Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License. A copy of the
+# GNU General Public License can be found in the file COPYING.
+# --- T2-COPYRIGHT-NOTE-END ---
+
+# overwrite prefix to not point to the tools, but the real root for the headers
+if atstage toolchain; then
+ # hack due to sane variable not available and prefix is tools prefix
+ # -ReneR
+ confopt="--prefix=$base/build/$SDECFG_ID/usr \
+ --with-headers=$base/build/$SDECFG_ID/usr/include
\$extraconfopt"
+ includedir="/../../usr/include"
+
+ # MIPS injects -mabi - the host CC does not know about it for header gen
+ var_append SYSCC_WRAPPER_REMOVE ' ' '-mabi*'
+ var_append SYSCPP_WRAPPER_REMOVE ' ' '-mabi*'
+else
+ var_append confopt " " "--with-headers=$root/usr/include"
+fi
+
+var_append confopt ' ' "--disable-multi-arch"
+var_append confopt " " "--enable-kernel=2.6.16"
+
+if [ $SDECFG_SOFTFLOAT -eq 1 ]; then
+ # Disable hardware floating point and use software floating point
+ var_append confopt ' ' '--without-fp'
+else
+ var_append confopt ' ' '--with-fp'
+fi
+
+# use at least "-O" when build without optimisation for debugging ...
+var_remove GCC_WRAPPER_INSERT ' ' '-O0'
+var_insert GCC_WRAPPER_INSERT ' ' '-O'
+var_remove SYSGCC_WRAPPER_INSERT ' ' '-O0'
+
+# On Mips64 and ARM the following fails unless we build with: -fgnu89-inline
+# "sysdeps/ieee754/dbl-64/s_copysign.c:27: error: redefinition of '__copysign'"
+case "$arch" in
+ arm|mips*) var_insert GCC_WRAPPER_INSERT ' ' '-fgnu89-inline' ;;
+esac
+
+# glibc does not like -ffast-math
+var_remove GCC_WRAPPER_APPEND ' ' '-ffast-math'
+var_remove GCC_WRAPPER_INSERT ' ' '-ffast-math'
+
+# We must use an 'objdir' directory for building glibc
+# Disable glibc internal debuging but build debuging and profile
+# code so we can use this glibc to debug other programs.
+hook_add preconf 3 "mkdir -p objdir; cd objdir"
+
+if [ $arch == "mips64" ]; then
+ if [ $pkg == glibc ]; then
+ # The mips64 GCC defaults to -mabi=n32
+ configprefix='CFLAGS="$CFLAGS -g -DNDEBUG=1"
CPPFLAGS="-mabi=64"'
+ #configprefix='CFLAGS="$CFLAGS -g -DNDEBUG=1"'
+
+ #if atstage cross; then
+ # for some reason we need this, or else we get:
+ #../sysdeps/wordsize-64/labs.c:23:1: error: conflicting
types for 'imaxabs'
+ var_insert GCC_WRAPPER_INSERT ' ' '-mabi=64'
+ #fi
+
+ # Only for lib n32 kluge
+ # Disable shared file checking,
+ # we will be mucking with them
+ #export check_shared=0
+ #export SDECFG_PARANOIA_CHECK=0
+ fi
+else
+ configprefix='CFLAGS="$CFLAGS -g -DNDEBUG=1"'
+fi
+configscript="../configure"
+
+var_append confopt " " "--with-gnu-binutils --build=${arch_build}
--host=${arch_target}"
+
+# toolchain needs some guidance when we do not yet have a compiler
+#if atstage toolchain ; then
+if atstage toolchain || atstage cross; then
+ # t2 only auto adds it in the cross stage
+ var_append confopt ' ' "--cache-file=./config.cache"
+ hook_add preconf 3 "echo 'libc_cv_forced_unwind=yes
+libc_cv_c_cleanup=yes
+libc_cv_gcc_exceptions=yes
+libc_cv_arm_tls=yes
+libc_cv_mips_tls=yes
+libc_cv_asm_cfi_directive_sections=yes
+ac_cv_header_cpuid_h=yes' >> config.cache"
+
+fi
+
+if ! atstage native; then
+ var_append confopt " " "--without-gd"
+elif pkginstalled libgd; then
+ var_append confopt " " "--with-gd=/usr --with-gd-lib=/usr/lib
--with-gd-include=/usr/include"
+fi
+
+# control whether to use nptl - if supported by the architecture ...
+if [ $SDECFG_PKG_GLIBC_TLS = 1 ]; then
+ var_append extraconfopt " " \
+ "--enable-add-ons=nptl,ports --with-tls --with-__thread"
#,libidn
+else
+ var_append extraconfopt " " \
+ "--enable-add-ons=linuxthreads --without-__thread
--disable-sanity-checks"
+fi
+
+# build and install the obsolete RPC code
+var_append extraconfopt " " "--enable-obsolete-rpc"
+
+# control whether to include profiling support
+if [ $SDECFG_PKG_GLIBC_ENABLE_PROFILE = 1 ] ; then
+ var_append extraconfopt " " "--enable-profile"
+else
+ var_append extraconfopt " " "--disable-profile"
+fi
+
+var_append makeopt " " "slibdir=/\$slibdir"
+var_append makeinstopt " " "slibdir=/\$slibdir install_root=\$root"
+
+glibc_prepatch() {
+ for tarball in `match_source_file -p ports` \
+ `match_source_file -p linuxthread` \
+ `match_source_file -p libidn`
+ do
+ tar $taropt $tarball
+
+ # rename without surrounding glibc-*-version
+ tarball=${tarball##*/}; tarball=${tarball#*-};
tarball=${tarball%%-*}
+ mv glibc-${tarball}-* ${tarball}
+
+ # remove CVS from the newly extracted files, glibc tries to
+ # automatically commit newly generated files :-!
+ find $tarball -name CVS | xargs rm -rfv
+ done
+
+ mkdir -p $root$includedir/gnu/
+
+ if [ $pkg == glibc ]; then
+ # touch is not enough to add it, "echo -n "" >>" neither
+ addStub() { for f; do dd if=/dev/null of="$f" count=0; done }
+ addStub $root$includedir/gnu/stubs.h
+ if [ $slibdir = lib64 ]; then
+ addStub $root$includedir/gnu/stubs{,-32,-64}.h
+ fi
+ fi
+}
+
+glibc_postmake()
+{
+ if atstage toolchain; then
+ cp -v ../include/features.h $root$includedir
+ mkdir -p $includedir/{bits,gnu}
+ [ -e $root$includedir/bits/stdio_lim.h ] ||
+ touch $root$includedir/bits/stdio_lim.h
+ return
+ fi
+
+ ln -sf libbsd-compat.a $root/usr/$slibdir/libbsd.a
+
+ # Misc. stuff
+ #
+ if atstage native; then
+ # install locales and linuxthread manpages
+ eval $MAKE localedata/install-locales
+ cp ../localedata/SUPPORTED $root/usr/share/i18n/
+
+ if [ $SDECFG_PKG_GLIBC_TLS != 1 ]; then
+ mkdir -p $root/usr/share/man/man3
+ if [ -f /usr/bin/perl ] ; then
+ eval $MAKE -C ../linuxthreads/man \
+ MANDIR=$root/usr/share/man/man3 all install
+ fi
+
+ # copy linuxthreads and crypt documentation
+ cp ../linuxthreads/ChangeLog $docdir/ChangeLog.threads
+ cp ../linuxthreads/Changes $docdir/Changes.threads
+ cp ../linuxthreads/README $docdir/README.threads
+ cp ../linuxthreads/FAQ.html $docdir/FAQ-threads.html
+ cp -r ../linuxthreads/Examples $docdir/examples.threads
+ fi
+ else
+ # at least prepare the locale dir
+ mkdir -p $root$libdir/locale
+ fi
+ cp ../crypt/README.ufc-crypt $root$docdir/README.crypt
+
+ # NSCD Init script and config
+ #
+ cp $confdir/{nscd,nsswitch}.conf $root/etc/
+
+ # Install ld.so.conf
+ #
+ if [ $slibdir = lib64 ] ; then
+ if [ $arch == "mips64" ]; then
+ # mips needs lib32 for n32 abi
+ cat > $root/etc/ld.so.conf <<-EOT
+ /lib64
+ /lib32
+ /lib
+ /usr/lib64
+ /usr/lib32
+ /usr/lib
+ /usr/X11/lib64
+ /usr/X11/lib32
+ /usr/X11/lib
+ /opt/*/lib64
+ /opt/*/lib32
+ /opt/*/lib
+ /usr/local/lib64
+ /usr/local/lib32
+ /usr/local/lib
+EOT
+ # kluge for triple arch
+ # TBD:only if building n32 userspace ad default
+ #if [ $pkg == glibc ]; then
+ # mv $root/lib64 $root/lib64.orig
+ # mv $root/usr/lib64 $root/usr/lib64.orig
+ # ln -s $root/lib32 $root/lib64
+ # ln -s $root/usr/lib32 $root/usr/lib64
+ #fi
+ # TBD: put these back in the right order at the very
end of the build.
+ else
+ cat > $root/etc/ld.so.conf <<-EOT
+ /lib64
+ /lib
+ /usr/lib64
+ /usr/lib
+ /usr/X11/lib64
+ /usr/X11/lib
+ /opt/*/lib64
+ /opt/*/lib
+ /usr/local/lib64
+ /usr/local/lib
+EOT
+ fi
+ else
+ cat > $root/etc/ld.so.conf <<-EOT
+ /lib
+ /usr/lib
+ /usr/X11/lib
+ /opt/*/lib
+ /usr/local/lib
+EOT
+ fi
+
+ # Move 'ldconfig' and 'sln' binaries
+ #
+ if [ -f "$root/usr/sbin/ldconfig" ] ; then
+ mv -v $root/usr/sbin/ldconfig $root/sbin/ldconfig
+ fi
+ if [ -f "$root/usr/sbin/sln" ] ; then
+ mv -v $root/usr/sbin/sln $root/sbin/sln
+ fi
+
+ # Create /lib/ld-lsb.so.1 symlink
+ #
+ if [ -f $root/$slibdir/ld-linux-$arch_machine.so.2 ] ; then
+ ln -vfs ld-linux-$arch_machine.so.2 $root/$slibdir/ld-lsb.so.1
+ elif [ -f $root/$slibdir/ld-linux.so.2 ] ; then
+ ln -vfs ld-linux.so.2 $root/$slibdir/ld-lsb.so.1
+ fi
+}
+
+# in stage 0 we only extract the headers and all is a bit easier ...
+if atstage toolchain; then
+ makeopt=
+ makeinstopt="-k cross-compiling=yes install-headers"
+fi
+
+#[[ $libdir = *lib64 ]] && slibdir=lib64 || [[ $libdir = *lib32 ]] &&
slibdir=lib32 || slibdir=lib
+if [[ $libdir = *lib64 ]]; then
+ slibdir=lib64
+ echo "Set slibdir to lib64"
+elif [[ $libdir = *lib32 ]]; then
+ slibdir=lib32
+ echo "Set slibdir to lib32"
+else
+ slibdir=lib
+ echo "Set slibdir to lib"
+fi
+
+#if atstage cross; then
+# var_append patchfiles " " $confdir/no_path_in_glibcso.diff
+#fi
+
+hook_add prepatch 3 "glibc_prepatch"
+hook_add postmake 5 "glibc_postmake"
Index: architecture/mips64/package/glibc/ldconfig-glob.patch
===================================================================
--- architecture/mips64/package/glibc/ldconfig-glob.patch (revision 0)
+++ architecture/mips64/package/glibc/ldconfig-glob.patch (revision 0)
@@ -0,0 +1,95 @@
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# T2 SDE: package/.../glibc/ldconfig-glob.patch
+# Copyright (C) 2004 - 2005 The T2 SDE Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This patch file is dual-licensed. It is available under the license the
+# patched project is licensed under, as long as it is an OpenSource license
+# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
+# of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+# --- T2-COPYRIGHT-NOTE-END ---
+
+This is an alternative ldconfig wildcard expansion (glob) patch for
+recent glibc's.
+
+ - Valentin Ziegler <[email protected]>
+
+--- ./elf/ldconfig.c.orig 2004-09-14 13:28:34.000000000 +0200
++++ ./elf/ldconfig.c 2004-09-14 14:19:07.000000000 +0200
+@@ -359,21 +359,57 @@
+ if (opt_chroot)
+ path = chroot_canon (opt_chroot, path);
+
+- struct stat64 stat_buf;
+- if (path == NULL || stat64 (path, &stat_buf))
+- {
+- if (opt_verbose)
+- error (0, errno, _("Can't stat %s"), entry->path);
+- free (entry->path);
+- free (entry);
+- }
+- else
+- {
+- entry->ino = stat_buf.st_ino;
+- entry->dev = stat_buf.st_dev;
++ /* assume path is a pattern. - Valentin */
+
+- add_single_dir (entry, 1);
+- }
++ glob_t result;
++ if (glob(path, GLOB_ONLYDIR, NULL, &result) == 0) {
++
++ for (int j = 0; j < result.gl_pathc; j++)
++ {
++ /* create a copy entry with expanded path */
++ struct dir_entry *real_entry = xmalloc (sizeof (struct dir_entry));
++ memcpy (real_entry, entry, sizeof (struct dir_entry));
++ real_entry->path = xstrdup (result.gl_pathv[j]);
++
++ struct stat64 stat_buf;
++ if (real_entry -> path == NULL || stat64 (real_entry -> path,
&stat_buf))
++ {
++ if (opt_verbose)
++ error (0, errno, _("Can't stat %s"), real_entry->path);
++ free (real_entry->path);
++ free (real_entry);
++ }
++ else
++ {
++ real_entry->ino = stat_buf.st_ino;
++ real_entry->dev = stat_buf.st_dev;
++
++ add_single_dir (real_entry, 1);
++ }
++ }
++
++ } else {
++ /* fallback to code from glibc with orig. error handling */
++ struct stat64 stat_buf;
++ if (path == NULL || stat64 (path, &stat_buf))
++ {
++ if (opt_verbose)
++ error (0, errno, _("Can't stat %s"), entry->path);
++ free (entry->path);
++ free (entry);
++ }
++ else
++ {
++ entry->ino = stat_buf.st_ino;
++ entry->dev = stat_buf.st_dev;
++
++ add_single_dir (entry, 1);
++ }
++ }
++
++ globfree (&result);
++
++ /* ******************************* */
+
+ if (opt_chroot)
+ free (path);
Index: architecture/mips64/package/glibc/fl_wrapper_testfix.patch
===================================================================
--- architecture/mips64/package/glibc/fl_wrapper_testfix.patch (revision 0)
+++ architecture/mips64/package/glibc/fl_wrapper_testfix.patch (revision 0)
@@ -0,0 +1,27 @@
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# T2 SDE: package/.../glibc/fl_wrapper_testfix.patch
+# Copyright (C) 2004 - 2005 The T2 SDE Project
+# Copyright (C) 1998 - 2003 ROCK Linux Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This patch file is dual-licensed. It is available under the license the
+# patched project is licensed under, as long as it is an OpenSource license
+# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
+# of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+# --- T2-COPYRIGHT-NOTE-END ---
+
+--- ./scripts/test-installation.pl.gv Fri Nov 15 13:20:48 2002
++++ ./scripts/test-installation.pl Fri Nov 15 13:21:07 2002
+@@ -156,6 +156,7 @@
+ open LDD, "ldd /tmp/test-prg$$ |"
+ or die ("Couldn't execute ldd");
+ while (<LDD>) {
++ next if (/fl_wrapper/);
+ if (/^\s*lib/) {
+ ($name, $version1, $version2) =
+ /^\s*lib(\w*)\.so\.([0-9\.]*)\s*=>.*\.so\.([0-9\.]*)/;
Index: architecture/mips64/package/glibc/nsswitch.conf
===================================================================
--- architecture/mips64/package/glibc/nsswitch.conf (revision 0)
+++ architecture/mips64/package/glibc/nsswitch.conf (revision 0)
@@ -0,0 +1,33 @@
+#
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# T2 SDE: package/.../glibc/nsswitch.conf
+# Copyright (C) 2004 - 2005 The T2 SDE Project
+# Copyright (C) 1998 - 2003 ROCK Linux Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License. A copy of the
+# GNU General Public License can be found in the file COPYING.
+# --- T2-COPYRIGHT-NOTE-END ---
+
+#
+# Example configuration of GNU Name Service Switch functionality.
+#
+
+passwd: db files
+group: db files
+shadow: db files
+
+hosts: files dns
+networks: files dns
+
+protocols: db files
+services: db files
+ethers: db files
+rpc: db files
+
+netgroup: db files
Index: architecture/mips64/package/glibc/make_shlib_link.patch
===================================================================
--- architecture/mips64/package/glibc/make_shlib_link.patch (revision 0)
+++ architecture/mips64/package/glibc/make_shlib_link.patch (revision 0)
@@ -0,0 +1,41 @@
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# T2 SDE: package/.../glibc/make_shlib_link.patch
+# Copyright (C) 2004 - 2005 The T2 SDE Project
+# Copyright (C) 1998 - 2003 ROCK Linux Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This patch file is dual-licensed. It is available under the license the
+# patched project is licensed under, as long as it is an OpenSource license
+# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
+# of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+# --- T2-COPYRIGHT-NOTE-END ---
+
+--- ./Makerules.orig 2002-10-12 11:52:02.000000000 +0200
++++ ./Makerules 2002-10-12 11:55:26.000000000 +0200
+@@ -820,8 +820,7 @@
+ endif
+ ifndef make-shlib-link
+ define make-shlib-link
+-rm -f $@
+-$(LN_S) $(<F) $@
++ln -sf $(<F) $@
+ endef
+ endif
+
+--- ./Makefile.orig 2002-10-13 16:13:47.000000000 +0200
++++ ./Makefile 2002-10-13 16:16:26.000000000 +0200
+@@ -110,7 +110,8 @@
+ install: install-symbolic-link
+ .PHONY: install-symbolic-link
+ install-symbolic-link: subdir_install
+- $(symbolic-link-prog) $(symbolic-link-list)
++ while read from to ; do \
++ ln -sf $$from $$to ; done < $(symbolic-link-list)
+ rm -f $(symbolic-link-list)
+
+ install:
Index: architecture/mips64/package/glibc/nscd.conf
===================================================================
--- architecture/mips64/package/glibc/nscd.conf (revision 0)
+++ architecture/mips64/package/glibc/nscd.conf (revision 0)
@@ -0,0 +1,56 @@
+#
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# T2 SDE: package/.../glibc/nscd.conf
+# Copyright (C) 2004 - 2005 The T2 SDE Project
+# Copyright (C) 1998 - 2003 ROCK Linux Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License. A copy of the
+# GNU General Public License can be found in the file COPYING.
+# --- T2-COPYRIGHT-NOTE-END ---
+
+#
+# An example Name Service Cache config file. This file is needed by nscd.
+#
+# Legal entries are:
+#
+# logfile <file>
+# debug-level <level>
+# threads <#threads to use>
+#
+# enable-cache <service> <yes|no>
+# positive-time-to-live <service> <time in seconds>
+# negative-time-to-live <service> <time in seconds>
+# suggested-size <service> <prime number>
+# check-files <service> <yes|no>
+#
+# Currently supported cache names (services): passwd, group, hosts
+#
+
+# logfile /var/log/nscd.log
+# threads 6
+
+ debug-level 0
+
+ enable-cache passwd yes
+ positive-time-to-live passwd 600
+ negative-time-to-live passwd 20
+ suggested-size passwd 211
+ check-files passwd yes
+
+ enable-cache group yes
+ positive-time-to-live group 3600
+ negative-time-to-live group 60
+ suggested-size group 211
+ check-files group yes
+
+ enable-cache hosts yes
+ positive-time-to-live hosts 3600
+ negative-time-to-live hosts 20
+ suggested-size hosts 211
+ check-files hosts yes
Index: architecture/mips64/package/glibc/glibc.desc
===================================================================
--- architecture/mips64/package/glibc/glibc.desc (revision 0)
+++ architecture/mips64/package/glibc/glibc.desc (revision 0)
@@ -0,0 +1,45 @@
+[COPY] --- T2-COPYRIGHT-NOTE-BEGIN ---
+[COPY] This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+[COPY]
+[COPY] T2 SDE: package/.../glibc/glibc.desc
+[COPY] Copyright (C) 2004 - 2011 The T2 SDE Project
+[COPY] Copyright (C) 1998 - 2003 ROCK Linux Project
+[COPY]
+[COPY] More information can be found in the files COPYING and README.
+[COPY]
+[COPY] This program is free software; you can redistribute it and/or modify
+[COPY] it under the terms of the GNU General Public License as published by
+[COPY] the Free Software Foundation; version 2 of the License. A copy of the
+[COPY] GNU General Public License can be found in the file COPYING.
+[COPY] --- T2-COPYRIGHT-NOTE-END ---
+
+[I] The GNU C library
+
+[T] GNU C library (glibc) defines the ``system calls'' and other
+[T] basic facilities such as open, malloc, printf,
+[T] exit... It is used by almost all C programs and provides
+[T] the most essential program interface.
+
+[U] http://www.gnu.org/software/libc/
+
+[A] The GNU Project / FSF
+[M] Rene Rebe <[email protected]>
+
+[C] base/library
+[E] group libc
+[E] del libgd
+[F] CROSS LIBC NO-AS-NEEDED NO-SSP
+#[F] CROSS LIBC NO-AS-NEEDED NO-SSP NOPARALLEL
+
+[R] - avr32 blackfin
+
+# For mips the current glibc version 2.17 was not building
+# the older 2.13 had no trouble
+[L] GPL
+[S] Stable
+[V] 2.13
+[P] X 01---5---9 101.600
+
+[D] 3619450188 glibc-2.13.tar.bz2 http://ftp.gnu.org/pub/gnu/glibc/
+[D] 3649139458 glibc-ports-2.13.tar.bz2 http://ftp.gnu.org/pub/gnu/glibc/
+[D] 4061663788 glibc-libidn-2.10.1.tar.gz http://ftp.gnu.org/gnu/glibc/
Index: architecture/mips64/package/glibc/gcc_eh.patch.cross
===================================================================
--- architecture/mips64/package/glibc/gcc_eh.patch.cross (revision 0)
+++ architecture/mips64/package/glibc/gcc_eh.patch.cross (revision 0)
@@ -0,0 +1,17 @@
+--- glibc-2.13/Makeconfig.vanilla 2013-07-11 11:29:46.261161507 -0400
++++ glibc-2.13/Makeconfig 2013-07-11 11:31:48.971480681 -0400
+@@ -547,12 +547,12 @@
+ libunwind = -lunwind
+ endif
+ ifneq ($(have-as-needed),yes)
+- libgcc_eh := -lgcc_eh $(libunwind)
++ libgcc_eh := $(libunwind)
+ else
+ libgcc_eh := -Wl,--as-needed -lgcc_s$(libgcc_s_suffix) $(libunwind)
-Wl,--no-as-needed
+ endif
+ gnulib := -lgcc $(libgcc_eh)
+-static-gnulib := -lgcc -lgcc_eh $(libunwind)
++static-gnulib := -lgcc $(libunwind)
+ libc.so-gnulib := -lgcc
+ endif
+ ifeq ($(elf),yes)
Index: architecture/mips64/package/glibc32/glibc32.desc
===================================================================
--- architecture/mips64/package/glibc32/glibc32.desc (revision 0)
+++ architecture/mips64/package/glibc32/glibc32.desc (revision 0)
@@ -0,0 +1,40 @@
+[COPY] --- T2-COPYRIGHT-NOTE-BEGIN ---
+[COPY] This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+[COPY]
+[COPY] T2 SDE: package/.../glibc32/glibc32.desc
+[COPY] Copyright (C) 2004 - 2011 The T2 SDE Project
+[COPY]
+[COPY] More information can be found in the files COPYING and README.
+[COPY]
+[COPY] This program is free software; you can redistribute it and/or modify
+[COPY] it under the terms of the GNU General Public License as published by
+[COPY] the Free Software Foundation; version 2 of the License. A copy of the
+[COPY] GNU General Public License can be found in the file COPYING.
+[COPY] --- T2-COPYRIGHT-NOTE-END ---
+
+[I] The GNU C library 32bit compatbility version for 64bit systems
+
+[T] GNU C library (glibc) defines the ``system calls'' and other
+[T] basic facilities such as open, malloc, printf,
+[T] exit... It is used by almost all C programs and provides
+[T] the most essential program interface.
+
+[U] http://www.gnu.org/software/libc/
+
+[A] The GNU Project / FSF
+[M] Rene Rebe <[email protected]>
+
+[C] base/library
+[E] del libgd
+[F] CROSS NO-SSP
+
+[R] + x86-64 sparc64 powerpc64 hppa64 mips64
+
+[L] GPL
+[S] Stable
+[V] 2.13
+[P] X -1---5---9 101.600
+
+[D] 3619450188 glibc-2.13.tar.bz2 http://ftp.gnu.org/pub/gnu/glibc/
+[D] 3649139458 glibc-ports-2.13.tar.bz2 http://ftp.gnu.org/pub/gnu/glibc/
+[D] 4061663788 glibc-libidn-2.10.1.tar.gz http://ftp.gnu.org/gnu/glibc/
Index: architecture/mips64/package/glibc32/glibc32.conf
===================================================================
--- architecture/mips64/package/glibc32/glibc32.conf (revision 0)
+++ architecture/mips64/package/glibc32/glibc32.conf (revision 0)
@@ -0,0 +1,82 @@
+# --- T2-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# T2 SDE: package/.../glibc32/glibc32.conf
+# Copyright (C) 2004 - 2009 The T2 SDE Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License. A copy of the
+# GNU General Public License can be found in the file COPYING.
+# --- T2-COPYRIGHT-NOTE-END ---
+
+if [[ $arch_target = *mips* ]]; then
+ # -m32 option is not a legal option for mips
+ var_remove GCC_WRAPPER_INSERT ' ' '-m32'
+ # force 32 bit code
+ var_insert GCC_WRAPPER_INSERT " " "-mabi=32"
+ configprefix='CFLAGS="$CFLAGS -g -DNDEBUG=1" CPPFLAGS="-mabi=32"'
+ # not sure if these help or not
+ #var_insert GCC_WRAPPER_INSERT " " "-mlong32"
+ #var_insert GCC_WRAPPER_INSERT " " "-mgp32"
+else
+ # we need -m32 ... - still needed?
+ var_insert GCC_WRAPPER_INSERT " " "-m32"
+fi
+
+arch_target="`echo $arch_target | arch2arch32`"
+echo_status "Set arch_target to $arch_target ..."
+set_confopt
+
+# force minimal optimization due TLS
+[ "$SDECFG_X8664_OPT" = "generic" ] && var_append GCC_WRAPPER_INSERT " "
"-march=i686"
+
+# do what glibc does
+#. $base/package/*/glibc/glibc.conf
+# Did not work when glibc has overrides in arch/package
+. $confdir/../glibc/glibc.conf
+
+# a bit hacky - might need/get a cleanup ...
+var_append patchfiles " " "`ls $confdir/../glibc/*.patch`"
+if ! atstage native; then
+ var_append patchfiles " " "`ls $confdir/../glibc/*.patch.cross`"
+fi
+
+# do not build the programs
+hook_add premake 5 "cat > configparms <<-EOT
+build-programs=no
+EOT
+"
+
+var_remove makeinstopt ' ' 'install'
+var_append makeinstopt ' ' 'install-lib-all'
+
+libdir=${libdir%64}
+slibdir=lib
+
+# glibc installs some headers it should not
+var_append INSTALL_WRAPPER_FILTER "|" "sed -e
's,.*usr/include/.*\.h,/tmp/weg.h,'"
+
+# and last overwrite the postmake function to do less stuff
+
+glibc_postmake()
+{
+ # No wrong absolute path in libc.so
+ # Obsolete? -ReneR
+ #
+ if ! atstage native; then
+ libcso=$root/usr/$slibdir/libc.so
+ sed 's,/[^ ]*/,,g' < $libcso > $libcso.new
+ mv $libcso.new $libcso
+ fi
+
+ # Create /lib/ld-lsb.so.1 symlink
+ #
+ if [ -f $root/$slibdir/ld-linux-$arch_machine.so.2 ] ; then
+ ln -vfs ld-linux-$arch_machine.so.2 $root/$slibdir/ld-lsb.so.1
+ elif [ -f $root/$slibdir/ld-linux.so.2 ] ; then
+ ln -vfs ld-linux.so.2 $root/$slibdir/ld-lsb.so.1
+ fi
+}
Index: architecture/mips64/package/glibc32/make-install-lib-all.patch
===================================================================
--- architecture/mips64/package/glibc32/make-install-lib-all.patch
(revision 0)
+++ architecture/mips64/package/glibc32/make-install-lib-all.patch
(revision 0)
@@ -0,0 +1,40 @@
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2