aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/glibc/patches
diff options
context:
space:
mode:
authorNicolas Thill <nico@openwrt.org>2009-01-08 01:49:11 +0000
committerNicolas Thill <nico@openwrt.org>2009-01-08 01:49:11 +0000
commit3b75e47f8f0d1db7575f0824f7a2469e2e8af7cf (patch)
treee9676ee4d01368996c17caf45fd31f861e3686af /toolchain/glibc/patches
parentec57cd80ccfc739b1d9856e7f2191d12ef568aeb (diff)
downloadupstream-3b75e47f8f0d1db7575f0824f7a2469e2e8af7cf.tar.gz
upstream-3b75e47f8f0d1db7575f0824f7a2469e2e8af7cf.tar.bz2
upstream-3b75e47f8f0d1db7575f0824f7a2469e2e8af7cf.zip
[massive] add support for alternative C libraries (currently only glibc/eglibc)
other (related) changes: - kernel headers are now installed using "make headers_install" on 2.6 - target names now contain an openwrt "vendor" tag (e.g. mips-openwrt-linux-gnu) - build directory names now contain gcc/libc name/version - default cpu for x86 is now i486 (required to build glibc/eglibc) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13931 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/glibc/patches')
-rw-r--r--toolchain/glibc/patches/2.3.6/001-make_install_lib_all.patch26
-rw-r--r--toolchain/glibc/patches/2.3.6/002-mips_bootstrap_gcc_header_install.patch37
-rw-r--r--toolchain/glibc/patches/2.3.6/601-powerpc_socket_week_alias.patch22
-rw-r--r--toolchain/glibc/patches/2.3.6/602-powerpc_cflags_initfini.patch12
4 files changed, 97 insertions, 0 deletions
diff --git a/toolchain/glibc/patches/2.3.6/001-make_install_lib_all.patch b/toolchain/glibc/patches/2.3.6/001-make_install_lib_all.patch
new file mode 100644
index 0000000000..1e69bb2335
--- /dev/null
+++ b/toolchain/glibc/patches/2.3.6/001-make_install_lib_all.patch
@@ -0,0 +1,26 @@
+From http://svn.exactcode.de/t2/trunk/package/base/glibc32/make-install-lib-all.patch
+Rule to install all needed libraries, not just the ones installed by install-lib,
+yet not install programs.
+Needed because we can't use the main install target, as we can't build programs before
+we have the final gcc installed; linking fails because libeh.a is not present,
+and glibc insists on linking programs with that library.
+
+diff -Naur glibc-2.3.4.orig/Makerules glibc-2.3.4/Makerules
+--- glibc-2.3.4.orig/Makerules 2004-12-15 20:52:39.000000000 +0200
++++ glibc-2.3.4/Makerules 2005-02-19 15:16:31.415125176 +0200
+@@ -844,6 +844,13 @@
+ installed-libcs := $(foreach o,$(filter-out .os,$(object-suffixes-for-libc)),\
+ $(inst_libdir)/$(patsubst %,$(libtype$o),\
+ $(libprefix)$(libc-name)))
++
++install-lib-all: $(inst_slibdir)/libc.so$(libc.so-version) \
++ $(inst_slibdir)/libc-$(version).so \
++ $(inst_libdir)/libc.so \
++ $(inst_libdir)/libc.a \
++ install-lib
++
+ install: $(installed-libcs)
+ $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force)
+ $(make-target-directory)
+
+Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
diff --git a/toolchain/glibc/patches/2.3.6/002-mips_bootstrap_gcc_header_install.patch b/toolchain/glibc/patches/2.3.6/002-mips_bootstrap_gcc_header_install.patch
new file mode 100644
index 0000000000..2fd72f8b27
--- /dev/null
+++ b/toolchain/glibc/patches/2.3.6/002-mips_bootstrap_gcc_header_install.patch
@@ -0,0 +1,37 @@
+http://sourceware.org/ml/crossgcc/2005-05/msg00165.html
+Fixes a MIPS build problem (unrelated to NPTL)
+
+Message-ID: <428E8B24.1000201@realitydiluted.com>
+Date: Fri, 20 May 2005 20:13:08 -0500
+From: "Steven J dot Hill" <sjhill at realitydiluted dot com>
+To: crossgcc at sources dot redhat dot com, toolchain at gentoo dot org,
+ Shay_Gal-On at pmc-sierra dot com, TheNop at gmx dot net
+Subject: New NPTL patches for crosstools and MIPS NPTL patches....
+
+Greetings.
+
+I have uploaded the latest NPTL patch for crosstool-0.34. I have also
+uploaded a tarball of the patches necessary to build a MIPS NPTL
+cross toolchain. To build a MIPS NPTL toolchain you will need the
+released version of binutils-2.16 and the absolute latest GCC and
+glibc code from the HEAD of cvs. Use the 'demo-mips-nptl.sh' script
+to build the toolchain. Please report bugs or issues to the crossgcc
+mailing list. Here is the link off of my FTP site:
+
+ ftp://ftp.realitydiluted.com/crosstools/crosstool-0.34/
+
+[Note: BOOTSTRAP_GCC is set by crosstool.sh when invoking make install-headers]
+
+diff -ur glibc-2.4.0-20050406/sysdeps/mips/mips32/Makefile glibc-2.4.0-20050406-patched/sysdeps/mips/mips32/Makefile
+--- glibc-2.4.0-20050406/sysdeps/mips/mips32/Makefile 2003-03-29 02:15:28.000000000 -0600
++++ glibc-2.4.0-20050406-patched/sysdeps/mips/mips32/Makefile 2005-04-12 21:36:51.318837655 -0500
+@@ -1,3 +1,7 @@
++ifeq ($(filter -DBOOTSTRAP_GCC,$(CFLAGS)),)
+ ifeq ($(filter -mabi=32,$(CC)),)
+ CC += -mabi=32
+ endif
++else
++CC += -D"_MIPS_SZPTR=32"
++endif
+
+Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
diff --git a/toolchain/glibc/patches/2.3.6/601-powerpc_socket_week_alias.patch b/toolchain/glibc/patches/2.3.6/601-powerpc_socket_week_alias.patch
new file mode 100644
index 0000000000..7a7a4b19dd
--- /dev/null
+++ b/toolchain/glibc/patches/2.3.6/601-powerpc_socket_week_alias.patch
@@ -0,0 +1,22 @@
+diff -ruN glibc-2.3.6-orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S glibc-2.3.6/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S
+--- glibc-2.3.6-orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S 2003-07-12 00:46:12.000000000 +0200
++++ glibc-2.3.6/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S 2008-11-10 16:02:12.760497684 +0100
+@@ -42,7 +42,11 @@
+ #define stackblock 20
+
+ #ifndef __socket
++#ifndef NO_WEAK_ALIAS
+ #define __socket P(__,socket)
++#else
++#define __socket socket
++#endif
+ #endif
+
+ .text
+@@ -120,4 +124,6 @@
+
+ PSEUDO_END (__socket)
+
++#ifndef NO_WEAK_ALIAS
+ weak_alias (__socket, socket)
++#endif
diff --git a/toolchain/glibc/patches/2.3.6/602-powerpc_cflags_initfini.patch b/toolchain/glibc/patches/2.3.6/602-powerpc_cflags_initfini.patch
new file mode 100644
index 0000000000..2dcb793e82
--- /dev/null
+++ b/toolchain/glibc/patches/2.3.6/602-powerpc_cflags_initfini.patch
@@ -0,0 +1,12 @@
+diff -ruN glibc-2.3.6-orig/sysdeps/powerpc/powerpc32/Makefile glibc-2.3.6/sysdeps/powerpc/powerpc32/Makefile
+--- glibc-2.3.6-orig/sysdeps/powerpc/powerpc32/Makefile 2003-07-12 00:46:12.000000000 +0200
++++ glibc-2.3.6/sysdeps/powerpc/powerpc32/Makefile 2008-11-10 16:02:12.760497684 +0100
+@@ -21,7 +21,7 @@
+ ifneq ($(elf),no)
+ # The initfini generation code doesn't work in the presence of -fPIC, so
+ # we use -fpic instead which is much better.
+-CFLAGS-initfini.s = -g0 -fpic -O1
++CFLAGS-initfini.s = -fpic -O1 $(fno-unit-at-a-time)
+
+ # There is no benefit to using sdata for these objects, and the user
+ # of the library should be able to control what goes into sdata.