diff --git a/pkgs/development/compilers/gcc-4.5/default.nix b/pkgs/development/compilers/gcc-4.5/default.nix index 7ddbfa848d1..db6417e3795 100644 --- a/pkgs/development/compilers/gcc-4.5/default.nix +++ b/pkgs/development/compilers/gcc-4.5/default.nix @@ -41,7 +41,7 @@ assert libelf != null -> zlib != null; with stdenv.lib; with builtins; -let version = "4.5.0"; +let version = "4.5.1"; javaEcj = fetchurl { # The `$(top_srcdir)/ecj.jar' file is automatically picked up at # `configure' time. @@ -136,7 +136,7 @@ stdenv.mkDerivation ({ }; patches = - [ ./softfp-hurd.patch ./dragonegg-2.7.patch ] + [ ] ++ optional (cross != null) ./libstdc++-target.patch ++ optional noSysDirs ./no-sys-dirs.patch # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its diff --git a/pkgs/development/compilers/gcc-4.5/dragonegg-2.7.patch b/pkgs/development/compilers/gcc-4.5/dragonegg-2.7.patch deleted file mode 100644 index 6b37672ddef..00000000000 --- a/pkgs/development/compilers/gcc-4.5/dragonegg-2.7.patch +++ /dev/null @@ -1,46 +0,0 @@ -Index: mainline/gcc/config/i386/i386.c -=================================================================== ---- mainline.orig/gcc/config/i386/i386.c 2010-04-02 09:11:58.733574308 +0200 -+++ mainline/gcc/config/i386/i386.c 2010-04-02 09:29:11.276111437 +0200 -@@ -4992,7 +4992,8 @@ - case, we return the original mode and warn ABI change if CUM isn't - NULL. */ - --static enum machine_mode -+extern enum machine_mode type_natural_mode (const_tree, CUMULATIVE_ARGS *); -+enum machine_mode - type_natural_mode (const_tree type, CUMULATIVE_ARGS *cum) - { - enum machine_mode mode = TYPE_MODE (type); -@@ -5123,7 +5124,9 @@ - See the x86-64 PS ABI for details. - */ - --static int -+extern int classify_argument (enum machine_mode, const_tree, -+ enum x86_64_reg_class [MAX_CLASSES], int); -+int - classify_argument (enum machine_mode mode, const_tree type, - enum x86_64_reg_class classes[MAX_CLASSES], int bit_offset) - { -@@ -5504,7 +5507,9 @@ - - /* Examine the argument and return set number of register required in each - class. Return 0 iff parameter should be passed in memory. */ --static int -+extern int examine_argument (enum machine_mode, const_tree, int, -+ int *, int *); -+int - examine_argument (enum machine_mode mode, const_tree type, int in_return, - int *int_nregs, int *sse_nregs) - { -@@ -6186,7 +6191,8 @@ - - /* Return true when TYPE should be 128bit aligned for 32bit argument passing - ABI. */ --static bool -+extern bool contains_aligned_value_p (tree); -+bool - contains_aligned_value_p (tree type) - { - enum machine_mode mode = TYPE_MODE (type); diff --git a/pkgs/development/compilers/gcc-4.5/softfp-hurd.patch b/pkgs/development/compilers/gcc-4.5/softfp-hurd.patch deleted file mode 100644 index 7e2a8a9c290..00000000000 --- a/pkgs/development/compilers/gcc-4.5/softfp-hurd.patch +++ /dev/null @@ -1,32 +0,0 @@ -This patch fixes undefined references to softp symbols (__multf3, __fixunstfsi, -__subtf3, etc.) in libgcc_s.so on GNU/Hurd. - -Taken from , with second -hunk adjusted so that it applies to GCC 4.5.0. - -diff --git a/gcc/config.gcc b/gcc/config.gcc -index 9e499cb..9aec392 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -3070,7 +3070,9 @@ case ${target} in - i[34567]86-*-darwin* | x86_64-*-darwin*) - tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp" - ;; -- i[34567]86-*-linux* | x86_64-*-linux* | i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu) -+ i[34567]86-*-linux* | x86_64-*-linux* | \ -+ i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ -+ i[34567]86-*-gnu*) - tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux" - ;; - ia64*-*-linux*) -diff --git a/libgcc/config.host b/libgcc/config.host ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -600,6 +600,7 @@ case ${host} in - i[34567]86-*-darwin* | x86_64-*-darwin* | \ - i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ - i[34567]86-*-linux* | x86_64-*-linux* | \ -+ i[34567]86-*-gnu* | \ - i[34567]86-*-solaris2* | \ - i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*) - if test "${host_address}" = 32; then diff --git a/pkgs/development/compilers/gcc-4.5/sources.nix b/pkgs/development/compilers/gcc-4.5/sources.nix index 4a9201d08eb..6059e03880b 100644 --- a/pkgs/development/compilers/gcc-4.5/sources.nix +++ b/pkgs/development/compilers/gcc-4.5/sources.nix @@ -1,26 +1,26 @@ /* Automatically generated by `update-gcc.sh', do not edit. - For GCC 4.5.0. */ + For GCC 4.5.1. */ { fetchurl, optional, version, langC, langCC, langFortran, langJava, langAda }: -assert version == "4.5.0"; +assert version == "4.5.1"; optional /* langC */ true (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2"; - sha256 = "19ykzyd938d4pblsihrsalk9ch1s23z57s0r5an8sqs7acv51r0g"; + sha256 = "0sjjw3qfcpdk0fs5d2rhl0xqcaclg86ifbq45dbk9ca072l3fyxm"; }) ++ optional langCC (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2"; - sha256 = "0hialil4v2hi7klr14x6h5z7b9ryzzy9kchr96s2p9hmsm7famlk"; + sha256 = "0j6ffb96b3r75hrjshg52llv21ax7r8jdx44hhj0maiisnl9wd55"; }) ++ optional langFortran (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2"; - sha256 = "0anby974dikygjmxr6h1pd9s24fdps84fki1dijzhqqvq6lr3hbb"; + sha256 = "0xgwjc3h5fc5c100bnw24c35255il33lj5qbgpxf0zl8di2q13aw"; }) ++ optional langJava (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2"; - sha256 = "0mlbxyhj7svjgby5vrpc49l2vk0k0878nlx0ap6jqq7xdyysvlcn"; + sha256 = "0mh37q4ibg05h1hdh39pkj1hycvdg6i79m4698knw7pppm14ax8q"; }) ++ optional langAda (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-ada-${version}.tar.bz2"; - sha256 = "1yar842bixmh2n9siy8s383lg8mz611xjdbbacgcznwab601czzv"; + sha256 = "11chdbl7h046lnl83k79vj7dvgxz6kq7cnmwx94z644vaiflg153"; }) ++ []