summaryrefslogtreecommitdiff
path: root/patches/binutils/2.15/740-binutils-2.15-vmx.patch
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-09-23 17:08:09 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-09-23 17:08:09 (GMT)
commitb1e693e40281dc8c451e8892dfcdf55d78a4ade3 (patch)
treec276bc44f23b42895b459efbf2597f4bef378819 /patches/binutils/2.15/740-binutils-2.15-vmx.patch
parent3ad6464ffe38eb15591b404e0749aa89f4074fd1 (diff)
Renamed all patches file names so that locales are now irrelevant to sort the files.
Removed the locale check as it is now irrelevant. Removed the experimental binutils 2.17.50.0.xx: 2.18 is here now.
Diffstat (limited to 'patches/binutils/2.15/740-binutils-2.15-vmx.patch')
-rw-r--r--patches/binutils/2.15/740-binutils-2.15-vmx.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/patches/binutils/2.15/740-binutils-2.15-vmx.patch b/patches/binutils/2.15/740-binutils-2.15-vmx.patch
new file mode 100644
index 0000000..5ae9efe
--- /dev/null
+++ b/patches/binutils/2.15/740-binutils-2.15-vmx.patch
@@ -0,0 +1,45 @@
+Grabbed with
+wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/opcodes/ppc-opc.c.diff?r1=1.70&r2=1.71&cvsroot=src'
+See
+http://mail.gnu.org/archive/html/bug-binutils/2004-05/msg00071.html
+and
+http://sources.redhat.com/ml/binutils-cvs/2004-05/msg00111.html
+
+This fixes problems like
+{standard input}: Assembler messages:
+{standard input}:1: Error: Unrecognized opcode: `dssall'
+which show up in binutils-2.15 when building the Linux kernel,
+or possibly failed compilations when building setjmp/longjmp in glibc.
+
+An alternative fix would be to pass -many to the assembler.
+A patch to do that for glibc is at
+wget 'http://sources.redhat.com/cgi-bin/get-raw-msg?listname=libc-alpha&date=2004-05&msgid=40B36E8C.9030609%40us.ibm.com'
+Yet another, better, fix would be for gcc to generate assembly
+that told the assembler which processor type to use.
+Presumably the Linux kernel sources would need a fix, too.
+Probably better to just fix binutils to accept sources that it used to.
+
+
+===================================================================
+RCS file: /cvs/src/src/opcodes/ppc-opc.c,v
+retrieving revision 1.70
+retrieving revision 1.71
+diff -u -r1.70 -r1.71
+--- src/opcodes/ppc-opc.c 2004/05/05 13:43:36 1.70
++++ src/opcodes/ppc-opc.c 2004/05/19 05:11:48 1.71
+@@ -1004,8 +1004,13 @@
+
+ /* If only one bit of the FXM field is set, we can use the new form
+ of the instruction, which is faster. Unlike the Power4 branch hint
+- encoding, this is not backward compatible. */
+- else if ((dialect & PPC_OPCODE_POWER4) != 0 && (value & -value) == value)
++ encoding, this is not backward compatible. Do not generate the
++ new form unless -mpower4 has been given, or -many and the two
++ operand form of mfcr was used. */
++ else if ((value & -value) == value
++ && ((dialect & PPC_OPCODE_POWER4) != 0
++ || ((dialect & PPC_OPCODE_ANY) != 0
++ && (insn & (0x3ff << 1)) == 19 << 1)))
+ insn |= 1 << 20;
+
+ /* Any other value on mfcr is an error. */