~ruther/guix-local

6c95f363d5af8bd9e6745a58b60fac8c7696b962 — Ludovic Courtès 12 years ago 2f26560
gnu: binutils: Upgrade to 2.24.

* gnu/packages/patches/binutils-loongson-madd-fix.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/base.scm (binutils): Upgrade to 2.24.  Remove
  'binutils-loongson-madd-fix.patch'.  Remove 'outputs' field.  Pass
  '--enable-install-libbfd'.
3 files changed, 9 insertions(+), 56 deletions(-)

M gnu-system.am
M gnu/packages/base.scm
D gnu/packages/patches/binutils-loongson-madd-fix.patch
M gnu-system.am => gnu-system.am +1 -2
@@ 1,5 1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2013 Mark H Weaver <mhw@netris.org>
#


@@ 223,7 223,6 @@ dist_patch_DATA =						\
  gnu/packages/patches/avahi-localstatedir.patch		\
  gnu/packages/patches/bigloo-gc-shebangs.patch			\
  gnu/packages/patches/binutils-ld-new-dtags.patch		\
  gnu/packages/patches/binutils-loongson-madd-fix.patch		\
  gnu/packages/patches/binutils-loongson-workaround.patch	\
  gnu/packages/patches/cdparanoia-fpic.patch			\
  gnu/packages/patches/cmake-fix-tests.patch			\

M gnu/packages/base.scm => gnu/packages/base.scm +8 -10
@@ 314,24 314,18 @@ change.  GNU make offers many powerful extensions over the standard utility.")
(define-public binutils
  (package
   (name "binutils")
   (version "2.23.2")
   (version "2.24")
   (source (origin
            (method url-fetch)
            (uri (string-append "mirror://gnu/binutils/binutils-"
                                version ".tar.bz2"))
            (sha256
             (base32
              "15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy"))
              "0ds1y7qa0xqihw4ihnsgg6bxanmb228r228ddvwzgrv4jszcbs75"))
            (patches (list (search-patch "binutils-ld-new-dtags.patch")
                           (search-patch "binutils-loongson-workaround.patch")
                           (search-patch "binutils-loongson-madd-fix.patch")))))
                           (search-patch "binutils-loongson-workaround.patch")))))
   (build-system gnu-build-system)

   ;; Split Binutils in several outputs, mostly to avoid collisions in
   ;; user profiles with GCC---e.g., libiberty.a.
   (outputs '("out"                        ; ar, ld, binutils.info, etc.
              "lib"))                      ; libbfd.a, bfd.h, etc.

   ;; TODO: Add dependency on zlib + those for Gold.
   (arguments
    `(#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency


@@ 343,7 337,11 @@ change.  GNU make offers many powerful extensions over the standard utility.")

                          ;; Glibc 2.17 has a "comparison of unsigned
                          ;; expression >= 0 is always true" in wchar.h.
                          "--disable-werror")))
                          "--disable-werror"

                          ;; Install BFD.  It ends up in a hidden directory,
                          ;; but it's here.
                          "--enable-install-libbfd")))

   (synopsis "Binary utilities: bfd gas gprof ld")
   (description

D gnu/packages/patches/binutils-loongson-madd-fix.patch => gnu/packages/patches/binutils-loongson-madd-fix.patch +0 -44
@@ 1,44 0,0 @@
Fix the Loongson 2F specific fused multiply-add instructions on paired singles to
use the encoding recognized by the processor, as opposed to the mistaken english
Loongson 2F documentation.

Patch by Mark H Weaver <mhw@netris.org>.

--- binutils/opcodes/mips-opc.c.orig	2012-09-04 10:21:10.000000000 -0400
+++ binutils/opcodes/mips-opc.c	2013-10-06 02:23:33.679983766 -0400
@@ -931,7 +931,7 @@
 {"madd.s",	"D,S,T",	0x72000018,	0xffe0003f,	RD_S|RD_T|WR_D|FP_S,	0,	IL2F	},
 {"madd.ps", "D,R,S,T",	0x4c000026, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D,    0,		I5_33	},
 {"madd.ps",	"D,S,T",	0x45600018,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2E	},
-{"madd.ps",	"D,S,T",	0x71600018,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
+{"madd.ps",	"D,S,T",	0x72c00018,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
 {"madd",    "s,t",      0x0000001c, 0xfc00ffff, RD_s|RD_t|WR_HILO,           0,		L1	},
 {"madd",    "s,t",      0x70000000, 0xfc00ffff, RD_s|RD_t|MOD_HILO,          0,		I32|N55	},
 {"madd",    "s,t",      0x70000000, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M,      0,		G1	},
@@ -1041,7 +1041,7 @@
 {"msub.s",	"D,S,T",	0x72000019,	0xffe0003f,	RD_S|RD_T|WR_D|FP_S,	0,	IL2F	},
 {"msub.ps", "D,R,S,T",	0x4c00002e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0,		I5_33	},
 {"msub.ps",	"D,S,T",	0x45600019,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2E	},
-{"msub.ps",	"D,S,T",	0x71600019,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
+{"msub.ps",	"D,S,T",	0x72c00019,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
 {"msub",    "s,t",      0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HILO,	0,		L1    	},
 {"msub",    "s,t",      0x70000004, 0xfc00ffff, RD_s|RD_t|MOD_HILO,     0,		I32|N55 },
 {"msub",    "7,s,t",	0x70000004, 0xfc00e7ff, MOD_a|RD_s|RD_t,        0,              D32	},
@@ -1157,7 +1157,7 @@
 {"nmadd.s",	"D,S,T",	0x7200001a,	0xffe0003f,	RD_S|RD_T|WR_D|FP_S,	0,	IL2F	},
 {"nmadd.ps","D,R,S,T",	0x4c000036, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0,		I5_33	},
 {"nmadd.ps",	"D,S,T",	0x4560001a,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2E	},
-{"nmadd.ps",	"D,S,T",	0x7160001a,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
+{"nmadd.ps",	"D,S,T",	0x72c0001a,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
 {"nmsub.d", "D,R,S,T",	0x4c000039, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0,		I4_33	},
 {"nmsub.d",	"D,S,T",	0x4620001b,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2E	},
 {"nmsub.d",	"D,S,T",	0x7220001b,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
@@ -1166,7 +1166,7 @@
 {"nmsub.s",	"D,S,T",	0x7200001b,	0xffe0003f,	RD_S|RD_T|WR_D|FP_S,	0,	IL2F	},
 {"nmsub.ps","D,R,S,T",	0x4c00003e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0,		I5_33	},
 {"nmsub.ps",	"D,S,T",	0x4560001b,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2E	},
-{"nmsub.ps",	"D,S,T",	0x7160001b,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
+{"nmsub.ps",	"D,S,T",	0x72c0001b,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
 /* nop is at the start of the table.  */
 {"nor",     "d,v,t",	0x00000027, 0xfc0007ff,	WR_d|RD_s|RD_t,		0,		I1	},
 {"nor",     "t,r,I",	0,    (int) M_NOR_I,	INSN_MACRO,		0,		I1	},