From a3edea1b9136b05edfed95b58ba33a9ff46b6587 Mon Sep 17 00:00:00 2001 From: Nicolas Thill Date: Thu, 8 Jan 2009 01:49:11 +0000 Subject: 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) SVN-Revision: 13931 --- .../patches/2.3.6/001-make_install_lib_all.patch | 26 +++++++++++++++ .../002-mips_bootstrap_gcc_header_install.patch | 37 ++++++++++++++++++++++ .../2.3.6/601-powerpc_socket_week_alias.patch | 22 +++++++++++++ .../2.3.6/602-powerpc_cflags_initfini.patch | 12 +++++++ 4 files changed, 97 insertions(+) create mode 100644 toolchain/glibc/patches/2.3.6/001-make_install_lib_all.patch create mode 100644 toolchain/glibc/patches/2.3.6/002-mips_bootstrap_gcc_header_install.patch create mode 100644 toolchain/glibc/patches/2.3.6/601-powerpc_socket_week_alias.patch create mode 100644 toolchain/glibc/patches/2.3.6/602-powerpc_cflags_initfini.patch (limited to 'toolchain/glibc/patches') 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 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" +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 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. -- cgit v1.2.3