Updating gcc to 4.5.1.
I removed two patches that don't apply anymore (dragonegg, softfp-hurd). I hope this means it's all fixed upstream. svn path=/nixpkgs/branches/stdenv-updates/; revision=22879
This commit is contained in:
parent
5417c720fd
commit
955b962993
@ -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
|
||||
|
@ -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);
|
@ -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 <http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00602.html>, 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
|
@ -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";
|
||||
}) ++
|
||||
[]
|
||||
|
Loading…
Reference in New Issue
Block a user