Is there any reason why we don't upgrade gcc and binutils?
2006-3-17 Lior
* Makefile.am: Replace --without-fp with --with-float=soft according
to GCC manual.
Add LDFLAGS to own applications.
* configure.ac: Remove -mmultiple, -mstring and -meabi from
TARGET_CFLAGS, since -mmultiple and -mstring are already set when -mcpu=823 is specified.
-meabi makes sense for powerpc-*-eabi targets but not for powerpc-*-linux.
Remove -s from TARGET_LDFLAGS, since binaries will be stripped anyway
during flash-lib.
Add -Wl,-O1 (cheap prelink) to TARGET_LDFLAGS.
* rules.archive: Bump to gcc-3.4.5 and binutils-2.16.91.0.6.
* rules-make: Likewise.
* Patches/glibc.diff: Make glibc-2.3.6 build with binutils-2.16.91.0.6.
(glibc and binutils guys are throwing the ball to each other for that!)
Code: Alles auswählen
Index: Makefile.am
===================================================================
RCS file: /cvs/tuxbox/cdk/Makefile.am,v
retrieving revision 1.494
diff -u -r1.494 Makefile.am
--- a/Makefile.am 21 Feb 2006 23:11:04 -0000 1.494
+++ b/Makefile.am 17 Mar 2006 22:20:42 -0000
@@ -159,7 +159,7 @@
--disable-shared \
--disable-threads \
--disable-nls \
- --without-fp && \
+ --with-float=soft && \
$(MAKE) all && \
@INSTALL_bootstrap_gcc@
rm -rf $(hostprefix)/$(target)/sys-include
@@ -247,7 +247,7 @@
--enable-shared \
--enable-threads \
--disable-nls \
- --without-fp && \
+ --with-float=soft && \
$(MAKE) all && \
@INSTALL_gcc@
rm -rf $(hostprefix)/$(target)/sys-include
@@ -1643,6 +1643,7 @@
CXX=$(target)-g++ \
CFLAGS="-Wall $(TARGET_CFLAGS)" \
CXXFLAGS="-Wall $(TARGET_CXXFLAGS)" \
+ LDFLAGS="$(TARGET_LDFLAGS)" \
./configure $(CONFIGURE_OPTS) $(CONFIGURE_OPTS_MAINTAINER) $(CONFIGURE_OPTS_DEBUG)
# dvb/config
Index: configure.ac
===================================================================
RCS file: /cvs/tuxbox/cdk/configure.ac,v
retrieving revision 1.156
diff -u -r1.156 configure.ac
--- a/configure.ac 21 Feb 2006 23:11:04 -0000 1.156
+++ b/configure.ac 17 Mar 2006 22:20:42 -0000
@@ -93,13 +93,13 @@
fi
if test -z "$TARGET_CFLAGS" -o -z "$TARGET_CXXFLAGS"; then
- TARGET_CFLAGS="-mcpu=$CPU_MODEL -mmultiple -mstring -meabi -pipe"
+ TARGET_CFLAGS="-mcpu=$CPU_MODEL -pipe"
if test "$TARGETRULESET" = "standard"; then
TARGET_CFLAGS="$TARGET_CFLAGS -O2 -g3 -gdwarf-2"
TARGET_LDFLAGS=""
elif test "$TARGETRULESET" = "flash"; then
TARGET_CFLAGS="$TARGET_CFLAGS -Os"
- TARGET_LDFLAGS="-s"
+ TARGET_LDFLAGS="-Wl,-O1"
fi
TARGET_CXXFLAGS="$TARGET_CFLAGS"
fi
Index: rules-archive
===================================================================
RCS file: /cvs/tuxbox/cdk/rules-archive,v
retrieving revision 1.317
diff -u -r1.317 rules-archive
--- a/rules-archive 17 Mar 2006 09:34:40 -0000 1.317
+++ b/rules-archive 17 Mar 2006 22:20:42 -0000
@@ -14,9 +14,9 @@
linux-2.6.15.tar.bz2;ftp://ftp.de.kernel.org/pub/linux/kernel/v2.6;ftp://ftp.kernel.org/pub/linux/kernel/v2.6
cifs-1.20c-2.4.tar.gz;http://us1.samba.org/samba/ftp/cifs-cvs
linux-2.4.32-dbox2-mtd0305.diff.bz2
-binutils-2.15.91.0.2.tar.bz2;ftp://ftp.de.kernel.org/pub/linux/devel/binutils;ftp://ftp.kernel.org/pub/linux/devel/binutils
-gcc-core-3.4.4.tar.bz2;ftp://$(gnuserver)/../../../gcc/releases/gcc-3.4.4
-gcc-g++-3.4.4.tar.bz2;ftp://$(gnuserver)/../../../gcc/releases/gcc-3.4.4
+binutils-2.16.91.0.6.tar.bz2;http://www.kernel.org/pub/linux/devel/binutils
+gcc-core-3.4.5.tar.bz2;ftp://$(gnuserver)/../../../gcc/releases/gcc-3.4.5
+gcc-g++-3.4.5.tar.bz2;ftp://$(gnuserver)/../../../gcc/releases/gcc-3.4.5
glibc-2.3.6.tar.bz2;ftp://ftp.gnu.org/gnu/glibc
glibc-linuxthreads-2.3.6.tar.bz2;ftp://ftp.gnu.org/gnu/glibc
uClibc-0.9.11.tar.bz2
Index: rules-make
===================================================================
RCS file: /cvs/tuxbox/cdk/rules-make,v
retrieving revision 1.340
diff -u -r1.340 rules-make
--- a/rules-make 4 Mar 2006 20:29:36 -0000 1.340
+++ b/rules-make 17 Mar 2006 22:20:43 -0000
@@ -1,4 +1,4 @@
-# make rules for cdk
+2.16.91.0.6# make rules for cdk
#
# fields (separated by ';')
# name
@@ -15,9 +15,9 @@
uboot;1.1.4;u-boot-1.1.4;u-boot-1.1.4.tar.bz2:u-boot-1.1.4.diff;extract:u-boot-1.1.4.tar.bz2;patch:u-boot-1.1.4.diff
linux24;2.4.32-dbox2;linux-2.4.32;linux-2.4.32.tar.bz2:cifs-1.20c-2.4.tar.gz:linux-2.4.32-dbox2-mtd0305.diff.bz2;remove:linux;extract:linux-2.4.32.tar.bz2;patch:linux-2.4.32-dbox2.diff;patch:linux-2.4.32-dbox2-shift.diff;patch:linux-2.4.32-dbox2-keyboard.diff;patch:linux-2.4.32-dbox2-v4l2.diff;patch:linux-2.4.32-dbox2-cramfs.diff;patch:linux-2.4.32-dbox2-lufs.diff;patch:linux-2.4.32-dbox2-mtd0305.diff.bz2;extract:cifs-1.20c-2.4.tar.gz;move:linux/fs/cifs:linux-2.4.32/fs/;patch:../linux/cifs_24.patch;remove:linux;patch:fb_accel_id.diff;patch:squashfs2.2r2-patch;patch:linux-2.4.32-dbox2-badram.diff;link:linux-2.4.32:linux
linux;2.6.15-dbox2;linux-2.6.15;linux-2.6.15.tar.bz2:linux-2.6.15-dbox2.diff;remove:linux;extract:linux-2.6.15.tar.bz2;patch:linux-2.6.15-dbox2.diff;link:linux-2.6.15:linux
-binutils;2.15.91.0.2;binutils-2.15.91.0.2;binutils-2.15.91.0.2.tar.bz2;extract:binutils-2.15.91.0.2.tar.bz2
-bootstrap_gcc;3.4.4;gcc-3.4.4;gcc-core-3.4.4.tar.bz2;extract:gcc-core-3.4.4.tar.bz2
-gcc;3.4.4;gcc-3.4.4;gcc-core-3.4.4.tar.bz2:gcc-g++-3.4.4.tar.bz2:gcc-core.diff;extract:gcc-core-3.4.4.tar.bz2;extract:gcc-g++-3.4.4.tar.bz2;patch:gcc-core.diff
+binutils;2.16.91.0.6;binutils-2.16.91.0.6;binutils-2.16.91.0.6.tar.bz2;extract:binutils-2.16.91.0.6.tar.bz2
+bootstrap_gcc;3.4.5;gcc-3.4.5;gcc-core-3.4.5.tar.bz2;extract:gcc-core-3.4.5.tar.bz2
+gcc;3.4.5;gcc-3.4.5;gcc-core-3.4.5.tar.bz2:gcc-g++-3.4.5.tar.bz2:gcc-core.diff;extract:gcc-core-3.4.5.tar.bz2;extract:gcc-g++-3.4.5.tar.bz2;patch:gcc-core.diff
glibc;2.3.6;glibc-2.3.6;glibc-2.3.6.tar.bz2:glibc-linuxthreads-2.3.6.tar.bz2:glibc.diff;extract:glibc-2.3.6.tar.bz2;dirextract:glibc-linuxthreads-2.3.6.tar.bz2;patch:glibc.diff
uclibc;0.9.11;uClibc-0.9.11;uClibc-0.9.11.tar.bz2:uclibc-0.9.11.diff;extract:uClibc-0.9.11.tar.bz2;patch:uclibc-0.9.11.diff
Index: Patches/glibc.diff
===================================================================
RCS file: /cvs/tuxbox/cdk/Patches/glibc.diff,v
retrieving revision 1.8
diff -u -r1.8 glibc.diff
--- a/Patches/glibc.diff 29 Oct 2005 07:07:52 -0000 1.8
+++ b/Patches/glibc.diff 17 Mar 2006 22:20:43 -0000
@@ -1,6 +1,6 @@
-diff -Naur glibc-2.3.5.orig/Makeconfig glibc-2.3.5/Makeconfig
---- glibc-2.3.5.orig/Makeconfig 2005-02-16 11:50:19.000000000 +0100
-+++ glibc-2.3.5/Makeconfig 2005-10-29 08:51:16.000000000 +0200
+diff -Naur glibc-2.3.6/Makeconfig glibc-2.3.6~/Makeconfig
+--- glibc-2.3.6/Makeconfig 2005-02-16 11:50:19.000000000 +0100
++++ glibc-2.3.6~/Makeconfig 2006-03-17 00:05:04.000000000 +0100
@@ -503,12 +503,12 @@
libunwind = -lunwind
endif
@@ -16,9 +16,9 @@
libc.so-gnulib := -lgcc
endif
ifeq ($(elf),yes)
-diff -Naur glibc-2.3.5.orig/sysdeps/powerpc/powerpc32/memset.S glibc-2.3.5/sysdeps/powerpc/powerpc32/memset.S
---- glibc-2.3.5.orig/sysdeps/powerpc/powerpc32/memset.S 2003-04-30 00:47:19.000000000 +0200
-+++ glibc-2.3.5/sysdeps/powerpc/powerpc32/memset.S 1970-01-01 01:00:00.000000000 +0100
+diff -Naur glibc-2.3.6/sysdeps/powerpc/powerpc32/memset.S glibc-2.3.6~/sysdeps/powerpc/powerpc32/memset.S
+--- glibc-2.3.6/sysdeps/powerpc/powerpc32/memset.S 2003-04-30 00:47:19.000000000 +0200
++++ glibc-2.3.6~/sysdeps/powerpc/powerpc32/memset.S 1970-01-01 01:00:00.000000000 +0100
@@ -1,335 +0,0 @@
-/* Optimized memset implementation for PowerPC.
- Copyright (C) 1997, 1999, 2000, 2003 Free Software Foundation, Inc.
@@ -355,3 +355,71 @@
-
-END (BP_SYM (memset))
-libc_hidden_builtin_def (memset)
+diff -Naur glibc-2.3.6/sysdeps/unix/sysv/linux/bind.S glibc-2.3.6~/sysdeps/unix/sysv/linux/bind.S
+--- glibc-2.3.6/sysdeps/unix/sysv/linux/bind.S 2002-05-15 02:17:25.000000000 +0200
++++ glibc-2.3.6~/sysdeps/unix/sysv/linux/bind.S 2006-03-17 00:11:21.000000000 +0100
+@@ -2,4 +2,4 @@
+ #define NARGS 3
+ #define NO_WEAK_ALIAS 1
+ #include <socket.S>
+-weak_alias (bind, __bind)
++weak_alias (__bind, bind)
+diff -Naur glibc-2.3.6/sysdeps/unix/sysv/linux/getsockname.S glibc-2.3.6~/sysdeps/unix/sysv/linux/getsockname.S
+--- glibc-2.3.6/sysdeps/unix/sysv/linux/getsockname.S 2002-05-15 02:17:58.000000000 +0200
++++ glibc-2.3.6~/sysdeps/unix/sysv/linux/getsockname.S 2006-03-17 00:11:21.000000000 +0100
+@@ -2,4 +2,4 @@
+ #define NARGS 3
+ #define NO_WEAK_ALIAS 1
+ #include <socket.S>
+-weak_alias (getsockname, __getsockname)
++weak_alias (__getsockname, getsockname)
+diff -Naur glibc-2.3.6/sysdeps/unix/sysv/linux/listen.S glibc-2.3.6~/sysdeps/unix/sysv/linux/listen.S
+--- glibc-2.3.6/sysdeps/unix/sysv/linux/listen.S 2002-05-15 02:18:37.000000000 +0200
++++ glibc-2.3.6~/sysdeps/unix/sysv/linux/listen.S 2006-03-17 00:11:21.000000000 +0100
+@@ -2,4 +2,4 @@
+ #define NARGS 2
+ #define NO_WEAK_ALIAS 1
+ #include <socket.S>
+-weak_alias (listen, __listen)
++weak_alias (__listen, listen)
+diff -Naur glibc-2.3.6/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S glibc-2.3.6~/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S
+--- glibc-2.3.6/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 2006-03-17 00:11:21.000000000 +0100
+@@ -116,4 +116,6 @@
+
+ PSEUDO_END (__socket)
+
++#ifndef NO_WEAK_ALIAS
+ weak_alias (__socket, socket)
++#endif
+diff -Naur glibc-2.3.6/sysdeps/unix/sysv/linux/setsockopt.S glibc-2.3.6~/sysdeps/unix/sysv/linux/setsockopt.S
+--- glibc-2.3.6/sysdeps/unix/sysv/linux/setsockopt.S 2002-05-15 02:19:09.000000000 +0200
++++ glibc-2.3.6~/sysdeps/unix/sysv/linux/setsockopt.S 2006-03-17 00:11:21.000000000 +0100
+@@ -2,4 +2,4 @@
+ #define NARGS 5
+ #define NO_WEAK_ALIAS 1
+ #include <socket.S>
+-weak_alias (setsockopt, __setsockopt)
++weak_alias (__setsockopt, setsockopt)
+diff -Naur glibc-2.3.6/sysdeps/wordsize-32/Makefile glibc-2.3.6~/sysdeps/wordsize-32/Makefile
+--- glibc-2.3.6/sysdeps/wordsize-32/Makefile 2002-09-19 08:47:56.000000000 +0200
++++ glibc-2.3.6~/sysdeps/wordsize-32/Makefile 2006-03-17 00:11:21.000000000 +0100
+@@ -2,5 +2,6 @@
+ ifeq (yes,$(build-shared))
+ sysdep_routines += divdi3
+ shared-only-routines += divdi3
++CPPFLAGS-divdi3.c = -Din_divdi3_c
+ endif
+ endif
+diff -Naur glibc-2.3.6/sysdeps/wordsize-32/symbol-hacks.h glibc-2.3.6~/sysdeps/wordsize-32/symbol-hacks.h
+--- glibc-2.3.6/sysdeps/wordsize-32/symbol-hacks.h 2004-03-08 21:59:34.000000000 +0100
++++ glibc-2.3.6~/sysdeps/wordsize-32/symbol-hacks.h 2006-03-17 00:11:21.000000000 +0100
+@@ -22,7 +22,7 @@
+ therefore we get PLTs. Unnecessarily so. Changing gcc is a big
+ task which might not be worth it so we play tricks with the
+ assembler. */
+-#if !defined __ASSEMBLER__ && !defined NOT_IN_libc && defined SHARED
++#if !defined __ASSEMBLER__ && !defined in_divdi3_c && !defined NOT_IN_libc && defined SHARED
+ asm ("__divdi3 = __divdi3_internal");
+ asm ("__udivdi3 = __udivdi3_internal");
+ asm ("__moddi3 = __moddi3_internal");