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

Reply via email to