- Update to 2.18.50.0.8.
- Drop the .clmul -> .pclmul renaming backport. - Add %{binutils_target} macro to support building cross-binutils. (David Woodhouse) - Support `--without testsuite' to suppress the testsuite run. - Support `--with debug' to build without optimizations. - Refresh the patchset with fuzz 0 (for new rpmbuild). - Enable the spu target on ppc/ppc64 (BZ 455242).
This commit is contained in:
parent
d763a8190b
commit
faf2fe1f85
@ -1 +1 @@
|
|||||||
binutils-2.18.50.0.6.tar.bz2
|
binutils-2.18.50.0.8.tar.bz2
|
||||||
|
@ -1,636 +0,0 @@
|
|||||||
2008-04-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
||||||
|
|
||||||
gas/
|
|
||||||
* config/tc-i386.c (parse_real_register): Return AVX register
|
|
||||||
only if AVX is enabled.
|
|
||||||
gas/testsuite/
|
|
||||||
* gas/i386/att-regs.s: Add AVX register test.
|
|
||||||
* gas/i386/intel-regs.s: Likewise.
|
|
||||||
|
|
||||||
* gas/i386/att-regs.d: Updated.
|
|
||||||
* gas/i386/intel-regs.d: Likewise.
|
|
||||||
opcodes/
|
|
||||||
* i386-dis.c (PREFIX_VEX_38XX): Add a tab.
|
|
||||||
(PREFIX_VEX_3AXX): Likewis.
|
|
||||||
|
|
||||||
* i386-opc.tbl: Remove 4 extra blank lines.
|
|
||||||
|
|
||||||
2008-04-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
||||||
|
|
||||||
gas/
|
|
||||||
* NEWS: Mention XSAVE. Change CLMUL to PCLMUL.
|
|
||||||
|
|
||||||
* config/tc-i386.c (cpu_arch): Add .pclmul.
|
|
||||||
(md_show_usage): Replace clmul with pclmul.
|
|
||||||
* doc/c-i386.texi: Likewise.
|
|
||||||
gas/testsuite/
|
|
||||||
* gas/i386/arch-10-1.l: Replace CLMUL with PCLMUL.
|
|
||||||
* gas/i386/arch-10-2.l: Likewise.
|
|
||||||
* gas/i386/arch-10-3.l: Likewise.
|
|
||||||
* gas/i386/arch-10-4.l: Likewise.
|
|
||||||
* gas/i386/arch-10.s: Likewise.
|
|
||||||
* gas/i386/clmul-intel.d: Likewise.
|
|
||||||
* gas/i386/clmul.d: Likewise.
|
|
||||||
* gas/i386/clmul.s: Likewise.
|
|
||||||
* gas/i386/x86-64-arch-2.s: Likewise.
|
|
||||||
* gas/i386/x86-64-clmul-intel.d: Likewise.
|
|
||||||
* gas/i386/x86-64-clmul.d: Likewise.
|
|
||||||
* gas/i386/x86-64-clmul.s: Likewise.
|
|
||||||
|
|
||||||
* gas/i386/arch-10.d: Replace clmul with pclmul.
|
|
||||||
* gas/i386/x86-64-arch-2.d: Likewise.
|
|
||||||
opcodes/
|
|
||||||
* i386-gen.c (cpu_flag_init): Replace CPU_CLMUL_FLAGS/CpuCLMUL
|
|
||||||
with CPU_PCLMUL_FLAGS/CpuPCLMUL.
|
|
||||||
(cpu_flags): Replace CpuCLMUL with CpuPCLMUL.
|
|
||||||
* i386-opc.tbl: Likewise.
|
|
||||||
|
|
||||||
* i386-opc.h (CpuCLMUL): Renamed to ...
|
|
||||||
(CpuPCLMUL): This.
|
|
||||||
(CpuFMA): Updated.
|
|
||||||
(i386_cpu_flags): Replace cpuclmul with cpupclmul.
|
|
||||||
|
|
||||||
* i386-init.h: Regenerated.
|
|
||||||
|
|
||||||
--- gas/NEWS 3 Apr 2008 14:03:17 -0000 1.92
|
|
||||||
+++ gas/NEWS 4 Apr 2008 16:34:23 -0000 1.93
|
|
||||||
@@ -2,7 +2,7 @@
|
|
||||||
* New command line option -msse2avx for x86 target to encode SSE
|
|
||||||
instructions with VEX prefix.
|
|
||||||
|
|
||||||
-* Add Intel AES, CLMUL, AVX/FMA support for x86 target.
|
|
||||||
+* Add Intel XSAVE, AES, PCLMUL, AVX/FMA support for x86 target.
|
|
||||||
|
|
||||||
* New command line options, -march=CPU[,+EXTENSION...], -mtune=CPU,
|
|
||||||
-mmnemonic=[att|intel], -msyntax=[att|intel], -mindex-reg,
|
|
||||||
--- gas/config/tc-i386.c 3 Apr 2008 14:03:18 -0000 1.335
|
|
||||||
+++ gas/config/tc-i386.c 7 Apr 2008 13:07:15 -0000 1.337
|
|
||||||
@@ -647,8 +647,10 @@ static const arch_entry cpu_arch[] =
|
|
||||||
CPU_XSAVE_FLAGS },
|
|
||||||
{ ".aes", PROCESSOR_UNKNOWN,
|
|
||||||
CPU_AES_FLAGS },
|
|
||||||
+ { ".pclmul", PROCESSOR_UNKNOWN,
|
|
||||||
+ CPU_PCLMUL_FLAGS },
|
|
||||||
{ ".clmul", PROCESSOR_UNKNOWN,
|
|
||||||
- CPU_CLMUL_FLAGS },
|
|
||||||
+ CPU_PCLMUL_FLAGS },
|
|
||||||
{ ".fma", PROCESSOR_UNKNOWN,
|
|
||||||
CPU_FMA_FLAGS },
|
|
||||||
{ ".3dnow", PROCESSOR_UNKNOWN,
|
|
||||||
@@ -7683,6 +7685,9 @@ parse_real_register (char *reg_string, c
|
|
||||||
if (r->reg_type.bitfield.regxmm && !cpu_arch_flags.bitfield.cpusse)
|
|
||||||
return (const reg_entry *) NULL;
|
|
||||||
|
|
||||||
+ if (r->reg_type.bitfield.regymm && !cpu_arch_flags.bitfield.cpuavx)
|
|
||||||
+ return (const reg_entry *) NULL;
|
|
||||||
+
|
|
||||||
/* Don't allow fake index register unless allow_index_reg isn't 0. */
|
|
||||||
if (!allow_index_reg
|
|
||||||
&& (r->reg_num == RegEiz || r->reg_num == RegRiz))
|
|
||||||
@@ -8045,7 +8050,7 @@ md_show_usage (stream)
|
|
||||||
generic32, generic64\n\
|
|
||||||
EXTENSION is combination of:\n\
|
|
||||||
mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, sse4,\n\
|
|
||||||
- avx, vmx, smx, xsave, aes, clmul, fma, 3dnow,\n\
|
|
||||||
+ avx, vmx, smx, xsave, aes, pclmul, fma, 3dnow,\n\
|
|
||||||
3dnowa, sse4a, sse5, svme, abm, padlock\n"));
|
|
||||||
fprintf (stream, _("\
|
|
||||||
-mtune=CPU optimize for CPU, CPU is one of:\n\
|
|
||||||
--- gas/doc/c-i386.texi 3 Apr 2008 14:03:18 -0000 1.25
|
|
||||||
+++ gas/doc/c-i386.texi 4 Apr 2008 16:34:23 -0000 1.26
|
|
||||||
@@ -125,7 +125,7 @@ accept various extension mnemonics. For
|
|
||||||
@code{smx},
|
|
||||||
@code{xsave},
|
|
||||||
@code{aes},
|
|
||||||
-@code{clmul},
|
|
||||||
+@code{pclmul},
|
|
||||||
@code{fma},
|
|
||||||
@code{3dnow},
|
|
||||||
@code{3dnowa},
|
|
||||||
@@ -832,7 +832,7 @@ supported on the CPU specified. The cho
|
|
||||||
@item @samp{.mmx} @tab @samp{.sse} @tab @samp{.sse2} @tab @samp{.sse3}
|
|
||||||
@item @samp{.ssse3} @tab @samp{.sse4.1} @tab @samp{.sse4.2} @tab @samp{.sse4}
|
|
||||||
@item @samp{.avx} @tab @samp{.vmx} @tab @samp{.smx} @tab @samp{.xsave}
|
|
||||||
-@item @samp{.aes} @tab @samp{.clmul} @tab @samp{.fma}
|
|
||||||
+@item @samp{.aes} @tab @samp{.pclmul} @tab @samp{.fma}
|
|
||||||
@item @samp{.3dnow} @tab @samp{.3dnowa} @tab @samp{.sse4a} @tab @samp{.sse5}
|
|
||||||
@item @samp{.svme} @tab @samp{.abm}
|
|
||||||
@item @samp{.padlock}
|
|
||||||
--- gas/testsuite/gas/i386/arch-10-1.l 3 Apr 2008 14:03:18 -0000 1.3
|
|
||||||
+++ gas/testsuite/gas/i386/arch-10-1.l 4 Apr 2008 16:34:23 -0000 1.4
|
|
||||||
@@ -53,7 +53,7 @@ GAS LISTING .*
|
|
||||||
[ ]*26[ ]+xgetbv
|
|
||||||
[ ]*27[ ]+\# AES
|
|
||||||
[ ]*28[ ]+aesenc \(%ecx\),%xmm0
|
|
||||||
-[ ]*29[ ]+\# CLMUL
|
|
||||||
+[ ]*29[ ]+\# PCLMUL
|
|
||||||
[ ]*30[ ]+pclmulqdq \$8,%xmm1,%xmm0
|
|
||||||
[ ]*31[ ]+\# FMA
|
|
||||||
[ ]*32[ ]+vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
|
|
||||||
--- gas/testsuite/gas/i386/arch-10-2.l 3 Apr 2008 14:03:18 -0000 1.3
|
|
||||||
+++ gas/testsuite/gas/i386/arch-10-2.l 4 Apr 2008 16:34:23 -0000 1.4
|
|
||||||
@@ -52,7 +52,7 @@ GAS LISTING .*
|
|
||||||
[ ]*26[ ]+xgetbv
|
|
||||||
[ ]*27[ ]+\# AES
|
|
||||||
[ ]*28[ ]+aesenc \(%ecx\),%xmm0
|
|
||||||
-[ ]*29[ ]+\# CLMUL
|
|
||||||
+[ ]*29[ ]+\# PCLMUL
|
|
||||||
[ ]*30[ ]+pclmulqdq \$8,%xmm1,%xmm0
|
|
||||||
[ ]*31[ ]+\# FMA
|
|
||||||
[ ]*32[ ]+vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
|
|
||||||
--- gas/testsuite/gas/i386/arch-10-3.l 3 Apr 2008 14:03:18 -0000 1.3
|
|
||||||
+++ gas/testsuite/gas/i386/arch-10-3.l 4 Apr 2008 16:34:23 -0000 1.4
|
|
||||||
@@ -48,7 +48,7 @@ GAS LISTING .*
|
|
||||||
[ ]*26[ ]+xgetbv
|
|
||||||
[ ]*27[ ]+\# AES
|
|
||||||
[ ]*28[ ]+aesenc \(%ecx\),%xmm0
|
|
||||||
-[ ]*29[ ]+\# CLMUL
|
|
||||||
+[ ]*29[ ]+\# PCLMUL
|
|
||||||
[ ]*30[ ]+pclmulqdq \$8,%xmm1,%xmm0
|
|
||||||
[ ]*31[ ]+\# FMA
|
|
||||||
[ ]*32[ ]+vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
|
|
||||||
--- gas/testsuite/gas/i386/arch-10-4.l 3 Apr 2008 14:03:18 -0000 1.3
|
|
||||||
+++ gas/testsuite/gas/i386/arch-10-4.l 4 Apr 2008 16:34:23 -0000 1.4
|
|
||||||
@@ -46,7 +46,7 @@ GAS LISTING .*
|
|
||||||
[ ]*26[ ]+xgetbv
|
|
||||||
[ ]*27[ ]+\# AES
|
|
||||||
[ ]*28[ ]+aesenc \(%ecx\),%xmm0
|
|
||||||
-[ ]*29[ ]+\# CLMUL
|
|
||||||
+[ ]*29[ ]+\# PCLMUL
|
|
||||||
[ ]*30[ ]+pclmulqdq \$8,%xmm1,%xmm0
|
|
||||||
[ ]*31[ ]+\# FMA
|
|
||||||
[ ]*32[ ]+vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
|
|
||||||
--- gas/testsuite/gas/i386/arch-10.d 3 Apr 2008 14:03:18 -0000 1.3
|
|
||||||
+++ gas/testsuite/gas/i386/arch-10.d 4 Apr 2008 16:34:23 -0000 1.4
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-#as: -march=i686+avx+vmx+smx+xsave+aes+clmul+fma+sse5+3dnowa+svme+padlock
|
|
||||||
+#as: -march=i686+avx+vmx+smx+xsave+aes+pclmul+fma+sse5+3dnowa+svme+padlock
|
|
||||||
#objdump: -dw
|
|
||||||
#name: i386 arch 10
|
|
||||||
|
|
||||||
--- gas/testsuite/gas/i386/arch-10.s 3 Apr 2008 14:03:18 -0000 1.3
|
|
||||||
+++ gas/testsuite/gas/i386/arch-10.s 4 Apr 2008 16:34:23 -0000 1.4
|
|
||||||
@@ -26,7 +26,7 @@ getsec
|
|
||||||
xgetbv
|
|
||||||
# AES
|
|
||||||
aesenc (%ecx),%xmm0
|
|
||||||
-# CLMUL
|
|
||||||
+# PCLMUL
|
|
||||||
pclmulqdq $8,%xmm1,%xmm0
|
|
||||||
# FMA
|
|
||||||
vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
|
|
||||||
--- gas/testsuite/gas/i386/att-regs.d 18 Feb 2008 08:44:38 -0000 1.1
|
|
||||||
+++ gas/testsuite/gas/i386/att-regs.d 7 Apr 2008 14:38:25 -0000 1.3
|
|
||||||
@@ -31,9 +31,11 @@ Disassembly of section \.text:
|
|
||||||
.*:[ ]+0f 24 c0[ ]+mov[ ]+%tr0,%eax
|
|
||||||
.*[ ]+R_386_32[ ]+mm0
|
|
||||||
.*[ ]+R_386_32[ ]+xmm0
|
|
||||||
+.*[ ]+R_386_32[ ]+ymm0
|
|
||||||
.*:[ ]+dd c0[ ]+ffree[ ]+%st(\(0\))?
|
|
||||||
.*:[ ]+0f ef c0[ ]+pxor[ ]+%mm0,%mm0
|
|
||||||
.*:[ ]+0f 57 c0[ ]+xorps[ ]+%xmm0,%xmm0
|
|
||||||
+.*:[ ]+c5 fc 57 c0[ ]+vxorps[ ]+%ymm0,%ymm0,%ymm0
|
|
||||||
.*:[ ]+44[ ]+inc %esp
|
|
||||||
.*:[ ]+88 c0[ ]+mov[ ]+%al,%al
|
|
||||||
.*:[ ]+66 44[ ]+inc[ ]+%sp
|
|
||||||
--- gas/testsuite/gas/i386/att-regs.s 18 Feb 2008 08:44:38 -0000 1.1
|
|
||||||
+++ gas/testsuite/gas/i386/att-regs.s 7 Apr 2008 14:38:25 -0000 1.3
|
|
||||||
@@ -32,6 +32,7 @@
|
|
||||||
mov tr0, eax
|
|
||||||
mov mm0, eax
|
|
||||||
mov xmm0, eax
|
|
||||||
+ mov ymm0, eax
|
|
||||||
|
|
||||||
#todo .arch i387
|
|
||||||
ffree st
|
|
||||||
@@ -42,6 +43,9 @@
|
|
||||||
.arch .sse
|
|
||||||
xorps xmm0, xmm0
|
|
||||||
|
|
||||||
+ .arch .avx
|
|
||||||
+ vxorps ymm0, ymm0, ymm0
|
|
||||||
+
|
|
||||||
.arch generic64
|
|
||||||
.code64
|
|
||||||
mov r8b, axl
|
|
||||||
--- gas/testsuite/gas/i386/clmul-intel.d 3 Apr 2008 14:03:18 -0000 1.1
|
|
||||||
+++ gas/testsuite/gas/i386/clmul-intel.d 4 Apr 2008 16:34:23 -0000 1.2
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
#source: clmul.s
|
|
||||||
#objdump: -dw -Mintel
|
|
||||||
-#name: i386 CLMUL (Intel mode)
|
|
||||||
+#name: i386 PCLMUL (Intel mode)
|
|
||||||
|
|
||||||
.*: +file format .*
|
|
||||||
|
|
||||||
--- gas/testsuite/gas/i386/clmul.d 3 Apr 2008 14:03:18 -0000 1.1
|
|
||||||
+++ gas/testsuite/gas/i386/clmul.d 4 Apr 2008 16:34:23 -0000 1.2
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
#objdump: -dw
|
|
||||||
-#name: i386 CLMUL
|
|
||||||
+#name: i386 PCLMUL
|
|
||||||
|
|
||||||
.*: +file format .*
|
|
||||||
|
|
||||||
--- gas/testsuite/gas/i386/clmul.s 3 Apr 2008 14:03:18 -0000 1.1
|
|
||||||
+++ gas/testsuite/gas/i386/clmul.s 4 Apr 2008 16:34:23 -0000 1.2
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-# Check CLMUL new instructions.
|
|
||||||
+# Check PCLMUL new instructions.
|
|
||||||
|
|
||||||
.text
|
|
||||||
foo:
|
|
||||||
--- gas/testsuite/gas/i386/intel-regs.d 18 Feb 2008 08:44:38 -0000 1.1
|
|
||||||
+++ gas/testsuite/gas/i386/intel-regs.d 7 Apr 2008 14:38:25 -0000 1.3
|
|
||||||
@@ -31,9 +31,11 @@ Disassembly of section \.text:
|
|
||||||
.*:[ ]+0f 24 c0[ ]+mov[ ]+%tr0,%eax
|
|
||||||
.*[ ]+R_386_32[ ]+mm0
|
|
||||||
.*[ ]+R_386_32[ ]+xmm0
|
|
||||||
+.*[ ]+R_386_32[ ]+ymm0
|
|
||||||
.*:[ ]+dd c0[ ]+ffree[ ]+%st(\(0\))?
|
|
||||||
.*:[ ]+0f ef c0[ ]+pxor[ ]+%mm0,%mm0
|
|
||||||
.*:[ ]+0f 57 c0[ ]+xorps[ ]+%xmm0,%xmm0
|
|
||||||
+.*:[ ]+c5 fc 57 c0[ ]+vxorps[ ]+%ymm0,%ymm0,%ymm0
|
|
||||||
.*:[ ]+44[ ]+inc %esp
|
|
||||||
.*:[ ]+88 c0[ ]+mov[ ]+%al,%al
|
|
||||||
.*:[ ]+66 44[ ]+inc[ ]+%sp
|
|
||||||
--- gas/testsuite/gas/i386/intel-regs.s 18 Feb 2008 08:44:38 -0000 1.1
|
|
||||||
+++ gas/testsuite/gas/i386/intel-regs.s 7 Apr 2008 14:38:25 -0000 1.3
|
|
||||||
@@ -32,6 +32,7 @@
|
|
||||||
mov eax, tr0
|
|
||||||
mov eax, mm0
|
|
||||||
mov eax, xmm0
|
|
||||||
+ mov eax, ymm0
|
|
||||||
|
|
||||||
#todo .arch i387
|
|
||||||
ffree st
|
|
||||||
@@ -42,6 +43,9 @@
|
|
||||||
.arch .sse
|
|
||||||
xorps xmm0, xmm0
|
|
||||||
|
|
||||||
+ .arch .avx
|
|
||||||
+ vxorps ymm0, ymm0, ymm0
|
|
||||||
+
|
|
||||||
.arch generic64
|
|
||||||
.code64
|
|
||||||
mov axl, r8b
|
|
||||||
--- gas/testsuite/gas/i386/x86-64-arch-2.d 3 Apr 2008 14:03:18 -0000 1.2
|
|
||||||
+++ gas/testsuite/gas/i386/x86-64-arch-2.d 4 Apr 2008 16:34:23 -0000 1.3
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-#as: -march=generic64+avx+vmx+smx+xsave+aes+clmul+fma+sse5+3dnowa+svme+padlock
|
|
||||||
+#as: -march=generic64+avx+vmx+smx+xsave+aes+pclmul+fma+sse5+3dnowa+svme+padlock
|
|
||||||
#objdump: -dw
|
|
||||||
#name: x86-64 arch 2
|
|
||||||
|
|
||||||
--- gas/testsuite/gas/i386/x86-64-arch-2.s 3 Apr 2008 14:03:18 -0000 1.2
|
|
||||||
+++ gas/testsuite/gas/i386/x86-64-arch-2.s 4 Apr 2008 16:34:23 -0000 1.3
|
|
||||||
@@ -26,7 +26,7 @@ getsec
|
|
||||||
xgetbv
|
|
||||||
# AES
|
|
||||||
aesenc (%rcx),%xmm0
|
|
||||||
-# CLMUL
|
|
||||||
+# PCLMUL
|
|
||||||
pclmulqdq $8,%xmm1,%xmm0
|
|
||||||
# FMA
|
|
||||||
vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
|
|
||||||
--- gas/testsuite/gas/i386/x86-64-clmul-intel.d 3 Apr 2008 14:03:19 -0000 1.1
|
|
||||||
+++ gas/testsuite/gas/i386/x86-64-clmul-intel.d 4 Apr 2008 16:34:23 -0000 1.2
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
#source: x86-64-clmul.s
|
|
||||||
#as: -J
|
|
||||||
#objdump: -dw -Mintel
|
|
||||||
-#name: x86-64 CLMUL (Intel mode)
|
|
||||||
+#name: x86-64 PCLMUL (Intel mode)
|
|
||||||
|
|
||||||
.*: +file format .*
|
|
||||||
|
|
||||||
--- gas/testsuite/gas/i386/x86-64-clmul.d 3 Apr 2008 14:03:19 -0000 1.1
|
|
||||||
+++ gas/testsuite/gas/i386/x86-64-clmul.d 4 Apr 2008 16:34:23 -0000 1.2
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
#as: -J
|
|
||||||
#objdump: -dw
|
|
||||||
-#name: x86-64 CLMUL
|
|
||||||
+#name: x86-64 PCLMUL
|
|
||||||
|
|
||||||
.*: +file format .*
|
|
||||||
|
|
||||||
--- gas/testsuite/gas/i386/x86-64-clmul.s 3 Apr 2008 14:03:19 -0000 1.1
|
|
||||||
+++ gas/testsuite/gas/i386/x86-64-clmul.s 4 Apr 2008 16:34:23 -0000 1.2
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-# Check 64bit CLMUL new instructions.
|
|
||||||
+# Check 64bit PCLMUL new instructions.
|
|
||||||
|
|
||||||
.text
|
|
||||||
foo:
|
|
||||||
--- opcodes/i386-dis.c 3 Apr 2008 14:03:20 -0000 1.176
|
|
||||||
+++ opcodes/i386-dis.c 7 Apr 2008 21:29:50 -0000 1.177
|
|
||||||
@@ -875,112 +875,112 @@ fetch_data (struct disassemble_info *inf
|
|
||||||
#define PREFIX_VEX_FC (PREFIX_VEX_FB + 1)
|
|
||||||
#define PREFIX_VEX_FD (PREFIX_VEX_FC + 1)
|
|
||||||
#define PREFIX_VEX_FE (PREFIX_VEX_FD + 1)
|
|
||||||
-#define PREFIX_VEX_3800 (PREFIX_VEX_FE + 1)
|
|
||||||
-#define PREFIX_VEX_3801 (PREFIX_VEX_3800 + 1)
|
|
||||||
-#define PREFIX_VEX_3802 (PREFIX_VEX_3801 + 1)
|
|
||||||
-#define PREFIX_VEX_3803 (PREFIX_VEX_3802 + 1)
|
|
||||||
-#define PREFIX_VEX_3804 (PREFIX_VEX_3803 + 1)
|
|
||||||
-#define PREFIX_VEX_3805 (PREFIX_VEX_3804 + 1)
|
|
||||||
-#define PREFIX_VEX_3806 (PREFIX_VEX_3805 + 1)
|
|
||||||
-#define PREFIX_VEX_3807 (PREFIX_VEX_3806 + 1)
|
|
||||||
-#define PREFIX_VEX_3808 (PREFIX_VEX_3807 + 1)
|
|
||||||
-#define PREFIX_VEX_3809 (PREFIX_VEX_3808 + 1)
|
|
||||||
-#define PREFIX_VEX_380A (PREFIX_VEX_3809 + 1)
|
|
||||||
-#define PREFIX_VEX_380B (PREFIX_VEX_380A + 1)
|
|
||||||
-#define PREFIX_VEX_380C (PREFIX_VEX_380B + 1)
|
|
||||||
-#define PREFIX_VEX_380D (PREFIX_VEX_380C + 1)
|
|
||||||
-#define PREFIX_VEX_380E (PREFIX_VEX_380D + 1)
|
|
||||||
-#define PREFIX_VEX_380F (PREFIX_VEX_380E + 1)
|
|
||||||
-#define PREFIX_VEX_3817 (PREFIX_VEX_380F + 1)
|
|
||||||
-#define PREFIX_VEX_3818 (PREFIX_VEX_3817 + 1)
|
|
||||||
-#define PREFIX_VEX_3819 (PREFIX_VEX_3818 + 1)
|
|
||||||
-#define PREFIX_VEX_381A (PREFIX_VEX_3819 + 1)
|
|
||||||
-#define PREFIX_VEX_381C (PREFIX_VEX_381A + 1)
|
|
||||||
-#define PREFIX_VEX_381D (PREFIX_VEX_381C + 1)
|
|
||||||
-#define PREFIX_VEX_381E (PREFIX_VEX_381D + 1)
|
|
||||||
-#define PREFIX_VEX_3820 (PREFIX_VEX_381E + 1)
|
|
||||||
-#define PREFIX_VEX_3821 (PREFIX_VEX_3820 + 1)
|
|
||||||
-#define PREFIX_VEX_3822 (PREFIX_VEX_3821 + 1)
|
|
||||||
-#define PREFIX_VEX_3823 (PREFIX_VEX_3822 + 1)
|
|
||||||
-#define PREFIX_VEX_3824 (PREFIX_VEX_3823 + 1)
|
|
||||||
-#define PREFIX_VEX_3825 (PREFIX_VEX_3824 + 1)
|
|
||||||
-#define PREFIX_VEX_3828 (PREFIX_VEX_3825 + 1)
|
|
||||||
-#define PREFIX_VEX_3829 (PREFIX_VEX_3828 + 1)
|
|
||||||
-#define PREFIX_VEX_382A (PREFIX_VEX_3829 + 1)
|
|
||||||
-#define PREFIX_VEX_382B (PREFIX_VEX_382A + 1)
|
|
||||||
-#define PREFIX_VEX_382C (PREFIX_VEX_382B + 1)
|
|
||||||
-#define PREFIX_VEX_382D (PREFIX_VEX_382C + 1)
|
|
||||||
-#define PREFIX_VEX_382E (PREFIX_VEX_382D + 1)
|
|
||||||
-#define PREFIX_VEX_382F (PREFIX_VEX_382E + 1)
|
|
||||||
-#define PREFIX_VEX_3830 (PREFIX_VEX_382F + 1)
|
|
||||||
-#define PREFIX_VEX_3831 (PREFIX_VEX_3830 + 1)
|
|
||||||
-#define PREFIX_VEX_3832 (PREFIX_VEX_3831 + 1)
|
|
||||||
-#define PREFIX_VEX_3833 (PREFIX_VEX_3832 + 1)
|
|
||||||
-#define PREFIX_VEX_3834 (PREFIX_VEX_3833 + 1)
|
|
||||||
-#define PREFIX_VEX_3835 (PREFIX_VEX_3834 + 1)
|
|
||||||
-#define PREFIX_VEX_3837 (PREFIX_VEX_3835 + 1)
|
|
||||||
-#define PREFIX_VEX_3838 (PREFIX_VEX_3837 + 1)
|
|
||||||
-#define PREFIX_VEX_3839 (PREFIX_VEX_3838 + 1)
|
|
||||||
-#define PREFIX_VEX_383A (PREFIX_VEX_3839 + 1)
|
|
||||||
-#define PREFIX_VEX_383B (PREFIX_VEX_383A + 1)
|
|
||||||
-#define PREFIX_VEX_383C (PREFIX_VEX_383B + 1)
|
|
||||||
-#define PREFIX_VEX_383D (PREFIX_VEX_383C + 1)
|
|
||||||
-#define PREFIX_VEX_383E (PREFIX_VEX_383D + 1)
|
|
||||||
-#define PREFIX_VEX_383F (PREFIX_VEX_383E + 1)
|
|
||||||
-#define PREFIX_VEX_3840 (PREFIX_VEX_383F + 1)
|
|
||||||
-#define PREFIX_VEX_3841 (PREFIX_VEX_3840 + 1)
|
|
||||||
-#define PREFIX_VEX_3A04 (PREFIX_VEX_3841 + 1)
|
|
||||||
-#define PREFIX_VEX_3A05 (PREFIX_VEX_3A04 + 1)
|
|
||||||
-#define PREFIX_VEX_3A06 (PREFIX_VEX_3A05 + 1)
|
|
||||||
-#define PREFIX_VEX_3A08 (PREFIX_VEX_3A06 + 1)
|
|
||||||
-#define PREFIX_VEX_3A09 (PREFIX_VEX_3A08 + 1)
|
|
||||||
-#define PREFIX_VEX_3A0A (PREFIX_VEX_3A09 + 1)
|
|
||||||
-#define PREFIX_VEX_3A0B (PREFIX_VEX_3A0A + 1)
|
|
||||||
-#define PREFIX_VEX_3A0C (PREFIX_VEX_3A0B + 1)
|
|
||||||
-#define PREFIX_VEX_3A0D (PREFIX_VEX_3A0C + 1)
|
|
||||||
-#define PREFIX_VEX_3A0E (PREFIX_VEX_3A0D + 1)
|
|
||||||
-#define PREFIX_VEX_3A0F (PREFIX_VEX_3A0E + 1)
|
|
||||||
-#define PREFIX_VEX_3A14 (PREFIX_VEX_3A0F + 1)
|
|
||||||
-#define PREFIX_VEX_3A15 (PREFIX_VEX_3A14 + 1)
|
|
||||||
-#define PREFIX_VEX_3A16 (PREFIX_VEX_3A15 + 1)
|
|
||||||
-#define PREFIX_VEX_3A17 (PREFIX_VEX_3A16 + 1)
|
|
||||||
-#define PREFIX_VEX_3A18 (PREFIX_VEX_3A17 + 1)
|
|
||||||
-#define PREFIX_VEX_3A19 (PREFIX_VEX_3A18 + 1)
|
|
||||||
-#define PREFIX_VEX_3A20 (PREFIX_VEX_3A19 + 1)
|
|
||||||
-#define PREFIX_VEX_3A21 (PREFIX_VEX_3A20 + 1)
|
|
||||||
-#define PREFIX_VEX_3A22 (PREFIX_VEX_3A21 + 1)
|
|
||||||
-#define PREFIX_VEX_3A40 (PREFIX_VEX_3A22 + 1)
|
|
||||||
-#define PREFIX_VEX_3A41 (PREFIX_VEX_3A40 + 1)
|
|
||||||
-#define PREFIX_VEX_3A42 (PREFIX_VEX_3A41 + 1)
|
|
||||||
-#define PREFIX_VEX_3A48 (PREFIX_VEX_3A42 + 1)
|
|
||||||
-#define PREFIX_VEX_3A49 (PREFIX_VEX_3A48 + 1)
|
|
||||||
-#define PREFIX_VEX_3A4A (PREFIX_VEX_3A49 + 1)
|
|
||||||
-#define PREFIX_VEX_3A4B (PREFIX_VEX_3A4A + 1)
|
|
||||||
-#define PREFIX_VEX_3A4C (PREFIX_VEX_3A4B + 1)
|
|
||||||
-#define PREFIX_VEX_3A5C (PREFIX_VEX_3A4C + 1)
|
|
||||||
-#define PREFIX_VEX_3A5D (PREFIX_VEX_3A5C + 1)
|
|
||||||
-#define PREFIX_VEX_3A5E (PREFIX_VEX_3A5D + 1)
|
|
||||||
-#define PREFIX_VEX_3A5F (PREFIX_VEX_3A5E + 1)
|
|
||||||
-#define PREFIX_VEX_3A60 (PREFIX_VEX_3A5F + 1)
|
|
||||||
-#define PREFIX_VEX_3A61 (PREFIX_VEX_3A60 + 1)
|
|
||||||
-#define PREFIX_VEX_3A62 (PREFIX_VEX_3A61 + 1)
|
|
||||||
-#define PREFIX_VEX_3A63 (PREFIX_VEX_3A62 + 1)
|
|
||||||
-#define PREFIX_VEX_3A68 (PREFIX_VEX_3A63 + 1)
|
|
||||||
-#define PREFIX_VEX_3A69 (PREFIX_VEX_3A68 + 1)
|
|
||||||
-#define PREFIX_VEX_3A6A (PREFIX_VEX_3A69 + 1)
|
|
||||||
-#define PREFIX_VEX_3A6B (PREFIX_VEX_3A6A + 1)
|
|
||||||
-#define PREFIX_VEX_3A6C (PREFIX_VEX_3A6B + 1)
|
|
||||||
-#define PREFIX_VEX_3A6D (PREFIX_VEX_3A6C + 1)
|
|
||||||
-#define PREFIX_VEX_3A6E (PREFIX_VEX_3A6D + 1)
|
|
||||||
-#define PREFIX_VEX_3A6F (PREFIX_VEX_3A6E + 1)
|
|
||||||
-#define PREFIX_VEX_3A78 (PREFIX_VEX_3A6F + 1)
|
|
||||||
-#define PREFIX_VEX_3A79 (PREFIX_VEX_3A78 + 1)
|
|
||||||
-#define PREFIX_VEX_3A7A (PREFIX_VEX_3A79 + 1)
|
|
||||||
-#define PREFIX_VEX_3A7B (PREFIX_VEX_3A7A + 1)
|
|
||||||
-#define PREFIX_VEX_3A7C (PREFIX_VEX_3A7B + 1)
|
|
||||||
-#define PREFIX_VEX_3A7D (PREFIX_VEX_3A7C + 1)
|
|
||||||
-#define PREFIX_VEX_3A7E (PREFIX_VEX_3A7D + 1)
|
|
||||||
-#define PREFIX_VEX_3A7F (PREFIX_VEX_3A7E + 1)
|
|
||||||
+#define PREFIX_VEX_3800 (PREFIX_VEX_FE + 1)
|
|
||||||
+#define PREFIX_VEX_3801 (PREFIX_VEX_3800 + 1)
|
|
||||||
+#define PREFIX_VEX_3802 (PREFIX_VEX_3801 + 1)
|
|
||||||
+#define PREFIX_VEX_3803 (PREFIX_VEX_3802 + 1)
|
|
||||||
+#define PREFIX_VEX_3804 (PREFIX_VEX_3803 + 1)
|
|
||||||
+#define PREFIX_VEX_3805 (PREFIX_VEX_3804 + 1)
|
|
||||||
+#define PREFIX_VEX_3806 (PREFIX_VEX_3805 + 1)
|
|
||||||
+#define PREFIX_VEX_3807 (PREFIX_VEX_3806 + 1)
|
|
||||||
+#define PREFIX_VEX_3808 (PREFIX_VEX_3807 + 1)
|
|
||||||
+#define PREFIX_VEX_3809 (PREFIX_VEX_3808 + 1)
|
|
||||||
+#define PREFIX_VEX_380A (PREFIX_VEX_3809 + 1)
|
|
||||||
+#define PREFIX_VEX_380B (PREFIX_VEX_380A + 1)
|
|
||||||
+#define PREFIX_VEX_380C (PREFIX_VEX_380B + 1)
|
|
||||||
+#define PREFIX_VEX_380D (PREFIX_VEX_380C + 1)
|
|
||||||
+#define PREFIX_VEX_380E (PREFIX_VEX_380D + 1)
|
|
||||||
+#define PREFIX_VEX_380F (PREFIX_VEX_380E + 1)
|
|
||||||
+#define PREFIX_VEX_3817 (PREFIX_VEX_380F + 1)
|
|
||||||
+#define PREFIX_VEX_3818 (PREFIX_VEX_3817 + 1)
|
|
||||||
+#define PREFIX_VEX_3819 (PREFIX_VEX_3818 + 1)
|
|
||||||
+#define PREFIX_VEX_381A (PREFIX_VEX_3819 + 1)
|
|
||||||
+#define PREFIX_VEX_381C (PREFIX_VEX_381A + 1)
|
|
||||||
+#define PREFIX_VEX_381D (PREFIX_VEX_381C + 1)
|
|
||||||
+#define PREFIX_VEX_381E (PREFIX_VEX_381D + 1)
|
|
||||||
+#define PREFIX_VEX_3820 (PREFIX_VEX_381E + 1)
|
|
||||||
+#define PREFIX_VEX_3821 (PREFIX_VEX_3820 + 1)
|
|
||||||
+#define PREFIX_VEX_3822 (PREFIX_VEX_3821 + 1)
|
|
||||||
+#define PREFIX_VEX_3823 (PREFIX_VEX_3822 + 1)
|
|
||||||
+#define PREFIX_VEX_3824 (PREFIX_VEX_3823 + 1)
|
|
||||||
+#define PREFIX_VEX_3825 (PREFIX_VEX_3824 + 1)
|
|
||||||
+#define PREFIX_VEX_3828 (PREFIX_VEX_3825 + 1)
|
|
||||||
+#define PREFIX_VEX_3829 (PREFIX_VEX_3828 + 1)
|
|
||||||
+#define PREFIX_VEX_382A (PREFIX_VEX_3829 + 1)
|
|
||||||
+#define PREFIX_VEX_382B (PREFIX_VEX_382A + 1)
|
|
||||||
+#define PREFIX_VEX_382C (PREFIX_VEX_382B + 1)
|
|
||||||
+#define PREFIX_VEX_382D (PREFIX_VEX_382C + 1)
|
|
||||||
+#define PREFIX_VEX_382E (PREFIX_VEX_382D + 1)
|
|
||||||
+#define PREFIX_VEX_382F (PREFIX_VEX_382E + 1)
|
|
||||||
+#define PREFIX_VEX_3830 (PREFIX_VEX_382F + 1)
|
|
||||||
+#define PREFIX_VEX_3831 (PREFIX_VEX_3830 + 1)
|
|
||||||
+#define PREFIX_VEX_3832 (PREFIX_VEX_3831 + 1)
|
|
||||||
+#define PREFIX_VEX_3833 (PREFIX_VEX_3832 + 1)
|
|
||||||
+#define PREFIX_VEX_3834 (PREFIX_VEX_3833 + 1)
|
|
||||||
+#define PREFIX_VEX_3835 (PREFIX_VEX_3834 + 1)
|
|
||||||
+#define PREFIX_VEX_3837 (PREFIX_VEX_3835 + 1)
|
|
||||||
+#define PREFIX_VEX_3838 (PREFIX_VEX_3837 + 1)
|
|
||||||
+#define PREFIX_VEX_3839 (PREFIX_VEX_3838 + 1)
|
|
||||||
+#define PREFIX_VEX_383A (PREFIX_VEX_3839 + 1)
|
|
||||||
+#define PREFIX_VEX_383B (PREFIX_VEX_383A + 1)
|
|
||||||
+#define PREFIX_VEX_383C (PREFIX_VEX_383B + 1)
|
|
||||||
+#define PREFIX_VEX_383D (PREFIX_VEX_383C + 1)
|
|
||||||
+#define PREFIX_VEX_383E (PREFIX_VEX_383D + 1)
|
|
||||||
+#define PREFIX_VEX_383F (PREFIX_VEX_383E + 1)
|
|
||||||
+#define PREFIX_VEX_3840 (PREFIX_VEX_383F + 1)
|
|
||||||
+#define PREFIX_VEX_3841 (PREFIX_VEX_3840 + 1)
|
|
||||||
+#define PREFIX_VEX_3A04 (PREFIX_VEX_3841 + 1)
|
|
||||||
+#define PREFIX_VEX_3A05 (PREFIX_VEX_3A04 + 1)
|
|
||||||
+#define PREFIX_VEX_3A06 (PREFIX_VEX_3A05 + 1)
|
|
||||||
+#define PREFIX_VEX_3A08 (PREFIX_VEX_3A06 + 1)
|
|
||||||
+#define PREFIX_VEX_3A09 (PREFIX_VEX_3A08 + 1)
|
|
||||||
+#define PREFIX_VEX_3A0A (PREFIX_VEX_3A09 + 1)
|
|
||||||
+#define PREFIX_VEX_3A0B (PREFIX_VEX_3A0A + 1)
|
|
||||||
+#define PREFIX_VEX_3A0C (PREFIX_VEX_3A0B + 1)
|
|
||||||
+#define PREFIX_VEX_3A0D (PREFIX_VEX_3A0C + 1)
|
|
||||||
+#define PREFIX_VEX_3A0E (PREFIX_VEX_3A0D + 1)
|
|
||||||
+#define PREFIX_VEX_3A0F (PREFIX_VEX_3A0E + 1)
|
|
||||||
+#define PREFIX_VEX_3A14 (PREFIX_VEX_3A0F + 1)
|
|
||||||
+#define PREFIX_VEX_3A15 (PREFIX_VEX_3A14 + 1)
|
|
||||||
+#define PREFIX_VEX_3A16 (PREFIX_VEX_3A15 + 1)
|
|
||||||
+#define PREFIX_VEX_3A17 (PREFIX_VEX_3A16 + 1)
|
|
||||||
+#define PREFIX_VEX_3A18 (PREFIX_VEX_3A17 + 1)
|
|
||||||
+#define PREFIX_VEX_3A19 (PREFIX_VEX_3A18 + 1)
|
|
||||||
+#define PREFIX_VEX_3A20 (PREFIX_VEX_3A19 + 1)
|
|
||||||
+#define PREFIX_VEX_3A21 (PREFIX_VEX_3A20 + 1)
|
|
||||||
+#define PREFIX_VEX_3A22 (PREFIX_VEX_3A21 + 1)
|
|
||||||
+#define PREFIX_VEX_3A40 (PREFIX_VEX_3A22 + 1)
|
|
||||||
+#define PREFIX_VEX_3A41 (PREFIX_VEX_3A40 + 1)
|
|
||||||
+#define PREFIX_VEX_3A42 (PREFIX_VEX_3A41 + 1)
|
|
||||||
+#define PREFIX_VEX_3A48 (PREFIX_VEX_3A42 + 1)
|
|
||||||
+#define PREFIX_VEX_3A49 (PREFIX_VEX_3A48 + 1)
|
|
||||||
+#define PREFIX_VEX_3A4A (PREFIX_VEX_3A49 + 1)
|
|
||||||
+#define PREFIX_VEX_3A4B (PREFIX_VEX_3A4A + 1)
|
|
||||||
+#define PREFIX_VEX_3A4C (PREFIX_VEX_3A4B + 1)
|
|
||||||
+#define PREFIX_VEX_3A5C (PREFIX_VEX_3A4C + 1)
|
|
||||||
+#define PREFIX_VEX_3A5D (PREFIX_VEX_3A5C + 1)
|
|
||||||
+#define PREFIX_VEX_3A5E (PREFIX_VEX_3A5D + 1)
|
|
||||||
+#define PREFIX_VEX_3A5F (PREFIX_VEX_3A5E + 1)
|
|
||||||
+#define PREFIX_VEX_3A60 (PREFIX_VEX_3A5F + 1)
|
|
||||||
+#define PREFIX_VEX_3A61 (PREFIX_VEX_3A60 + 1)
|
|
||||||
+#define PREFIX_VEX_3A62 (PREFIX_VEX_3A61 + 1)
|
|
||||||
+#define PREFIX_VEX_3A63 (PREFIX_VEX_3A62 + 1)
|
|
||||||
+#define PREFIX_VEX_3A68 (PREFIX_VEX_3A63 + 1)
|
|
||||||
+#define PREFIX_VEX_3A69 (PREFIX_VEX_3A68 + 1)
|
|
||||||
+#define PREFIX_VEX_3A6A (PREFIX_VEX_3A69 + 1)
|
|
||||||
+#define PREFIX_VEX_3A6B (PREFIX_VEX_3A6A + 1)
|
|
||||||
+#define PREFIX_VEX_3A6C (PREFIX_VEX_3A6B + 1)
|
|
||||||
+#define PREFIX_VEX_3A6D (PREFIX_VEX_3A6C + 1)
|
|
||||||
+#define PREFIX_VEX_3A6E (PREFIX_VEX_3A6D + 1)
|
|
||||||
+#define PREFIX_VEX_3A6F (PREFIX_VEX_3A6E + 1)
|
|
||||||
+#define PREFIX_VEX_3A78 (PREFIX_VEX_3A6F + 1)
|
|
||||||
+#define PREFIX_VEX_3A79 (PREFIX_VEX_3A78 + 1)
|
|
||||||
+#define PREFIX_VEX_3A7A (PREFIX_VEX_3A79 + 1)
|
|
||||||
+#define PREFIX_VEX_3A7B (PREFIX_VEX_3A7A + 1)
|
|
||||||
+#define PREFIX_VEX_3A7C (PREFIX_VEX_3A7B + 1)
|
|
||||||
+#define PREFIX_VEX_3A7D (PREFIX_VEX_3A7C + 1)
|
|
||||||
+#define PREFIX_VEX_3A7E (PREFIX_VEX_3A7D + 1)
|
|
||||||
+#define PREFIX_VEX_3A7F (PREFIX_VEX_3A7E + 1)
|
|
||||||
|
|
||||||
#define X86_64_06 0
|
|
||||||
#define X86_64_07 (X86_64_06 + 1)
|
|
||||||
--- opcodes/i386-gen.c 3 Apr 2008 14:03:21 -0000 1.36
|
|
||||||
+++ opcodes/i386-gen.c 4 Apr 2008 16:34:22 -0000 1.37
|
|
||||||
@@ -104,8 +104,8 @@ static initializer cpu_flag_init [] =
|
|
||||||
"CpuXsave" },
|
|
||||||
{ "CPU_AES_FLAGS",
|
|
||||||
"CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAES" },
|
|
||||||
- { "CPU_CLMUL_FLAGS",
|
|
||||||
- "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuCLMUL" },
|
|
||||||
+ { "CPU_PCLMUL_FLAGS",
|
|
||||||
+ "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuPCLMUL" },
|
|
||||||
{ "CPU_FMA_FLAGS",
|
|
||||||
"CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuFMA" },
|
|
||||||
{ "CPU_3DNOW_FLAGS",
|
|
||||||
@@ -263,7 +263,7 @@ static bitfield cpu_flags[] =
|
|
||||||
BITFIELD (CpuABM),
|
|
||||||
BITFIELD (CpuXsave),
|
|
||||||
BITFIELD (CpuAES),
|
|
||||||
- BITFIELD (CpuCLMUL),
|
|
||||||
+ BITFIELD (CpuPCLMUL),
|
|
||||||
BITFIELD (CpuFMA),
|
|
||||||
BITFIELD (CpuLM),
|
|
||||||
BITFIELD (Cpu64),
|
|
||||||
--- opcodes/i386-init.h 3 Apr 2008 14:03:21 -0000 1.16
|
|
||||||
+++ opcodes/i386-init.h 4 Apr 2008 16:34:22 -0000 1.17
|
|
||||||
@@ -146,7 +146,7 @@
|
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, \
|
|
||||||
0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }
|
|
||||||
|
|
||||||
-#define CPU_CLMUL_FLAGS \
|
|
||||||
+#define CPU_PCLMUL_FLAGS \
|
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, \
|
|
||||||
0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }
|
|
||||||
|
|
||||||
--- opcodes/i386-opc.h 3 Apr 2008 14:03:21 -0000 1.40
|
|
||||||
+++ opcodes/i386-opc.h 4 Apr 2008 16:34:22 -0000 1.41
|
|
||||||
@@ -86,10 +86,10 @@
|
|
||||||
#define CpuXsave (CpuAVX + 1)
|
|
||||||
/* AES support required */
|
|
||||||
#define CpuAES (CpuXsave + 1)
|
|
||||||
-/* CLMUL support required */
|
|
||||||
-#define CpuCLMUL (CpuAES + 1)
|
|
||||||
+/* PCLMUL support required */
|
|
||||||
+#define CpuPCLMUL (CpuAES + 1)
|
|
||||||
/* FMA support required */
|
|
||||||
-#define CpuFMA (CpuCLMUL + 1)
|
|
||||||
+#define CpuFMA (CpuPCLMUL + 1)
|
|
||||||
/* 64bit support available, used by -march= in assembler. */
|
|
||||||
#define CpuLM (CpuFMA + 1)
|
|
||||||
/* 64bit support required */
|
|
||||||
@@ -142,7 +142,7 @@ typedef union i386_cpu_flags
|
|
||||||
unsigned int cpuavx:1;
|
|
||||||
unsigned int cpuxsave:1;
|
|
||||||
unsigned int cpuaes:1;
|
|
||||||
- unsigned int cpuclmul:1;
|
|
||||||
+ unsigned int cpupclmul:1;
|
|
||||||
unsigned int cpufma:1;
|
|
||||||
unsigned int cpulm:1;
|
|
||||||
unsigned int cpu64:1;
|
|
||||||
--- opcodes/i386-opc.tbl 3 Apr 2008 14:03:21 -0000 1.36
|
|
||||||
+++ opcodes/i386-opc.tbl 7 Apr 2008 17:35:12 -0000 1.38
|
|
||||||
@@ -1722,13 +1722,13 @@ aesenclast, 2, 0x660f38dd, None, 3, CpuA
|
|
||||||
aesimc, 2, 0x660f38db, None, 3, CpuAES, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
|
||||||
aeskeygenassist, 3, 0x660f3adf, None, 3, CpuAES, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
|
||||||
|
|
||||||
-// CLMUL
|
|
||||||
+// PCLMUL
|
|
||||||
|
|
||||||
-pclmulqdq, 3, 0x660f3a44, None, 3, CpuCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
|
||||||
-pclmullqlqdq, 2, 0x660f3a44, 0x0, 3, CpuCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
|
||||||
-pclmulhqlqdq, 2, 0x660f3a44, 0x1, 3, CpuCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
|
||||||
-pclmullqhqdq, 2, 0x660f3a44, 0x10, 3, CpuCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
|
||||||
-pclmulhqhqdq, 2, 0x660f3a44, 0x11, 3, CpuCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
|
||||||
+pclmulqdq, 3, 0x660f3a44, None, 3, CpuPCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
|
||||||
+pclmullqlqdq, 2, 0x660f3a44, 0x0, 3, CpuPCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
|
||||||
+pclmulhqlqdq, 2, 0x660f3a44, 0x1, 3, CpuPCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
|
||||||
+pclmullqhqdq, 2, 0x660f3a44, 0x10, 3, CpuPCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
|
||||||
+pclmulhqhqdq, 2, 0x660f3a44, 0x11, 3, CpuPCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
|
||||||
|
|
||||||
// AVX instructions.
|
|
||||||
|
|
||||||
@@ -2338,10 +2338,6 @@ vxorps, 3, 0x57, None, 1, CpuAVX, Modrm|
|
|
||||||
vzeroall, 0, 0x77, None, 1, CpuAVX, Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
|
|
||||||
vzeroupper, 0, 0x77, None, 1, CpuAVX, Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
|
|
||||||
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-
|
|
||||||
// FMA instructions
|
|
||||||
|
|
||||||
vfmaddpd, 4, 0x6669, None, 1, CpuFMA, Modrm|Vex|Vex0F3A|VexNDS|VexW1|Vex3Sources|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM, RegXMM }
|
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
* emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.opd.
|
* emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.opd.
|
||||||
|
|
||||||
--- ld/emulparams/elf64ppc.sh.jj 2003-07-28 10:24:45.000000000 -0400
|
--- ld/emulparams/elf64ppc.sh 2007-03-16 16:48:30.000000000 +0100
|
||||||
+++ ld/emulparams/elf64ppc.sh 2003-08-05 08:35:58.000000000 -0400
|
+++ ld/emulparams/elf64ppc.sh 2008-07-25 20:11:20.000000000 +0200
|
||||||
@@ -28,7 +28,8 @@ else
|
@@ -28,7 +28,8 @@ else
|
||||||
.toc 0 : { *(.toc) }"
|
.toc 0 : { *(.toc) }"
|
||||||
fi
|
fi
|
||||||
@ -12,5 +12,5 @@
|
|||||||
+ .rela.toc ${RELOCATING-0} : { *(.rela.toc) }
|
+ .rela.toc ${RELOCATING-0} : { *(.rela.toc) }
|
||||||
+ .rela.opd ${RELOCATING-0} : { *(.rela.opd) }"
|
+ .rela.opd ${RELOCATING-0} : { *(.rela.opd) }"
|
||||||
OTHER_READWRITE_SECTIONS="
|
OTHER_READWRITE_SECTIONS="
|
||||||
.toc1 ${RELOCATING-0}${RELOCATING+ALIGN(8)} : { *(.toc1) }
|
.toc1 ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) }
|
||||||
.opd ${RELOCATING-0}${RELOCATING+ALIGN(8)} : { KEEP (*(.opd)) }"
|
.opd ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) }
|
46
binutils-2.18.50.0.8-spu_ovl-dependency.patch
Normal file
46
binutils-2.18.50.0.8-spu_ovl-dependency.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
2008-07-30 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
* Makefile.def: ld's spu_ovl.o depends on gas and binutils.
|
||||||
|
* Makefile.in: Regenerate.
|
||||||
|
|
||||||
|
--- Makefile.def 30 Jul 2008 15:03:54 -0000 1.92
|
||||||
|
+++ Makefile.def 30 Jul 2008 21:18:12 -0000
|
||||||
|
@@ -378,6 +378,9 @@ dependencies = { module=all-ld; on=all-b
|
||||||
|
dependencies = { module=all-ld; on=all-build-byacc; };
|
||||||
|
dependencies = { module=all-ld; on=all-build-flex; };
|
||||||
|
dependencies = { module=all-ld; on=all-intl; };
|
||||||
|
+// spu_ovl.o depends on both gas and binutils/bin2c
|
||||||
|
+dependencies = { module=all-ld; on=all-gas; };
|
||||||
|
+dependencies = { module=all-ld; on=all-binutils; };
|
||||||
|
dependencies = { module=configure-gold; on=configure-intl; };
|
||||||
|
dependencies = { module=all-gold; on=all-libiberty; };
|
||||||
|
dependencies = { module=all-gold; on=all-intl; };
|
||||||
|
--- Makefile.in 30 Jul 2008 15:03:54 -0000 1.285
|
||||||
|
+++ Makefile.in 30 Jul 2008 21:18:34 -0000
|
||||||
|
@@ -53308,6 +53308,26 @@ all-stageb3g2-ld: maybe-all-stageb3g2-in
|
||||||
|
all-stage4-ld: maybe-all-stage4-intl
|
||||||
|
all-stageprofile-ld: maybe-all-stageprofile-intl
|
||||||
|
all-stagefeedback-ld: maybe-all-stagefeedback-intl
|
||||||
|
+all-ld: maybe-all-gas
|
||||||
|
+
|
||||||
|
+all-stage1-ld: maybe-all-stage1-gas
|
||||||
|
+all-stage2-ld: maybe-all-stage2-gas
|
||||||
|
+all-stageb2g0-ld: maybe-all-stageb2g0-gas
|
||||||
|
+all-stage3-ld: maybe-all-stage3-gas
|
||||||
|
+all-stageb3g2-ld: maybe-all-stageb3g2-gas
|
||||||
|
+all-stage4-ld: maybe-all-stage4-gas
|
||||||
|
+all-stageprofile-ld: maybe-all-stageprofile-gas
|
||||||
|
+all-stagefeedback-ld: maybe-all-stagefeedback-gas
|
||||||
|
+all-ld: maybe-all-binutils
|
||||||
|
+
|
||||||
|
+all-stage1-ld: maybe-all-stage1-binutils
|
||||||
|
+all-stage2-ld: maybe-all-stage2-binutils
|
||||||
|
+all-stageb2g0-ld: maybe-all-stageb2g0-binutils
|
||||||
|
+all-stage3-ld: maybe-all-stage3-binutils
|
||||||
|
+all-stageb3g2-ld: maybe-all-stageb3g2-binutils
|
||||||
|
+all-stage4-ld: maybe-all-stage4-binutils
|
||||||
|
+all-stageprofile-ld: maybe-all-stageprofile-binutils
|
||||||
|
+all-stagefeedback-ld: maybe-all-stagefeedback-binutils
|
||||||
|
configure-gold: maybe-configure-intl
|
||||||
|
|
||||||
|
configure-stage1-gold: maybe-configure-stage1-intl
|
20
binutils-2.18.50.0.8-spu_ovl-fatal.patch
Normal file
20
binutils-2.18.50.0.8-spu_ovl-fatal.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
2008-07-30 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
* emultempl/spuelf.em: Abort on the missing required `spu_ovl.o'.
|
||||||
|
|
||||||
|
--- ld/emultempl/spuelf.em 19 Jun 2008 16:14:53 -0000 1.24
|
||||||
|
+++ ld/emultempl/spuelf.em 30 Jul 2008 18:28:25 -0000
|
||||||
|
@@ -57,7 +57,12 @@ char **my_argv;
|
||||||
|
static const char ovl_mgr[] = {
|
||||||
|
EOF
|
||||||
|
|
||||||
|
-../binutils/bin2c < ${srcdir}/emultempl/spu_ovl.o >> e${EMULATION_NAME}.c
|
||||||
|
+if ! ../binutils/bin2c < ${srcdir}/emultempl/spu_ovl.o >> e${EMULATION_NAME}.c
|
||||||
|
+then
|
||||||
|
+ echo >&2 "Missing ${srcdir}/emultempl/spu_ovl.o"
|
||||||
|
+ echo >&2 "You must build gas/as-new with --target=spu to build spu_ovl.o"
|
||||||
|
+ exit 1
|
||||||
|
+fi
|
||||||
|
|
||||||
|
fragment <<EOF
|
||||||
|
};
|
@ -1,16 +1,18 @@
|
|||||||
--- ld/NEWS.jj 2007-05-11 11:24:08.000000000 -0400
|
It reverts the H.J. Lu's binutils custom patch.
|
||||||
+++ ld/NEWS 2007-06-12 05:04:49.000000000 -0400
|
|
||||||
|
--- ld/NEWS 2008-07-10 17:33:23.000000000 +0200
|
||||||
|
+++ ld/NEWS 2008-07-30 21:24:25.000000000 +0200
|
||||||
@@ -1,7 +1,4 @@
|
@@ -1,7 +1,4 @@
|
||||||
-*- text -*-
|
-*- text -*-
|
||||||
-* ELF: Support environment variables, LD_SYMBOLIC for -Bsymbolic and
|
-* ELF: Support environment variables, LD_SYMBOLIC for -Bsymbolic and
|
||||||
- LD_SYMBOLIC_FUNCTIONS for -Bsymbolic-functions.
|
- LD_SYMBOLIC_FUNCTIONS for -Bsymbolic-functions.
|
||||||
-
|
-
|
||||||
Changes in 2.18:
|
* Linker script input section filespecs may now specify a file within an
|
||||||
|
archive by writing "archive:file".
|
||||||
|
|
||||||
* Linker sources now released under version 3 of the GNU General Public
|
--- ld/ld.texinfo 2008-07-10 17:33:23.000000000 +0200
|
||||||
--- ld/ld.texinfo.jj 2007-05-11 11:24:08.000000000 -0400
|
+++ ld/ld.texinfo 2008-07-30 21:24:05.000000000 +0200
|
||||||
+++ ld/ld.texinfo 2007-06-12 05:04:33.000000000 -0400
|
@@ -1147,21 +1147,14 @@ When creating a shared library, bind ref
|
||||||
@@ -1142,21 +1142,14 @@ When creating a shared library, bind ref
|
|
||||||
definition within the shared library, if any. Normally, it is possible
|
definition within the shared library, if any. Normally, it is possible
|
||||||
for a program linked against a shared library to override the definition
|
for a program linked against a shared library to override the definition
|
||||||
within the shared library. This option is only meaningful on ELF
|
within the shared library. This option is only meaningful on ELF
|
||||||
@ -34,9 +36,9 @@
|
|||||||
|
|
||||||
@kindex --dynamic-list=@var{dynamic-list-file}
|
@kindex --dynamic-list=@var{dynamic-list-file}
|
||||||
@item --dynamic-list=@var{dynamic-list-file}
|
@item --dynamic-list=@var{dynamic-list-file}
|
||||||
--- ld/ldmain.c.jj 2007-05-11 11:24:08.000000000 -0400
|
--- ld/ldmain.c 2008-07-10 17:33:23.000000000 +0200
|
||||||
+++ ld/ldmain.c 2007-06-12 05:05:48.000000000 -0400
|
+++ ld/ldmain.c 2008-07-30 21:24:05.000000000 +0200
|
||||||
@@ -254,11 +254,6 @@ main (int argc, char **argv)
|
@@ -258,11 +258,6 @@ main (int argc, char **argv)
|
||||||
command_line.warn_search_mismatch = TRUE;
|
command_line.warn_search_mismatch = TRUE;
|
||||||
command_line.check_section_addresses = TRUE;
|
command_line.check_section_addresses = TRUE;
|
||||||
|
|
180
binutils.spec
180
binutils.spec
@ -1,22 +1,44 @@
|
|||||||
|
%define _default_patch_fuzz 2
|
||||||
|
# rpmbuild parameters:
|
||||||
|
# --define "binutils_target arm-linux-gnu" to create arm-linux-gnu-binutils.
|
||||||
|
# --with debug: Build without optimizations and without splitting the debuginfo.
|
||||||
|
# --without testsuite: Do not run the testsuite. Default is to run it.
|
||||||
|
|
||||||
|
%if 0%{!?binutils_target:1}
|
||||||
|
%define binutils_target %{_target_platform}
|
||||||
|
%define isnative 1
|
||||||
|
%else
|
||||||
|
%define cross %{binutils_target}-
|
||||||
|
%define isnative 0
|
||||||
|
%endif
|
||||||
|
|
||||||
Summary: A GNU collection of binary utilities.
|
Summary: A GNU collection of binary utilities.
|
||||||
Name: binutils
|
Name: %{?cross}binutils%{?_with_debug:-debug}
|
||||||
Version: 2.18.50.0.6
|
Version: 2.18.50.0.8
|
||||||
Release: 4%{?dist}
|
Release: 1%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
URL: http://sources.redhat.com/binutils
|
URL: http://sources.redhat.com/binutils
|
||||||
Source: ftp://ftp.kernel.org/pub/linux/devel/binutils/binutils-%{version}.tar.bz2
|
Source: ftp://ftp.kernel.org/pub/linux/devel/binutils/binutils-%{version}.tar.bz2
|
||||||
Patch1: binutils-2.18.50.0.6-ltconfig-multilib.patch
|
Patch1: binutils-2.18.50.0.6-ltconfig-multilib.patch
|
||||||
Patch2: binutils-2.18.50.0.6-ppc64-pie.patch
|
Patch2: binutils-2.18.50.0.6-ppc64-pie.patch
|
||||||
Patch3: binutils-2.18.50.0.6-place-orphan.patch
|
Patch3: binutils-2.18.50.0.8-place-orphan.patch
|
||||||
Patch4: binutils-2.18.50.0.6-ia64-lib64.patch
|
Patch4: binutils-2.18.50.0.6-ia64-lib64.patch
|
||||||
Patch5: binutils-2.18.50.0.6-build-fixes.patch
|
Patch5: binutils-2.18.50.0.6-build-fixes.patch
|
||||||
Patch6: binutils-2.18.50.0.6-symbolic-envvar-revert.patch
|
Patch6: binutils-2.18.50.0.8-symbolic-envvar-revert.patch
|
||||||
Patch7: binutils-2.18.50.0.6-version.patch
|
Patch7: binutils-2.18.50.0.6-version.patch
|
||||||
Patch8: binutils-2.18.50.0.6-pclmul.patch
|
Patch8: binutils-2.18.50.0.8-spu_ovl-fatal.patch
|
||||||
|
Patch9: binutils-2.18.50.0.8-spu_ovl-dependency.patch
|
||||||
|
|
||||||
|
%if 0%{?_with_debug:1}
|
||||||
|
# Define this if you want to skip the strip step and preserve debug info.
|
||||||
|
# Useful for testing.
|
||||||
|
%define __debug_install_post : > %{_builddir}/%{?buildsubdir}/debugfiles.list
|
||||||
|
%define debug_package %{nil}
|
||||||
|
%endif
|
||||||
|
|
||||||
Buildroot: %{_tmppath}/binutils-root
|
Buildroot: %{_tmppath}/binutils-root
|
||||||
BuildRequires: texinfo >= 4.0, dejagnu, gettext, flex, bison
|
BuildRequires: texinfo >= 4.0, dejagnu, gettext, flex, bison, automake, autoconf
|
||||||
Conflicts: gcc-c++ < 4.0.0
|
Conflicts: gcc-c++ < 4.0.0
|
||||||
Prereq: /sbin/install-info
|
Prereq: /sbin/install-info
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
@ -54,7 +76,7 @@ have a stable ABI. Developers starting new projects are strongly encouraged
|
|||||||
to consider using libelf instead of BFD.
|
to consider using libelf instead of BFD.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q -n binutils-%{version}
|
||||||
%patch1 -p0 -b .ltconfig-multilib~
|
%patch1 -p0 -b .ltconfig-multilib~
|
||||||
%patch2 -p0 -b .ppc64-pie~
|
%patch2 -p0 -b .ppc64-pie~
|
||||||
%patch3 -p0 -b .place-orphan~
|
%patch3 -p0 -b .place-orphan~
|
||||||
@ -66,9 +88,12 @@ to consider using libelf instead of BFD.
|
|||||||
%patch5 -p0 -b .build-fixes~
|
%patch5 -p0 -b .build-fixes~
|
||||||
%patch6 -p0 -b .symbolic-envvar-revert~
|
%patch6 -p0 -b .symbolic-envvar-revert~
|
||||||
%patch7 -p0 -b .version~
|
%patch7 -p0 -b .version~
|
||||||
%patch8 -p0 -b .pclmul~
|
%patch8 -p0 -b .spu_ovl-fatal~
|
||||||
|
%patch9 -p0 -b .spu_ovl-dependency~
|
||||||
|
|
||||||
# On ppc64 we might use 64K pages
|
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
|
||||||
|
|
||||||
|
# On ppc64 we might use 64KiB pages
|
||||||
sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*ppc.c
|
sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*ppc.c
|
||||||
# LTP sucks
|
# LTP sucks
|
||||||
perl -pi -e 's/i\[3-7\]86/i[34567]86/g' */conf*
|
perl -pi -e 's/i\[3-7\]86/i[34567]86/g' */conf*
|
||||||
@ -79,39 +104,99 @@ if gcc %{optflags} -v --help 2>&1 | grep -q -- -Bsymbolic-functions; then
|
|||||||
sed -i -e 's/^libbfd_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' bfd/Makefile.{am,in}
|
sed -i -e 's/^libbfd_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' bfd/Makefile.{am,in}
|
||||||
sed -i -e 's/^libopcodes_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' opcodes/Makefile.{am,in}
|
sed -i -e 's/^libopcodes_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' opcodes/Makefile.{am,in}
|
||||||
fi
|
fi
|
||||||
|
# $PACKAGE is used for the gettext catalog name.
|
||||||
|
sed -i -e 's/^ PACKAGE=/ PACKAGE=%{?cross}/' */configure
|
||||||
|
# Undo the name change to run the testsuite.
|
||||||
|
for tool in binutils gas ld
|
||||||
|
do
|
||||||
|
sed -i -e "2aDEJATOOL = $tool" $tool/Makefile.am
|
||||||
|
sed -i -e "s/^DEJATOOL = .*/DEJATOOL = $tool/" $tool/Makefile.in
|
||||||
|
done
|
||||||
touch */configure
|
touch */configure
|
||||||
|
|
||||||
%build
|
%build
|
||||||
mkdir build-%{_target_platform}
|
echo target is %{binutils_target}
|
||||||
cd build-%{_target_platform}
|
export CFLAGS="$RPM_OPT_FLAGS"
|
||||||
CARGS=
|
CARGS=
|
||||||
%ifarch sparc ppc s390
|
|
||||||
CARGS=--enable-64-bit-bfd
|
case %{binutils_target} in sparc*|ppc*|s390*)
|
||||||
|
CARGS="$CARGS --enable-64-bit-bfd"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case %{binutils_target} in ia64*)
|
||||||
|
CARGS="--enable-targets=i386-linux"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case %{binutils_target} in ppc*|ppc64*)
|
||||||
|
CARGS="--enable-targets=spu"
|
||||||
|
# This file is present in CVS but missing in H. J. Lu's snapshots.
|
||||||
|
# To include it for --enable-targets=spu we need to build gas by --target=spu.
|
||||||
|
! test -f ld/emultempl/spu_ovl.o
|
||||||
|
mkdir build-spu
|
||||||
|
cd build-spu
|
||||||
|
CFLAGS="${CFLAGS:-%optflags} -O0 -s" ../configure \
|
||||||
|
--target=spu --disable-shared --enable-static --disable-werror \
|
||||||
|
--with-bugurl=http://bugzilla.redhat.com/bugzilla/
|
||||||
|
make %{_smp_mflags} all
|
||||||
|
cd ..
|
||||||
|
test -f ld/emultempl/spu_ovl.o
|
||||||
|
rm -rf build-spu
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
mkdir build-%{binutils_target}
|
||||||
|
cd build-%{binutils_target}
|
||||||
|
|
||||||
|
%if 0%{?_with_debug:1}
|
||||||
|
# --enable-werror could conflict with `-Wall -O0' but this is no longer true
|
||||||
|
# for recent GCCs.
|
||||||
|
CFLAGS="$CFLAGS -O0 -ggdb2"
|
||||||
%endif
|
%endif
|
||||||
%ifarch ia64
|
|
||||||
CARGS=--enable-targets=i386-linux
|
# We could optimize the cross builds size by --enable-shared but the produced
|
||||||
|
# binaries may be less convenient in the embedded environment.
|
||||||
|
CC="gcc -L`pwd`/bfd/.libs/" ../configure \
|
||||||
|
%if %{isnative}
|
||||||
|
%{binutils_target} \
|
||||||
|
--enable-shared \
|
||||||
|
%else
|
||||||
|
--target %{binutils_target} --enable-targets=%{_host} \
|
||||||
|
--disable-shared \
|
||||||
|
--with-sysroot=%{_prefix}/%{binutils_target}/sys-root \
|
||||||
%endif
|
%endif
|
||||||
CC="gcc -L`pwd`/bfd/.libs/" CFLAGS="${CFLAGS:-%optflags}" ../configure \
|
$CARGS \
|
||||||
%{_target_platform} --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
|
--prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
|
||||||
--bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
|
--bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
|
||||||
--datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} \
|
--datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} \
|
||||||
--libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} \
|
--libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} \
|
||||||
--sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
|
--sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
|
||||||
--infodir=%{_infodir} --enable-shared $CARGS --disable-werror \
|
--infodir=%{_infodir} --disable-werror \
|
||||||
--with-bugurl=http://bugzilla.redhat.com/bugzilla/
|
--with-bugurl=http://bugzilla.redhat.com/bugzilla/
|
||||||
make %{_smp_mflags} tooldir=%{_prefix} all
|
make %{_smp_mflags} tooldir=%{_prefix} all
|
||||||
|
# Fix: Found '%{buildroot}' in installed files; aborting
|
||||||
|
if [ -f ld/eelf32_spu.c ]
|
||||||
|
then
|
||||||
|
sed -i -e 's#%{buildroot}##g' ld/eelf32_spu.c
|
||||||
|
fi
|
||||||
make %{_smp_mflags} tooldir=%{_prefix} info
|
make %{_smp_mflags} tooldir=%{_prefix} info
|
||||||
|
%if 0%{?_without_testsuite:1}
|
||||||
|
echo ====================TESTSUITE DISABLED=========================
|
||||||
|
%else
|
||||||
make -k check < /dev/null > check.log 2>&1 || :
|
make -k check < /dev/null > check.log 2>&1 || :
|
||||||
echo ====================TESTING=========================
|
echo ====================TESTING=========================
|
||||||
cat check.log
|
cat check.log
|
||||||
echo ====================TESTING END=====================
|
echo ====================TESTING END=====================
|
||||||
cd ..
|
cd ..
|
||||||
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf %{buildroot}
|
rm -rf %{buildroot}
|
||||||
mkdir -p %{buildroot}%{_prefix}
|
mkdir -p %{buildroot}%{_prefix}
|
||||||
cd build-%{_target_platform}
|
cd build-%{binutils_target}
|
||||||
%makeinstall
|
%makeinstall
|
||||||
|
%if %{isnative}
|
||||||
make prefix=%{buildroot}%{_prefix} infodir=%{buildroot}%{_infodir} install-info
|
make prefix=%{buildroot}%{_prefix} infodir=%{buildroot}%{_infodir} install-info
|
||||||
gzip -q9f %{buildroot}%{_infodir}/*.info*
|
gzip -q9f %{buildroot}%{_infodir}/*.info*
|
||||||
|
|
||||||
@ -141,10 +226,6 @@ rm -f %{buildroot}%{_prefix}/%{_lib}/lib{bfd,opcodes}.so
|
|||||||
# Remove libtool files, which reference the .so libs
|
# Remove libtool files, which reference the .so libs
|
||||||
rm -f %{buildroot}%{_prefix}/%{_lib}/lib{bfd,opcodes}.la
|
rm -f %{buildroot}%{_prefix}/%{_lib}/lib{bfd,opcodes}.la
|
||||||
|
|
||||||
# This one comes from gcc
|
|
||||||
rm -f %{buildroot}%{_infodir}/dir
|
|
||||||
rm -rf %{buildroot}%{_prefix}/%{_target_platform}
|
|
||||||
|
|
||||||
%ifarch %{ix86} x86_64 ppc ppc64 s390 s390x sparc sparc64
|
%ifarch %{ix86} x86_64 ppc ppc64 s390 s390x sparc sparc64
|
||||||
sed -i -e '/^#include "ansidecl.h"/{p;s~^.*$~#include <bits/wordsize.h>~;}' \
|
sed -i -e '/^#include "ansidecl.h"/{p;s~^.*$~#include <bits/wordsize.h>~;}' \
|
||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
@ -162,22 +243,36 @@ sed -i -e '/^#include "ansidecl.h"/{p;s~^.*$~#include <bits/wordsize.h>~;}' \
|
|||||||
%endif
|
%endif
|
||||||
touch -r ../bfd/bfd-in2.h %{buildroot}%{_prefix}/include/bfd.h
|
touch -r ../bfd/bfd-in2.h %{buildroot}%{_prefix}/include/bfd.h
|
||||||
|
|
||||||
|
%else # !%{isnative}
|
||||||
|
# For cross-binutils we drop the documentation.
|
||||||
|
rm -rf %{buildroot}%{_infodir}
|
||||||
|
# We keep these as one can have native + cross binutils of different versions.
|
||||||
|
#rm -rf %{buildroot}%{_prefix}/share/locale
|
||||||
|
#rm -rf %{buildroot}%{_mandir}
|
||||||
|
rm -rf %{buildroot}%{_prefix}/%{_lib}/libiberty.a
|
||||||
|
%endif # !%{isnative}
|
||||||
|
|
||||||
|
# This one comes from gcc
|
||||||
|
rm -f %{buildroot}%{_infodir}/dir
|
||||||
|
rm -rf %{buildroot}%{_prefix}/%{binutils_target}
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
%find_lang binutils
|
%find_lang %{?cross}binutils
|
||||||
%find_lang opcodes
|
%find_lang %{?cross}opcodes
|
||||||
%find_lang bfd
|
%find_lang %{?cross}bfd
|
||||||
%find_lang gas
|
%find_lang %{?cross}gas
|
||||||
%find_lang ld
|
%find_lang %{?cross}ld
|
||||||
%find_lang gprof
|
%find_lang %{?cross}gprof
|
||||||
cat opcodes.lang >> binutils.lang
|
cat %{?cross}opcodes.lang >> %{?cross}binutils.lang
|
||||||
cat bfd.lang >> binutils.lang
|
cat %{?cross}bfd.lang >> %{?cross}binutils.lang
|
||||||
cat gas.lang >> binutils.lang
|
cat %{?cross}gas.lang >> %{?cross}binutils.lang
|
||||||
cat ld.lang >> binutils.lang
|
cat %{?cross}ld.lang >> %{?cross}binutils.lang
|
||||||
cat gprof.lang >> binutils.lang
|
cat %{?cross}gprof.lang >> %{?cross}binutils.lang
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf %{buildroot}
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
|
%if %{isnative}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
@ -208,12 +303,14 @@ exit 0
|
|||||||
if [ $1 = 0 ] ;then
|
if [ $1 = 0 ] ;then
|
||||||
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || :
|
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || :
|
||||||
fi
|
fi
|
||||||
|
%endif # %{isnative}
|
||||||
|
|
||||||
%files -f binutils.lang
|
%files -f %{?cross}binutils.lang
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc README
|
%doc README
|
||||||
%{_prefix}/bin/*
|
%{_prefix}/bin/*
|
||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
|
%if %{isnative}
|
||||||
%{_prefix}/%{_lib}/lib*.so
|
%{_prefix}/%{_lib}/lib*.so
|
||||||
%{_infodir}/[^b]*info*
|
%{_infodir}/[^b]*info*
|
||||||
%{_infodir}/binutils*info*
|
%{_infodir}/binutils*info*
|
||||||
@ -223,8 +320,19 @@ fi
|
|||||||
%{_prefix}/include/*
|
%{_prefix}/include/*
|
||||||
%{_prefix}/%{_lib}/lib*.a
|
%{_prefix}/%{_lib}/lib*.a
|
||||||
%{_infodir}/bfd*info*
|
%{_infodir}/bfd*info*
|
||||||
|
%endif # %{isnative}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 31 2008 Jan Kratochvil <jan.kratochvil@redhat.com> 2.18.50.0.8-1
|
||||||
|
- Update to 2.18.50.0.8.
|
||||||
|
- Drop the .clmul -> .pclmul renaming backport.
|
||||||
|
- Add %%{binutils_target} macro to support building cross-binutils.
|
||||||
|
(David Woodhouse)
|
||||||
|
- Support `--without testsuite' to suppress the testsuite run.
|
||||||
|
- Support `--with debug' to build without optimizations.
|
||||||
|
- Refresh the patchset with fuzz 0 (for new rpmbuild).
|
||||||
|
- Enable the spu target on ppc/ppc64 (BZ 455242).
|
||||||
|
|
||||||
* Wed Jul 16 2008 Jan Kratochvil <jan.kratochvil@redhat.com> 2.18.50.0.6-4
|
* Wed Jul 16 2008 Jan Kratochvil <jan.kratochvil@redhat.com> 2.18.50.0.6-4
|
||||||
- include the `dist' tag in the Release number
|
- include the `dist' tag in the Release number
|
||||||
- libbfd.a symbols visibility is now hidden (for #447426, suggested by Jakub)
|
- libbfd.a symbols visibility is now hidden (for #447426, suggested by Jakub)
|
||||||
|
Loading…
Reference in New Issue
Block a user