Compare commits
53 Commits
93b20dcdbf
...
869fd132e6
Author | SHA1 | Date |
---|---|---|
Nick Clifton | 869fd132e6 | |
Nick Clifton | 7db94aa6ea | |
Nick Clifton | 90d6ac6eba | |
Nick Clifton | aafdbcfc2e | |
Nick Clifton | f5eacb8b02 | |
Nick Clifton | d43bbe0fb5 | |
Miloš Prchlík | daafbde83e | |
Fedora Release Engineering | c1cad428e0 | |
Nick Clifton | a5425af175 | |
Jakub Jelinek | 5132280190 | |
Nick Clifton | f7f7b9f944 | |
Miloš Prchlík | b606cdd338 | |
Nick Clifton | 4c25ffdf16 | |
Nick Clifton | 508b3ee556 | |
Nick Clifton | 7206b7ef95 | |
Nick Clifton | 137e54debb | |
Nick Clifton | 6ab5c9d778 | |
Nick Clifton | 4a2b1583b0 | |
Nick Clifton | b30ba09c72 | |
Nicholas Clifton | 9331510b79 | |
Nick Clifton | f7ce37e465 | |
Yaakov Selkowitz | 173d8ce283 | |
Nick Clifton | 62f9165a13 | |
Nick Clifton | 8f1ba5b061 | |
Nick Clifton | 05f5ab6f6f | |
Nick Clifton | 3b7f3a5c52 | |
Nick Clifton | 4196d43202 | |
Nick Clifton | e6b3d1627a | |
Nick Clifton | 28255cde1d | |
Nick Clifton | 1d05c1f190 | |
Nick Clifton | 00415f44d2 | |
Nick Clifton | 8cbdd69541 | |
Nick Clifton | b14c746ff8 | |
Nick Clifton | 1fe93dadad | |
Nick Clifton | c3cd6c8351 | |
Nick Clifton | de97bb3603 | |
Nick Clifton | 329cf6426e | |
Nick Clifton | e8094f532e | |
Nick Clifton | c2d4243912 | |
Nick Clifton | d294fe2ca4 | |
Nick Clifton | 88b4953e8b | |
Nick Clifton | 13a8e71fad | |
Adam Williamson | a74941f97f | |
Adam Williamson | 53e1e785a0 | |
Adam Williamson | ccf531f53d | |
Adam Williamson | fcb20d506b | |
Adam Williamson | 78d9a63f8b | |
Nick Clifton | ec1bac1bd2 | |
Nick Clifton | 0b1c8753b9 | |
Fedora Release Engineering | b6cd5a80bd | |
Nick Clifton | 262733044e | |
Nick Clifton | 49f3d832d9 | |
Nikola Kolev | 4c53cd0d87 |
|
@ -70,3 +70,5 @@ stamp-*
|
|||
/binutils-2.38.tar.xz
|
||||
/binutils-2.39.tar.xz
|
||||
/binutils-2.40.tar.xz
|
||||
/binutils-2.41.tar.xz
|
||||
/binutils-2.42.tar.xz
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
--- binutils.orig/bfd/elf.c 2023-04-17 16:26:08.720347439 +0100
|
||||
+++ binutils-2.40/bfd/elf.c 2023-04-17 16:28:03.286317601 +0100
|
||||
@@ -9050,6 +9050,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd
|
||||
bfd_set_error (bfd_error_file_too_big);
|
||||
goto error_return_verdef;
|
||||
}
|
||||
+ if (amt == 0)
|
||||
+ goto error_return_verdef;
|
||||
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
|
||||
if (elf_tdata (abfd)->verdef == NULL)
|
||||
goto error_return_verdef;
|
||||
@@ -9153,6 +9155,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd
|
||||
bfd_set_error (bfd_error_file_too_big);
|
||||
goto error_return;
|
||||
}
|
||||
+ if (amt == 0)
|
||||
+ goto error_return;
|
||||
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
|
||||
if (elf_tdata (abfd)->verdef == NULL)
|
||||
goto error_return;
|
|
@ -0,0 +1,871 @@
|
|||
diff -rupN binutils.orig/opcodes/i386-dis.c binutils-2.41/opcodes/i386-dis.c
|
||||
--- binutils.orig/opcodes/i386-dis.c 2024-02-12 15:55:21.578572835 +0000
|
||||
+++ binutils-2.41/opcodes/i386-dis.c 2024-02-12 15:56:38.828623964 +0000
|
||||
@@ -8824,6 +8824,8 @@ get_valid_dis386 (const struct dis386 *d
|
||||
break;
|
||||
|
||||
case USE_3BYTE_TABLE:
|
||||
+ if (ins->last_rex2_prefix >= 0)
|
||||
+ return &err_opcode;
|
||||
if (!fetch_code (ins->info, ins->codep + 2))
|
||||
return &err_opcode;
|
||||
vindex = *ins->codep++;
|
||||
@@ -9540,8 +9542,6 @@ print_insn (bfd_vma pc, disassemble_info
|
||||
/* REX2.M in rex2 prefix represents map0 or map1. */
|
||||
if (ins.last_rex2_prefix < 0 ? *ins.codep == 0x0f : (ins.rex2 & REX2_M))
|
||||
{
|
||||
- unsigned char threebyte;
|
||||
-
|
||||
if (!ins.rex2)
|
||||
{
|
||||
ins.codep++;
|
||||
@@ -9549,17 +9549,15 @@ print_insn (bfd_vma pc, disassemble_info
|
||||
goto fetch_error_out;
|
||||
}
|
||||
|
||||
- threebyte = *ins.codep;
|
||||
- dp = &dis386_twobyte[threebyte];
|
||||
- ins.need_modrm = twobyte_has_modrm[threebyte];
|
||||
- ins.codep++;
|
||||
+ dp = &dis386_twobyte[*ins.codep];
|
||||
+ ins.need_modrm = twobyte_has_modrm[*ins.codep];
|
||||
}
|
||||
else
|
||||
{
|
||||
dp = &dis386[*ins.codep];
|
||||
ins.need_modrm = onebyte_has_modrm[*ins.codep];
|
||||
- ins.codep++;
|
||||
}
|
||||
+ ins.codep++;
|
||||
|
||||
/* Save sizeflag for printing the extra ins.prefixes later before updating
|
||||
it for mnemonic and operand processing. The prefix names depend
|
||||
diff -rupN binutils.orig/opcodes/i386-opc.tbl binutils-2.41/opcodes/i386-opc.tbl
|
||||
--- binutils.orig/opcodes/i386-opc.tbl 2024-02-12 15:55:21.578572835 +0000
|
||||
+++ binutils-2.41/opcodes/i386-opc.tbl 2024-02-12 15:56:28.955616704 +0000
|
||||
@@ -1586,7 +1586,9 @@ vandnp<sd>, 0x<sd:ppfx>55, AVX, Modrm|Ve
|
||||
vandp<sd>, 0x<sd:ppfx>54, AVX, Modrm|C|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
|
||||
vblendp<sd>, 0x660c | <sd:opc>, AVX, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
|
||||
vblendvp<sd>, 0x664a | <sd:opc>, AVX, Modrm|Vex|Space0F3A|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
|
||||
-vbroadcastf128, 0x661a, AVX, Modrm|Vex=2|Space0F38|VexW=1|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM }
|
||||
+vbroadcastf128, 0x661a, AVX, Modrm|Vex256|Space0F38|VexW0|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM }
|
||||
+// vbroadcastf32x4 in disguise (see vround{p,s}{s,d} comment)
|
||||
+vbroadcastf128, 0x661a, APX_F&AVX512VL, Modrm|EVex256|Space0F38|VexW0|Disp8MemShift=4|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM }
|
||||
vbroadcastsd, 0x6619, AVX, Modrm|Vex256|Space0F38|VexW0|NoSuf, { Qword|Unspecified|BaseIndex, RegYMM }
|
||||
vbroadcastss, 0x6618, AVX, Modrm|Vex128|Space0F38|VexW0|NoSuf, { Dword|Unspecified|BaseIndex, RegXMM|RegYMM }
|
||||
vcmp<frel>p<sd>, 0x<sd:ppfx>c2/0x<frel:imm>, AVX, Modrm|<frel:comm>|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf|ImmExt, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM }
|
||||
@@ -1614,7 +1616,9 @@ vdivp<sd>, 0x<sd:ppfx>5e, AVX, Modrm|Vex
|
||||
vdivs<sd>, 0x<sd:spfx>5e, AVX, Modrm|VexLIG|Space0F|VexVVVV|VexWIG|NoSuf, { <sd:elem>|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
|
||||
vdppd, 0x6641, AVX, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
|
||||
vdpps, 0x6640, AVX, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
|
||||
-vextractf128, 0x6619, AVX, Modrm|Vex=2|Space0F3A|VexW=1|NoSuf, { Imm8, RegYMM, Unspecified|BaseIndex|RegXMM }
|
||||
+vextractf128, 0x6619, AVX, Modrm|Vex256|Space0F3A|VexW0|NoSuf, { Imm8, RegYMM, Unspecified|BaseIndex|RegXMM }
|
||||
+// vextractf32x4 in disguise (see vround{p,s}{s,d} comment)
|
||||
+vextractf128, 0x6619, APX_F&AVX512VL, Modrm|EVex256|Space0F3A|VexW0|Disp8MemShift=4|NoSuf, { Imm8, RegYMM, Xmmword|Unspecified|BaseIndex }
|
||||
vextractps, 0x6617, AVX|AVX512F, Modrm|Vex128|EVex128|Space0F3A|VexWIG|Disp8MemShift=2|NoSuf, { Imm8, RegXMM, Reg32|Unspecified|BaseIndex }
|
||||
vextractps, 0x6617, x64&(AVX|AVX512F), RegMem|Vex128|EVex128|Space0F3A|VexWIG|NoSuf, { Imm8, RegXMM, Reg64 }
|
||||
vhaddpd, 0x667c, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
|
||||
@@ -1622,6 +1626,8 @@ vhaddps, 0xf27c, AVX, Modrm|Vex|Space0F|
|
||||
vhsubpd, 0x667d, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
|
||||
vhsubps, 0xf27d, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
|
||||
vinsertf128, 0x6618, AVX, Modrm|Vex256|Space0F3A|VexVVVV|VexW0|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegYMM, RegYMM }
|
||||
+// vinsertf32x4 in disguise (see vround{p,s}{s,d} comment)
|
||||
+vinsertf128, 0x6618, APX_F&AVX512VL, Modrm|EVex256|Space0F3A|VexVVVV|VexW0|Disp8MemShift=4|NoSuf, { Imm8, Xmmword|Unspecified|BaseIndex, RegYMM, RegYMM }
|
||||
vinsertps, 0x6621, AVX, Modrm|Vex|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8, Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
|
||||
vlddqu, 0xf2f0, AVX, Modrm|Vex|Space0F|VexWIG|CheckOperandSize|NoSuf, { Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM }
|
||||
vldmxcsr, 0xae/2, AVX, Modrm|Vex128|Space0F|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex }
|
||||
@@ -1792,8 +1798,8 @@ vroundp<sd>, 0x6608 | <sd:opc>, AVX, Mod
|
||||
vrounds<sd>, 0x660a | <sd:opc>, AVX, Modrm|VexLIG|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8, <sd:elem>|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
|
||||
// These are really clones of VRNDSCALE{P,S}{S,D}, with broadcast, masking, SAE,
|
||||
// 512-bit operand size, and register sources dropped.
|
||||
-vroundp<sd>, 0x6608 | <sd:opc>, APX_F, Modrm|Space0F3A|<sd:vexw>|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM }
|
||||
-vrounds<sd>, 0x660a | <sd:opc>, APX_F, Modrm|EVexLIG|Space0F3A|VexVVVV|<sd:vexw>|Disp8MemShift|NoSuf, { Imm8, <sd:elem>|Unspecified|BaseIndex, RegXMM, RegXMM }
|
||||
+vroundp<sd>, 0x6608 | <sd:opc>, APX_F&AVX512VL, Modrm|Space0F3A|<sd:vexw>|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM }
|
||||
+vrounds<sd>, 0x660a | <sd:opc>, APX_F&AVX512F, Modrm|EVexLIG|Space0F3A|VexVVVV|<sd:vexw>|Disp8MemShift|NoSuf, { Imm8, <sd:elem>|Unspecified|BaseIndex, RegXMM, RegXMM }
|
||||
vrsqrtps, 0x52, AVX, Modrm|Vex|Space0F|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM }
|
||||
vrsqrtss, 0xf352, AVX, Modrm|Vex=3|Space0F|VexVVVV|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM }
|
||||
vshufp<sd>, 0x<sd:ppfx>c6, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
|
||||
@@ -1828,7 +1834,9 @@ vpmovzxwq, 0x6634, AVX2|AVX512VL, Modrm|
|
||||
|
||||
// New AVX2 instructions.
|
||||
|
||||
-vbroadcasti128, 0x665A, AVX2, Modrm|Vex=2|Space0F38|VexW=1|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM }
|
||||
+vbroadcasti128, 0x665A, AVX2, Modrm|Vex256|Space0F38|VexW0|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM }
|
||||
+// vbroadcasti32x4 in disguise (see vround{p,s}{s,d} comment)
|
||||
+vbroadcasti128, 0x665a, APX_F&AVX512VL, Modrm|EVex256|Space0F38|VexW0|Disp8MemShift=4|NoSuf, { Xmmword|Unspecified|BaseIndex, RegYMM }
|
||||
vbroadcastsd, 0x6619, AVX2, Modrm|Vex=2|Space0F38|VexW=1|NoSuf, { RegXMM, RegYMM }
|
||||
vbroadcastss, 0x6618, AVX2|AVX512F, Modrm|Vex|EVexDYN|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
|
||||
vpblendd, 0x6602, AVX2, Modrm|Vex|Space0F3A|VexVVVV|VexW0|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }
|
||||
@@ -1840,8 +1848,12 @@ vpermd, 0x6636, AVX2|AVX512F, Modrm|Vex2
|
||||
vpermpd, 0x6601, AVX2|AVX512F, Modrm|Vex256|EVexDYN|Masking|Space0F3A|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM }
|
||||
vpermps, 0x6616, AVX2|AVX512F, Modrm|Vex256|EVexDYN|Masking|Space0F38|VexVVVV|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegYMM|RegZMM, RegYMM|RegZMM }
|
||||
vpermq, 0x6600, AVX2|AVX512F, Modrm|Vex256|EVexDYN|Masking|Space0F3A|VexW1|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8|Imm8S, RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegYMM|RegZMM }
|
||||
-vextracti128, 0x6639, AVX2, Modrm|Vex=2|Space0F3A|VexW=1|NoSuf, { Imm8, RegYMM, Unspecified|BaseIndex|RegXMM }
|
||||
+vextracti128, 0x6639, AVX2, Modrm|Vex256|Space0F3A|VexW0|NoSuf, { Imm8, RegYMM, Unspecified|BaseIndex|RegXMM }
|
||||
+// vextracti32x4 in disguise (see vround{p,s}{s,d} comment)
|
||||
+vextracti128, 0x6639, APX_F&AVX512VL, Modrm|EVex256|Space0F3A|VexW0|Disp8MemShift=4|NoSuf, { Imm8, RegYMM, Xmmword|Unspecified|BaseIndex }
|
||||
vinserti128, 0x6638, AVX2, Modrm|Vex256|Space0F3A|VexVVVV|VexW0|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM, RegYMM, RegYMM }
|
||||
+// vinserti32x4 in disguise (see vround{p,s}{s,d} comment)
|
||||
+vinserti128, 0x6638, APX_F&AVX512VL, Modrm|EVex256|Space0F3A|VexVVVV|VexW0|Disp8MemShift=4|NoSuf, { Imm8, Xmmword|Unspecified|BaseIndex, RegYMM, RegYMM }
|
||||
vpmaskmov<dq>, 0x668e, AVX2, Modrm|Vex|Space0F38|VexVVVV|<dq:vexw>|CheckOperandSize|NoSuf, { RegXMM|RegYMM, RegXMM|RegYMM, Xmmword|Ymmword|Unspecified|BaseIndex }
|
||||
vpmaskmov<dq>, 0x668c, AVX2, Modrm|Vex|Space0F38|VexVVVV|<dq:vexw>|CheckOperandSize|NoSuf, { Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM }
|
||||
vpsllv<dq>, 0x6647, AVX2|AVX512F, Modrm|Vex|EVexDYN|Masking|Space0F38|VexVVVV|<dq:vexw>|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|<dq:elem>|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM }
|
||||
@@ -2115,12 +2127,12 @@ xcryptofb, 0xf30fa7e8, PadLock, NoSuf|Re
|
||||
xstore, 0xfa7c0, PadLock, NoSuf|RepPrefixOk, {}
|
||||
|
||||
// Multy-precision Add Carry, rdseed instructions.
|
||||
-adcx, 0x6666, ADX&APX_F, C|Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|DstVVVV|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 }
|
||||
+adcx, 0x6666, ADX&APX_F, C|Modrm|CheckOperandSize|No_bSuf|No_wSuf|No_sSuf|DstVVVV|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 }
|
||||
adcx, 0x660f38f6, ADX, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 }
|
||||
-adcx, 0x6666, ADX&APX_F, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 }
|
||||
-adox, 0xf366, ADX&APX_F, C|Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|DstVVVV|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 }
|
||||
+adcx, 0x6666, ADX&APX_F, Modrm|CheckOperandSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 }
|
||||
+adox, 0xf366, ADX&APX_F, C|Modrm|CheckOperandSize|No_bSuf|No_wSuf|No_sSuf|DstVVVV|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64, Reg32|Reg64 }
|
||||
adox, 0xf30f38f6, ADX, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 }
|
||||
-adox, 0xf366, ADX&APX_F, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 }
|
||||
+adox, 0xf366, ADX&APX_F, Modrm|CheckOperandSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64|Unspecified|BaseIndex, Reg32|Reg64 }
|
||||
rdseed, 0xfc7/7, RdSeed, Modrm|NoSuf, { Reg16|Reg32|Reg64 }
|
||||
|
||||
// SMAP instructions.
|
||||
@@ -3098,11 +3110,11 @@ rdsspq, 0xf30f1e/1, SHSTK&x64, Modrm|NoS
|
||||
saveprevssp, 0xf30f01ea, SHSTK, NoSuf, {}
|
||||
rstorssp, 0xf30f01/5, SHSTK, Modrm|NoSuf, { Qword|Unspecified|BaseIndex }
|
||||
wrssd, 0x0f38f6, SHSTK, Modrm|IgnoreSize|NoSuf, { Reg32, Dword|Unspecified|BaseIndex }
|
||||
-wrssd, 0x66, SHSTK&APX_F, Modrm|IgnoreSize|NoSuf|EVexMap4, { Reg32, Dword|Unspecified|BaseIndex }
|
||||
+wrssd, 0x66, SHSTK&APX_F, Modrm|NoSuf|EVexMap4, { Reg32, Dword|Unspecified|BaseIndex }
|
||||
wrssq, 0x0f38f6, SHSTK&x64, Modrm|NoSuf|Size64, { Reg64, Qword|Unspecified|BaseIndex }
|
||||
wrssq, 0x66, SHSTK&APX_F, Modrm|NoSuf|Size64|EVexMap4, { Reg64, Qword|Unspecified|BaseIndex }
|
||||
wrussd, 0x660f38f5, SHSTK, Modrm|IgnoreSize|NoSuf, { Reg32, Dword|Unspecified|BaseIndex }
|
||||
-wrussd, 0x6665, SHSTK&APX_F, Modrm|IgnoreSize|NoSuf|EVexMap4, { Reg32, Dword|Unspecified|BaseIndex }
|
||||
+wrussd, 0x6665, SHSTK&APX_F, Modrm|NoSuf|EVexMap4, { Reg32, Dword|Unspecified|BaseIndex }
|
||||
wrussq, 0x660f38f5, SHSTK&x64, Modrm|NoSuf, { Reg64, Qword|Unspecified|BaseIndex }
|
||||
wrussq, 0x6665, SHSTK&APX_F, Modrm|NoSuf|EVexMap4, { Reg64, Qword|Unspecified|BaseIndex }
|
||||
setssbsy, 0xf30f01e8, SHSTK, NoSuf, {}
|
||||
@@ -3152,7 +3164,7 @@ cldemote, 0x0f1c/0, CLDEMOTE, Modrm|Anys
|
||||
// MOVDIR[I,64B] instructions.
|
||||
|
||||
movdiri, 0xf38f9, MOVDIRI, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
-movdiri, 0xf9, MOVDIRI&APX_F, Modrm|CheckOperandSize|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
+movdiri, 0xf9, MOVDIRI&APX_F, Modrm|CheckOperandSize|No_bSuf|No_wSuf|No_sSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
movdir64b, 0x660f38f8, MOVDIR64B, Modrm|AddrPrefixOpReg|NoSuf, { Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
|
||||
movdir64b, 0x66f8, MOVDIR64B&APX_F, Modrm|AddrPrefixOpReg|NoSuf|EVexMap4, { Unspecified|BaseIndex, Reg32|Reg64 }
|
||||
|
||||
@@ -3459,13 +3471,13 @@ wrmsrlist, 0xf30f01c6, MSRLIST, NoSuf, {
|
||||
// RAO-INT instructions.
|
||||
|
||||
aadd, 0xf38fc, RAO_INT, Modrm|IgnoreSize|CheckOperandSize|NoSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
-aadd, 0xfc, RAO_INT&APX_F, Modrm|IgnoreSize|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
+aadd, 0xfc, RAO_INT&APX_F, Modrm|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
aand, 0x660f38fc, RAO_INT, Modrm|IgnoreSize|CheckOperandSize|NoSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
-aand, 0x66fc, RAO_INT&APX_F, Modrm|IgnoreSize|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
+aand, 0x66fc, RAO_INT&APX_F, Modrm|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
aor, 0xf20f38fc, RAO_INT, Modrm|IgnoreSize|CheckOperandSize|NoSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
-aor, 0xf2fc, RAO_INT&APX_F, Modrm|IgnoreSize|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
+aor, 0xf2fc, RAO_INT&APX_F, Modrm|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
axor, 0xf30f38fc, RAO_INT, Modrm|IgnoreSize|CheckOperandSize|NoSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
-axor, 0xf3fc, RAO_INT&APX_F, Modrm|IgnoreSize|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
+axor, 0xf3fc, RAO_INT&APX_F, Modrm|CheckOperandSize|NoSuf|EVexMap4, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex }
|
||||
|
||||
// RAO-INT instructions end.
|
||||
|
||||
diff -rupN binutils.orig/opcodes/i386-tbl.h binutils-2.41/opcodes/i386-tbl.h
|
||||
--- binutils.orig/opcodes/i386-tbl.h 2024-02-12 15:55:21.578572835 +0000
|
||||
+++ binutils-2.41/opcodes/i386-tbl.h 2024-02-12 16:42:52.494835094 +0000
|
||||
@@ -15372,6 +15372,16 @@ static const insn_template i386_optab[]
|
||||
1, 0, 0, 0, 1, 0 } },
|
||||
{ { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 0 } } } },
|
||||
+ { MN_vbroadcastf128, 0x1a, 2, SPACE_0F38, None,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
+ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0,
|
||||
+ 0 },
|
||||
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||
+ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
+ 1, 0, 0, 0, 1, 0 } },
|
||||
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
+ 0, 1, 0, 0, 0, 0 } } } },
|
||||
{ MN_vbroadcastsd, 0x19, 2, SPACE_0F38, None,
|
||||
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
@@ -20804,6 +20814,18 @@ static const insn_template i386_optab[]
|
||||
0, 1, 0, 0, 0, 0 } },
|
||||
{ { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 1, 0 } } } },
|
||||
+ { MN_vextractf128, 0x19, 3, SPACE_0F3A, None,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
+ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0,
|
||||
+ 0 },
|
||||
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||
+ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
+ 0, 0, 0, 0, 0, 0 } },
|
||||
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
+ 0, 1, 0, 0, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
+ 1, 0, 0, 0, 1, 0 } } } },
|
||||
{ MN_vextractps, 0x17, 3, SPACE_0F3A, None,
|
||||
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
|
||||
@@ -20890,6 +20912,20 @@ static const insn_template i386_optab[]
|
||||
0, 1, 0, 0, 0, 0 } },
|
||||
{ { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 0 } } } },
|
||||
+ { MN_vinsertf128, 0x18, 4, SPACE_0F3A, None,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
+ 0, 0, 0, 0, 1, 1, 1, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0,
|
||||
+ 0 },
|
||||
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||
+ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
+ 0, 0, 0, 0, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
+ 1, 0, 0, 0, 1, 0 } },
|
||||
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
+ 0, 1, 0, 0, 0, 0 } },
|
||||
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
+ 0, 1, 0, 0, 0, 0 } } } },
|
||||
{ MN_vinsertps, 0x21, 4, SPACE_0F3A, None,
|
||||
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
@@ -25296,7 +25332,7 @@ static const insn_template i386_optab[]
|
||||
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
- { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } },
|
||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0 } },
|
||||
@@ -25320,7 +25356,7 @@ static const insn_template i386_optab[]
|
||||
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 2, 1, 0, 0, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
- { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } },
|
||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0 } },
|
||||
@@ -25346,7 +25382,7 @@ static const insn_template i386_optab[]
|
||||
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 1, 1, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
- { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0 } },
|
||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0 } },
|
||||
@@ -25374,7 +25410,7 @@ static const insn_template i386_optab[]
|
||||
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 2, 1, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
- { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0 } },
|
||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0 } },
|
||||
@@ -25884,6 +25920,16 @@ static const insn_template i386_optab[]
|
||||
1, 0, 0, 0, 1, 0 } },
|
||||
{ { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 0 } } } },
|
||||
+ { MN_vbroadcasti128, 0x5a, 2, SPACE_0F38, None,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
+ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0,
|
||||
+ 0 },
|
||||
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||
+ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
+ 1, 0, 0, 0, 1, 0 } },
|
||||
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
+ 0, 1, 0, 0, 0, 0 } } } },
|
||||
{ MN_vpblendd, 0x02, 4, SPACE_0F3A, None,
|
||||
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
@@ -26106,6 +26152,18 @@ static const insn_template i386_optab[]
|
||||
0, 1, 0, 0, 0, 0 } },
|
||||
{ { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 1, 0 } } } },
|
||||
+ { MN_vextracti128, 0x39, 3, SPACE_0F3A, None,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
+ 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0,
|
||||
+ 0 },
|
||||
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||
+ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
+ 0, 0, 0, 0, 0, 0 } },
|
||||
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
+ 0, 1, 0, 0, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
+ 1, 0, 0, 0, 1, 0 } } } },
|
||||
{ MN_vinserti128, 0x38, 4, SPACE_0F3A, None,
|
||||
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
@@ -26120,6 +26178,20 @@ static const insn_template i386_optab[]
|
||||
0, 1, 0, 0, 0, 0 } },
|
||||
{ { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 0 } } } },
|
||||
+ { MN_vinserti128, 0x38, 4, SPACE_0F3A, None,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
+ 0, 0, 0, 0, 1, 1, 1, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0,
|
||||
+ 0 },
|
||||
+ { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||
+ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
+ 0, 0, 0, 0, 0, 0 } },
|
||||
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
+ 1, 0, 0, 0, 1, 0 } },
|
||||
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
+ 0, 1, 0, 0, 0, 0 } },
|
||||
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
+ 0, 1, 0, 0, 0, 0 } } } },
|
||||
{ MN_vpmaskmovd, 0x8e, 3, SPACE_0F38, None,
|
||||
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
@@ -30933,7 +31005,7 @@ static const insn_template i386_optab[]
|
||||
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0 } } } },
|
||||
{ MN_adcx, 0x66, 3, SPACE_EVEXMAP4, None,
|
||||
- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 2, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
{ { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
@@ -30955,7 +31027,7 @@ static const insn_template i386_optab[]
|
||||
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0 } } } },
|
||||
{ MN_adcx, 0x66, 2, SPACE_EVEXMAP4, None,
|
||||
- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
{ { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
@@ -30965,7 +31037,7 @@ static const insn_template i386_optab[]
|
||||
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0 } } } },
|
||||
{ MN_adox, 0x66, 3, SPACE_EVEXMAP4, None,
|
||||
- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 2, 0, 2, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
{ { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
@@ -30987,7 +31059,7 @@ static const insn_template i386_optab[]
|
||||
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0 } } } },
|
||||
{ MN_adox, 0x66, 2, SPACE_EVEXMAP4, None,
|
||||
- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
{ { 61, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
@@ -37497,7 +37569,7 @@ static const insn_template i386_optab[]
|
||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0 } } } },
|
||||
{ MN_wrssd, 0x66, 2, SPACE_EVEXMAP4, None,
|
||||
- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
{ { 105, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
@@ -37537,7 +37609,7 @@ static const insn_template i386_optab[]
|
||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0 } } } },
|
||||
{ MN_wrussd, 0x65, 2, SPACE_EVEXMAP4, None,
|
||||
- { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
{ { 105, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
@@ -37697,7 +37769,7 @@ static const insn_template i386_optab[]
|
||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 1, 0 } } } },
|
||||
{ MN_movdiri, 0xf9, 2, SPACE_EVEXMAP4, None,
|
||||
- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
{ { 120, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
@@ -41093,7 +41165,7 @@ static const insn_template i386_optab[]
|
||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 1, 0 } } } },
|
||||
{ MN_aadd, 0xfc, 2, SPACE_EVEXMAP4, None,
|
||||
- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
{ { 95, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
@@ -41113,7 +41185,7 @@ static const insn_template i386_optab[]
|
||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 1, 0 } } } },
|
||||
{ MN_aand, 0xfc, 2, SPACE_EVEXMAP4, None,
|
||||
- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
{ { 95, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
@@ -41133,7 +41205,7 @@ static const insn_template i386_optab[]
|
||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 1, 0 } } } },
|
||||
{ MN_aor, 0xfc, 2, SPACE_EVEXMAP4, None,
|
||||
- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
{ { 95, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
@@ -41153,7 +41225,7 @@ static const insn_template i386_optab[]
|
||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 1, 0 } } } },
|
||||
{ MN_axor, 0xfc, 2, SPACE_EVEXMAP4, None,
|
||||
- { 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
+ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0 },
|
||||
{ { 95, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } },
|
||||
@@ -41398,203 +41470,203 @@ static const i386_op_off_t i386_op_sets[
|
||||
1540, 1541, 1542, 1544, 1546, 1548, 1550, 1552,
|
||||
1554, 1556, 1558, 1560, 1562, 1564, 1566, 1568,
|
||||
1570, 1572, 1574, 1576, 1578, 1579, 1580, 1582,
|
||||
- 1584, 1586, 1588, 1589, 1590, 1591, 1592, 1593,
|
||||
- 1596, 1598, 1600, 1602, 1604, 1606, 1608, 1610,
|
||||
- 1612, 1614, 1616, 1618, 1620, 1622, 1624, 1626,
|
||||
- 1628, 1630, 1632, 1634, 1636, 1638, 1640, 1642,
|
||||
- 1644, 1646, 1648, 1650, 1652, 1654, 1656, 1658,
|
||||
- 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674,
|
||||
- 1676, 1678, 1680, 1682, 1684, 1686, 1688, 1690,
|
||||
- 1692, 1694, 1696, 1698, 1700, 1702, 1704, 1706,
|
||||
- 1708, 1710, 1712, 1714, 1716, 1718, 1720, 1722,
|
||||
- 1724, 1726, 1728, 1730, 1732, 1734, 1736, 1738,
|
||||
- 1740, 1742, 1744, 1746, 1748, 1750, 1752, 1754,
|
||||
- 1756, 1758, 1760, 1762, 1764, 1766, 1768, 1770,
|
||||
- 1772, 1774, 1776, 1778, 1780, 1782, 1784, 1786,
|
||||
- 1788, 1790, 1792, 1794, 1796, 1798, 1800, 1802,
|
||||
- 1804, 1806, 1808, 1810, 1812, 1814, 1816, 1818,
|
||||
- 1820, 1822, 1824, 1826, 1828, 1830, 1832, 1834,
|
||||
- 1836, 1838, 1840, 1842, 1844, 1846, 1848, 1850,
|
||||
- 1852, 1854, 1856, 1858, 1860, 1862, 1864, 1866,
|
||||
- 1868, 1870, 1872, 1874, 1876, 1878, 1880, 1882,
|
||||
- 1884, 1886, 1888, 1890, 1892, 1894, 1896, 1898,
|
||||
- 1900, 1902, 1904, 1906, 1908, 1910, 1912, 1914,
|
||||
- 1916, 1918, 1920, 1922, 1924, 1926, 1928, 1930,
|
||||
- 1932, 1934, 1936, 1938, 1940, 1942, 1944, 1946,
|
||||
- 1948, 1950, 1952, 1954, 1956, 1958, 1960, 1962,
|
||||
- 1964, 1966, 1968, 1970, 1972, 1974, 1976, 1978,
|
||||
- 1983, 1985, 1990, 1992, 1994, 1999, 2001, 2003,
|
||||
- 2005, 2010, 2012, 2014, 2016, 2020, 2026, 2028,
|
||||
- 2033, 2035, 2037, 2039, 2041, 2043, 2045, 2047,
|
||||
- 2049, 2051, 2052, 2053, 2054, 2056, 2057, 2058,
|
||||
- 2059, 2060, 2061, 2063, 2064, 2065, 2066, 2068,
|
||||
- 2070, 2072, 2074, 2076, 2078, 2080, 2082, 2084,
|
||||
- 2086, 2088, 2090, 2092, 2096, 2097, 2098, 2100,
|
||||
- 2104, 2108, 2110, 2114, 2118, 2119, 2120, 2122,
|
||||
- 2124, 2126, 2128, 2133, 2137, 2141, 2143, 2145,
|
||||
- 2147, 2149, 2150, 2152, 2154, 2156, 2158, 2160,
|
||||
- 2162, 2164, 2166, 2168, 2170, 2172, 2174, 2176,
|
||||
- 2178, 2180, 2182, 2184, 2186, 2188, 2190, 2192,
|
||||
- 2194, 2195, 2196, 2198, 2200, 2201, 2202, 2205,
|
||||
- 2208, 2211, 2214, 2216, 2218, 2220, 2222, 2224,
|
||||
- 2226, 2227, 2228, 2229, 2231, 2235, 2237, 2239,
|
||||
- 2245, 2249, 2250, 2251, 2252, 2253, 2254, 2255,
|
||||
- 2256, 2260, 2262, 2264, 2268, 2270, 2272, 2274,
|
||||
- 2276, 2278, 2280, 2282, 2284, 2286, 2288, 2290,
|
||||
- 2292, 2294, 2296, 2297, 2300, 2303, 2308, 2313,
|
||||
- 2316, 2319, 2322, 2325, 2330, 2335, 2338, 2341,
|
||||
- 2343, 2345, 2347, 2349, 2351, 2353, 2355, 2356,
|
||||
- 2358, 2360, 2362, 2364, 2366, 2367, 2368, 2369,
|
||||
- 2373, 2377, 2379, 2383, 2387, 2391, 2395, 2399,
|
||||
- 2401, 2405, 2407, 2409, 2411, 2413, 2415, 2417,
|
||||
- 2419, 2421, 2422, 2424, 2426, 2428, 2430, 2432,
|
||||
- 2434, 2436, 2438, 2439, 2440, 2441, 2443, 2445,
|
||||
- 2447, 2449, 2450, 2451, 2453, 2455, 2457, 2459,
|
||||
- 2461, 2463, 2464, 2466, 2468, 2470, 2472, 2473,
|
||||
- 2474, 2476, 2478, 2480, 2482, 2484, 2486, 2488,
|
||||
- 2490, 2491, 2492, 2493, 2494, 2497, 2500, 2502,
|
||||
- 2505, 2506, 2507, 2509, 2510, 2512, 2513, 2514,
|
||||
- 2516, 2518, 2519, 2520, 2521, 2522, 2523, 2526,
|
||||
- 2531, 2536, 2541, 2546, 2549, 2554, 2559, 2561,
|
||||
- 2563, 2565, 2567, 2568, 2569, 2571, 2573, 2575,
|
||||
- 2577, 2579, 2581, 2583, 2584, 2585, 2586, 2587,
|
||||
- 2588, 2589, 2594, 2599, 2600, 2601, 2602, 2603,
|
||||
- 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611,
|
||||
- 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619,
|
||||
- 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627,
|
||||
- 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635,
|
||||
- 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643,
|
||||
- 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651,
|
||||
- 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659,
|
||||
- 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667,
|
||||
- 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675,
|
||||
- 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683,
|
||||
- 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691,
|
||||
- 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699,
|
||||
- 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707,
|
||||
- 2708, 2709, 2710, 2711, 2712, 2713, 2714, 2715,
|
||||
- 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723,
|
||||
- 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731,
|
||||
- 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739,
|
||||
- 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747,
|
||||
- 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755,
|
||||
- 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763,
|
||||
- 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771,
|
||||
- 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2779,
|
||||
- 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787,
|
||||
- 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795,
|
||||
- 2796, 2797, 2798, 2799, 2800, 2802, 2804, 2805,
|
||||
- 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813,
|
||||
- 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821,
|
||||
- 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829,
|
||||
- 2830, 2831, 2832, 2834, 2836, 2838, 2840, 2841,
|
||||
- 2842, 2843, 2844, 2845, 2846, 2847, 2848, 2849,
|
||||
- 2850, 2851, 2852, 2853, 2855, 2856, 2857, 2858,
|
||||
- 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866,
|
||||
- 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874,
|
||||
- 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882,
|
||||
- 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2890,
|
||||
- 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898,
|
||||
- 2899, 2900, 2902, 2904, 2905, 2906, 2908, 2909,
|
||||
- 2911, 2913, 2914, 2915, 2917, 2919, 2920, 2921,
|
||||
- 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929,
|
||||
- 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937,
|
||||
- 2940, 2943, 2944, 2945, 2946, 2947, 2948, 2949,
|
||||
- 2951, 2953, 2955, 2956, 2957, 2959, 2961, 2963,
|
||||
- 2965, 2969, 2971, 2973, 2974, 2975, 2976, 2977,
|
||||
- 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985,
|
||||
- 2986, 2987, 2988, 2989, 2990, 2991, 2994, 2997,
|
||||
- 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005,
|
||||
- 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013,
|
||||
- 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021,
|
||||
- 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029,
|
||||
- 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037,
|
||||
- 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045,
|
||||
- 3046, 3047, 3048, 3049, 3050, 3051, 3054, 3056,
|
||||
- 3059, 3062, 3064, 3067, 3070, 3073, 3076, 3077,
|
||||
- 3080, 3081, 3082, 3083, 3084, 3085, 3089, 3091,
|
||||
- 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101,
|
||||
- 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109,
|
||||
- 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117,
|
||||
- 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125,
|
||||
- 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133,
|
||||
- 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141,
|
||||
- 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149,
|
||||
- 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158,
|
||||
- 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166,
|
||||
- 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174,
|
||||
- 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182,
|
||||
- 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190,
|
||||
- 3193, 3196, 3199, 3202, 3205, 3208, 3211, 3214,
|
||||
- 3217, 3220, 3223, 3226, 3229, 3232, 3235, 3236,
|
||||
- 3237, 3238, 3239, 3241, 3242, 3243, 3244, 3245,
|
||||
- 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253,
|
||||
- 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261,
|
||||
- 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269,
|
||||
- 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277,
|
||||
- 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285,
|
||||
- 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293,
|
||||
- 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301,
|
||||
- 3302, 3305, 3308, 3309, 3310, 3311, 3312, 3313,
|
||||
- 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321,
|
||||
- 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329,
|
||||
- 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337,
|
||||
- 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345,
|
||||
- 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353,
|
||||
- 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361,
|
||||
- 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369,
|
||||
- 3370, 3373, 3376, 3379, 3380, 3381, 3382, 3383,
|
||||
- 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391,
|
||||
- 3392, 3393, 3394, 3395, 3398, 3401, 3402, 3403,
|
||||
- 3406, 3407, 3408, 3409, 3410, 3413, 3416, 3419,
|
||||
- 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427,
|
||||
- 3428, 3429, 3431, 3433, 3434, 3435, 3436, 3437,
|
||||
- 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445,
|
||||
- 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453,
|
||||
- 3454, 3455, 3456, 3457, 3458, 3460, 3462, 3463,
|
||||
- 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471,
|
||||
- 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479,
|
||||
- 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487,
|
||||
- 3489, 3491, 3493, 3495, 3496, 3497, 3498, 3499,
|
||||
- 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507,
|
||||
- 3508, 3509, 3510, 3512, 3513, 3515, 3518, 3520,
|
||||
- 3521, 3522, 3524, 3526, 3527, 3528, 3529, 3530,
|
||||
- 3531, 3532, 3534, 3536, 3538, 3540, 3541, 3542,
|
||||
- 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3551,
|
||||
- 3553, 3554, 3556, 3558, 3559, 3564, 3566, 3568,
|
||||
- 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3577,
|
||||
- 3579, 3580, 3581, 3582, 3584, 3587, 3590, 3593,
|
||||
- 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602,
|
||||
- 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610,
|
||||
- 3611, 3612, 3613, 3614, 3615, 3617, 3619, 3621,
|
||||
- 3623, 3625, 3627, 3629, 3631, 3633, 3635, 3636,
|
||||
- 3637, 3638, 3639, 3640, 3641, 3642, 3643, 3644,
|
||||
- 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652,
|
||||
- 3653, 3654, 3655, 3656, 3657, 3658, 3659, 3660,
|
||||
- 3661, 3662, 3663, 3664, 3665, 3666, 3667, 3668,
|
||||
- 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676,
|
||||
- 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684,
|
||||
- 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692,
|
||||
- 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700,
|
||||
- 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708,
|
||||
- 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716,
|
||||
- 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724,
|
||||
- 3725, 3726, 3727, 3728, 3729, 3730, 3731, 3732,
|
||||
- 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740,
|
||||
- 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3750,
|
||||
- 3751, 3752, 3755, 3756, 3757, 3759, 3760, 3761,
|
||||
- 3762, 3764, 3765, 3766, 3767, 3769, 3770, 3771,
|
||||
- 3772, 3775, 3776, 3777, 3778, 3779, 3782, 3785,
|
||||
- 3788, 3791, 3794, 3795, 3796, 3797, 3798, 3800,
|
||||
- 3802, 3803, 3804, 3805, 3808, 3811, 3814, 3817,
|
||||
- 3820, 3821, 3822, 3823, 3825, 3826, 3827, 3828,
|
||||
- 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837,
|
||||
- 3838, 3839, 3840, 3841, 3842, 3843, 3844, 3845,
|
||||
- 3846, 3847, 3848, 3849, 3850, 3851, 3852, 3853,
|
||||
- 3854, 3855, 3856, 3857, 3858, 3859, 3860, 3861,
|
||||
- 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869,
|
||||
- 3871, 3873, 3875, 3877, 3879, 3880, 3881, 3884,
|
||||
- 3887, 3888, 3889, 3890, 3891
|
||||
+ 1584, 1586, 1588, 1589, 1590, 1591, 1592, 1594,
|
||||
+ 1597, 1599, 1601, 1603, 1605, 1607, 1609, 1611,
|
||||
+ 1613, 1615, 1617, 1619, 1621, 1623, 1625, 1627,
|
||||
+ 1629, 1631, 1633, 1635, 1637, 1639, 1641, 1643,
|
||||
+ 1645, 1647, 1649, 1651, 1653, 1655, 1657, 1659,
|
||||
+ 1661, 1663, 1665, 1667, 1669, 1671, 1673, 1675,
|
||||
+ 1677, 1679, 1681, 1683, 1685, 1687, 1689, 1691,
|
||||
+ 1693, 1695, 1697, 1699, 1701, 1703, 1705, 1707,
|
||||
+ 1709, 1711, 1713, 1715, 1717, 1719, 1721, 1723,
|
||||
+ 1725, 1727, 1729, 1731, 1733, 1735, 1737, 1739,
|
||||
+ 1741, 1743, 1745, 1747, 1749, 1751, 1753, 1755,
|
||||
+ 1757, 1759, 1761, 1763, 1765, 1767, 1769, 1771,
|
||||
+ 1773, 1775, 1777, 1779, 1781, 1783, 1785, 1787,
|
||||
+ 1789, 1791, 1793, 1795, 1797, 1799, 1801, 1803,
|
||||
+ 1805, 1807, 1809, 1811, 1813, 1815, 1817, 1819,
|
||||
+ 1821, 1823, 1825, 1827, 1829, 1831, 1833, 1835,
|
||||
+ 1837, 1839, 1841, 1843, 1845, 1847, 1849, 1851,
|
||||
+ 1853, 1855, 1857, 1859, 1861, 1863, 1865, 1867,
|
||||
+ 1869, 1871, 1873, 1875, 1877, 1879, 1881, 1883,
|
||||
+ 1885, 1887, 1889, 1891, 1893, 1895, 1897, 1899,
|
||||
+ 1901, 1903, 1905, 1907, 1909, 1911, 1913, 1915,
|
||||
+ 1917, 1919, 1921, 1923, 1925, 1927, 1929, 1931,
|
||||
+ 1933, 1935, 1937, 1939, 1941, 1943, 1945, 1947,
|
||||
+ 1949, 1951, 1953, 1955, 1957, 1959, 1961, 1963,
|
||||
+ 1965, 1967, 1969, 1971, 1973, 1975, 1977, 1979,
|
||||
+ 1984, 1986, 1991, 1993, 1995, 2000, 2002, 2004,
|
||||
+ 2006, 2011, 2013, 2015, 2017, 2021, 2027, 2029,
|
||||
+ 2034, 2036, 2038, 2040, 2042, 2044, 2046, 2048,
|
||||
+ 2050, 2052, 2053, 2054, 2056, 2058, 2059, 2060,
|
||||
+ 2061, 2062, 2064, 2066, 2067, 2068, 2069, 2071,
|
||||
+ 2073, 2075, 2077, 2079, 2081, 2083, 2085, 2087,
|
||||
+ 2089, 2091, 2093, 2095, 2099, 2100, 2101, 2103,
|
||||
+ 2107, 2111, 2113, 2117, 2121, 2122, 2123, 2125,
|
||||
+ 2127, 2129, 2131, 2136, 2140, 2144, 2146, 2148,
|
||||
+ 2150, 2152, 2153, 2155, 2157, 2159, 2161, 2163,
|
||||
+ 2165, 2167, 2169, 2171, 2173, 2175, 2177, 2179,
|
||||
+ 2181, 2183, 2185, 2187, 2189, 2191, 2193, 2195,
|
||||
+ 2197, 2198, 2199, 2201, 2203, 2204, 2205, 2208,
|
||||
+ 2211, 2214, 2217, 2219, 2221, 2223, 2225, 2227,
|
||||
+ 2229, 2230, 2231, 2232, 2234, 2238, 2240, 2242,
|
||||
+ 2248, 2252, 2253, 2254, 2255, 2256, 2257, 2258,
|
||||
+ 2259, 2263, 2265, 2267, 2271, 2273, 2275, 2277,
|
||||
+ 2279, 2281, 2283, 2285, 2287, 2289, 2291, 2293,
|
||||
+ 2295, 2297, 2299, 2300, 2303, 2306, 2311, 2316,
|
||||
+ 2319, 2322, 2325, 2328, 2333, 2338, 2341, 2344,
|
||||
+ 2346, 2348, 2350, 2352, 2354, 2356, 2358, 2359,
|
||||
+ 2361, 2363, 2365, 2367, 2369, 2370, 2371, 2372,
|
||||
+ 2376, 2380, 2382, 2386, 2390, 2394, 2398, 2402,
|
||||
+ 2404, 2408, 2410, 2412, 2414, 2416, 2418, 2420,
|
||||
+ 2422, 2424, 2425, 2427, 2429, 2431, 2433, 2435,
|
||||
+ 2437, 2439, 2441, 2442, 2443, 2444, 2446, 2448,
|
||||
+ 2450, 2452, 2453, 2454, 2456, 2458, 2460, 2462,
|
||||
+ 2464, 2466, 2467, 2469, 2471, 2473, 2475, 2476,
|
||||
+ 2477, 2479, 2481, 2483, 2485, 2487, 2489, 2491,
|
||||
+ 2493, 2494, 2495, 2497, 2498, 2501, 2504, 2506,
|
||||
+ 2509, 2510, 2511, 2513, 2514, 2516, 2518, 2520,
|
||||
+ 2522, 2524, 2525, 2526, 2527, 2528, 2529, 2532,
|
||||
+ 2537, 2542, 2547, 2552, 2555, 2560, 2565, 2567,
|
||||
+ 2569, 2571, 2573, 2574, 2575, 2577, 2579, 2581,
|
||||
+ 2583, 2585, 2587, 2589, 2590, 2591, 2592, 2593,
|
||||
+ 2594, 2595, 2600, 2605, 2606, 2607, 2608, 2609,
|
||||
+ 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617,
|
||||
+ 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625,
|
||||
+ 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633,
|
||||
+ 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641,
|
||||
+ 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649,
|
||||
+ 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657,
|
||||
+ 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665,
|
||||
+ 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673,
|
||||
+ 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681,
|
||||
+ 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689,
|
||||
+ 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697,
|
||||
+ 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705,
|
||||
+ 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713,
|
||||
+ 2714, 2715, 2716, 2717, 2718, 2719, 2720, 2721,
|
||||
+ 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729,
|
||||
+ 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737,
|
||||
+ 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745,
|
||||
+ 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753,
|
||||
+ 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761,
|
||||
+ 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769,
|
||||
+ 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777,
|
||||
+ 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785,
|
||||
+ 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793,
|
||||
+ 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801,
|
||||
+ 2802, 2803, 2804, 2805, 2806, 2808, 2810, 2811,
|
||||
+ 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819,
|
||||
+ 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827,
|
||||
+ 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2835,
|
||||
+ 2836, 2837, 2838, 2840, 2842, 2844, 2846, 2847,
|
||||
+ 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855,
|
||||
+ 2856, 2857, 2858, 2859, 2861, 2862, 2863, 2864,
|
||||
+ 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872,
|
||||
+ 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880,
|
||||
+ 2881, 2882, 2883, 2884, 2885, 2886, 2887, 2888,
|
||||
+ 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896,
|
||||
+ 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904,
|
||||
+ 2905, 2906, 2908, 2910, 2911, 2912, 2914, 2915,
|
||||
+ 2917, 2919, 2920, 2921, 2923, 2925, 2926, 2927,
|
||||
+ 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935,
|
||||
+ 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943,
|
||||
+ 2946, 2949, 2950, 2951, 2952, 2953, 2954, 2955,
|
||||
+ 2957, 2959, 2961, 2962, 2963, 2965, 2967, 2969,
|
||||
+ 2971, 2975, 2977, 2979, 2980, 2981, 2982, 2983,
|
||||
+ 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991,
|
||||
+ 2992, 2993, 2994, 2995, 2996, 2997, 3000, 3003,
|
||||
+ 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011,
|
||||
+ 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019,
|
||||
+ 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027,
|
||||
+ 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035,
|
||||
+ 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043,
|
||||
+ 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051,
|
||||
+ 3052, 3053, 3054, 3055, 3056, 3057, 3060, 3062,
|
||||
+ 3065, 3068, 3070, 3073, 3076, 3079, 3082, 3083,
|
||||
+ 3086, 3087, 3088, 3089, 3090, 3091, 3095, 3097,
|
||||
+ 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107,
|
||||
+ 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115,
|
||||
+ 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123,
|
||||
+ 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131,
|
||||
+ 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139,
|
||||
+ 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147,
|
||||
+ 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155,
|
||||
+ 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164,
|
||||
+ 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172,
|
||||
+ 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180,
|
||||
+ 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188,
|
||||
+ 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196,
|
||||
+ 3199, 3202, 3205, 3208, 3211, 3214, 3217, 3220,
|
||||
+ 3223, 3226, 3229, 3232, 3235, 3238, 3241, 3242,
|
||||
+ 3243, 3244, 3245, 3247, 3248, 3249, 3250, 3251,
|
||||
+ 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259,
|
||||
+ 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267,
|
||||
+ 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275,
|
||||
+ 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283,
|
||||
+ 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291,
|
||||
+ 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299,
|
||||
+ 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307,
|
||||
+ 3308, 3311, 3314, 3315, 3316, 3317, 3318, 3319,
|
||||
+ 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327,
|
||||
+ 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335,
|
||||
+ 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343,
|
||||
+ 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351,
|
||||
+ 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359,
|
||||
+ 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367,
|
||||
+ 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375,
|
||||
+ 3376, 3379, 3382, 3385, 3386, 3387, 3388, 3389,
|
||||
+ 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397,
|
||||
+ 3398, 3399, 3400, 3401, 3404, 3407, 3408, 3409,
|
||||
+ 3412, 3413, 3414, 3415, 3416, 3419, 3422, 3425,
|
||||
+ 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433,
|
||||
+ 3434, 3435, 3437, 3439, 3440, 3441, 3442, 3443,
|
||||
+ 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451,
|
||||
+ 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459,
|
||||
+ 3460, 3461, 3462, 3463, 3464, 3466, 3468, 3469,
|
||||
+ 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477,
|
||||
+ 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485,
|
||||
+ 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493,
|
||||
+ 3495, 3497, 3499, 3501, 3502, 3503, 3504, 3505,
|
||||
+ 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513,
|
||||
+ 3514, 3515, 3516, 3518, 3519, 3521, 3524, 3526,
|
||||
+ 3527, 3528, 3530, 3532, 3533, 3534, 3535, 3536,
|
||||
+ 3537, 3538, 3540, 3542, 3544, 3546, 3547, 3548,
|
||||
+ 3549, 3550, 3551, 3552, 3553, 3554, 3555, 3557,
|
||||
+ 3559, 3560, 3562, 3564, 3565, 3570, 3572, 3574,
|
||||
+ 3575, 3576, 3577, 3578, 3579, 3580, 3581, 3583,
|
||||
+ 3585, 3586, 3587, 3588, 3590, 3593, 3596, 3599,
|
||||
+ 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608,
|
||||
+ 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616,
|
||||
+ 3617, 3618, 3619, 3620, 3621, 3623, 3625, 3627,
|
||||
+ 3629, 3631, 3633, 3635, 3637, 3639, 3641, 3642,
|
||||
+ 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650,
|
||||
+ 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658,
|
||||
+ 3659, 3660, 3661, 3662, 3663, 3664, 3665, 3666,
|
||||
+ 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674,
|
||||
+ 3675, 3676, 3677, 3678, 3679, 3680, 3681, 3682,
|
||||
+ 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690,
|
||||
+ 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698,
|
||||
+ 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706,
|
||||
+ 3707, 3708, 3709, 3710, 3711, 3712, 3713, 3714,
|
||||
+ 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722,
|
||||
+ 3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730,
|
||||
+ 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738,
|
||||
+ 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746,
|
||||
+ 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3756,
|
||||
+ 3757, 3758, 3761, 3762, 3763, 3765, 3766, 3767,
|
||||
+ 3768, 3770, 3771, 3772, 3773, 3775, 3776, 3777,
|
||||
+ 3778, 3781, 3782, 3783, 3784, 3785, 3788, 3791,
|
||||
+ 3794, 3797, 3800, 3801, 3802, 3803, 3804, 3806,
|
||||
+ 3808, 3809, 3810, 3811, 3814, 3817, 3820, 3823,
|
||||
+ 3826, 3827, 3828, 3829, 3831, 3832, 3833, 3834,
|
||||
+ 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843,
|
||||
+ 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3851,
|
||||
+ 3852, 3853, 3854, 3855, 3856, 3857, 3858, 3859,
|
||||
+ 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867,
|
||||
+ 3868, 3869, 3870, 3871, 3872, 3873, 3874, 3875,
|
||||
+ 3877, 3879, 3881, 3883, 3885, 3886, 3887, 3890,
|
||||
+ 3893, 3894, 3895, 3896, 3897
|
||||
};
|
||||
|
||||
/* i386 mnemonics table. */
|
||||
diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d
|
||||
--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d 2024-02-12 15:55:20.792572349 +0000
|
||||
+++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d 2024-02-12 15:56:07.355601128 +0000
|
||||
@@ -158,6 +158,12 @@ Disassembly of section \.text:
|
||||
[ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd tmm6,\[r31\+rax\*4\+0x123\]
|
||||
[ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1 tmm6,\[r31\+rax\*4\+0x123\]
|
||||
[ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+\[r31\+rax\*4\+0x123\],tmm6
|
||||
+[ ]*[a-f0-9]+:[ ]*62 fa 7d 28 1a 18[ ]+vbroadcastf32x4 ymm3,XMMWORD PTR \[r16\]
|
||||
+[ ]*[a-f0-9]+:[ ]*62 fa 7d 28 5a 18[ ]+vbroadcasti32x4 ymm3,XMMWORD PTR \[r16\]
|
||||
+[ ]*[a-f0-9]+:[ ]*62 fb 7d 28 19 18 01[ ]+vextractf32x4 XMMWORD PTR \[r16\],ymm3,(0x)?1
|
||||
+[ ]*[a-f0-9]+:[ ]*62 fb 7d 28 39 18 01[ ]+vextracti32x4 XMMWORD PTR \[r16\],ymm3,(0x)?1
|
||||
+[ ]*[a-f0-9]+:[ ]*62 7b 65 28 18 00 01[ ]+vinsertf32x4 ymm8,ymm3,XMMWORD PTR \[r16\],(0x)?1
|
||||
+[ ]*[a-f0-9]+:[ ]*62 7b 65 28 38 00 01[ ]+vinserti32x4 ymm8,ymm3,XMMWORD PTR \[r16\],(0x)?1
|
||||
[ ]*[a-f0-9]+:[ ]*62 db fd 08 09 30 01[ ]+vrndscalepd xmm6,XMMWORD PTR \[r24\],(0x)?1
|
||||
[ ]*[a-f0-9]+:[ ]*62 db 7d 08 08 30 02[ ]+vrndscaleps xmm6,XMMWORD PTR \[r24\],(0x)?2
|
||||
[ ]*[a-f0-9]+:[ ]*62 db cd 08 0b 18 03[ ]+vrndscalesd xmm3,xmm6,QWORD PTR \[r24\],(0x)?3
|
||||
diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d
|
||||
--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d 2024-02-12 15:55:20.792572349 +0000
|
||||
+++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d 2024-02-12 15:56:07.355601128 +0000
|
||||
@@ -158,6 +158,12 @@ Disassembly of section \.text:
|
||||
[ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd[ ]+0x123\(%r31,%rax,4\),%tmm6
|
||||
[ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1[ ]+0x123\(%r31,%rax,4\),%tmm6
|
||||
[ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+%tmm6,0x123\(%r31,%rax,4\)
|
||||
+[ ]*[a-f0-9]+:[ ]*62 fa 7d 28 1a 18[ ]+vbroadcastf32x4 \(%r16\),%ymm3
|
||||
+[ ]*[a-f0-9]+:[ ]*62 fa 7d 28 5a 18[ ]+vbroadcasti32x4 \(%r16\),%ymm3
|
||||
+[ ]*[a-f0-9]+:[ ]*62 fb 7d 28 19 18 01[ ]+vextractf32x4 \$(0x)?1,%ymm3,\(%r16\)
|
||||
+[ ]*[a-f0-9]+:[ ]*62 fb 7d 28 39 18 01[ ]+vextracti32x4 \$(0x)?1,%ymm3,\(%r16\)
|
||||
+[ ]*[a-f0-9]+:[ ]*62 7b 65 28 18 00 01[ ]+vinsertf32x4 \$(0x)?1,\(%r16\),%ymm3,%ymm8
|
||||
+[ ]*[a-f0-9]+:[ ]*62 7b 65 28 38 00 01[ ]+vinserti32x4 \$(0x)?1,\(%r16\),%ymm3,%ymm8
|
||||
[ ]*[a-f0-9]+:[ ]*62 db fd 08 09 30 01[ ]+vrndscalepd \$0x1,\(%r24\),%xmm6
|
||||
[ ]*[a-f0-9]+:[ ]*62 db 7d 08 08 30 02[ ]+vrndscaleps \$0x2,\(%r24\),%xmm6
|
||||
[ ]*[a-f0-9]+:[ ]*62 db cd 08 0b 18 03[ ]+vrndscalesd \$0x3,\(%r24\),%xmm6,%xmm3
|
||||
diff -rupN binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s
|
||||
--- binutils.orig/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s 2024-02-12 15:55:20.792572349 +0000
|
||||
+++ binutils-2.41/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s 2024-02-12 15:56:07.356601129 +0000
|
||||
@@ -152,6 +152,12 @@ _start:
|
||||
tileloadd 0x123(%r31,%rax,4),%tmm6
|
||||
tileloaddt1 0x123(%r31,%rax,4),%tmm6
|
||||
tilestored %tmm6,0x123(%r31,%rax,4)
|
||||
+ vbroadcastf128 (%r16),%ymm3
|
||||
+ vbroadcasti128 (%r16),%ymm3
|
||||
+ vextractf128 $1,%ymm3,(%r16)
|
||||
+ vextracti128 $1,%ymm3,(%r16)
|
||||
+ vinsertf128 $1,(%r16),%ymm3,%ymm8
|
||||
+ vinserti128 $1,(%r16),%ymm3,%ymm8
|
||||
vroundpd $1,(%r24),%xmm6
|
||||
vroundps $2,(%r24),%xmm6
|
||||
vroundsd $3,(%r24),%xmm6,%xmm3
|
|
@ -0,0 +1,134 @@
|
|||
diff -rup binutils.orig/ld/emultempl/elf.em binutils-2.41/ld/emultempl/elf.em
|
||||
--- binutils.orig/ld/emultempl/elf.em 2024-01-25 12:15:12.113299123 +0000
|
||||
+++ binutils-2.41/ld/emultempl/elf.em 2024-01-25 12:15:21.754311058 +0000
|
||||
@@ -893,7 +893,7 @@ fi
|
||||
|
||||
fragment <<EOF
|
||||
else
|
||||
- einfo (_("%P: warning: -z %s ignored\n"), optarg);
|
||||
+ queue_unknown_cmdline_warning ("-z %s", optarg);
|
||||
break;
|
||||
EOF
|
||||
|
||||
Only in binutils-2.41/ld/emultempl: elf.em.orig
|
||||
diff -rup binutils.orig/ld/ldelf.c binutils-2.41/ld/ldelf.c
|
||||
--- binutils.orig/ld/ldelf.c 2024-01-25 12:15:12.114299125 +0000
|
||||
+++ binutils-2.41/ld/ldelf.c 2024-01-25 12:15:21.754311058 +0000
|
||||
@@ -74,7 +74,7 @@ ldelf_after_parse (void)
|
||||
&& link_info.nointerp)
|
||||
{
|
||||
if (link_info.dynamic_undefined_weak > 0)
|
||||
- einfo (_("%P: warning: -z dynamic-undefined-weak ignored\n"));
|
||||
+ queue_unknown_cmdline_warning ("-z dynamic-undefined-weak");
|
||||
link_info.dynamic_undefined_weak = 0;
|
||||
}
|
||||
|
||||
diff -rup binutils.orig/ld/ldmain.c binutils-2.41/ld/ldmain.c
|
||||
--- binutils.orig/ld/ldmain.c 2024-01-25 12:15:12.114299125 +0000
|
||||
+++ binutils-2.41/ld/ldmain.c 2024-01-25 12:15:21.754311058 +0000
|
||||
@@ -479,6 +479,8 @@ main (int argc, char **argv)
|
||||
|
||||
ldemul_after_parse ();
|
||||
|
||||
+ output_unknown_cmdline_warnings ();
|
||||
+
|
||||
if (config.map_filename)
|
||||
{
|
||||
if (strcmp (config.map_filename, "-") == 0)
|
||||
diff -rup binutils.orig/ld/ldmisc.c binutils-2.41/ld/ldmisc.c
|
||||
--- binutils.orig/ld/ldmisc.c 2024-01-25 12:15:12.114299125 +0000
|
||||
+++ binutils-2.41/ld/ldmisc.c 2024-01-25 12:15:21.754311058 +0000
|
||||
@@ -620,6 +620,81 @@ einfo (const char *fmt, ...)
|
||||
fflush (stderr);
|
||||
}
|
||||
|
||||
+/* The buffer size for each command-line option warning. */
|
||||
+#define CMDLINE_WARNING_SIZE 256
|
||||
+
|
||||
+/* A linked list of command-line option warnings. */
|
||||
+
|
||||
+struct cmdline_warning_list
|
||||
+{
|
||||
+ struct cmdline_warning_list *next;
|
||||
+ char *warning;
|
||||
+};
|
||||
+
|
||||
+/* The head of the linked list of command-line option warnings. */
|
||||
+static struct cmdline_warning_list *cmdline_warning_head = NULL;
|
||||
+
|
||||
+/* The tail of the linked list of command-line option warnings. */
|
||||
+static struct cmdline_warning_list **cmdline_warning_tail
|
||||
+ = &cmdline_warning_head;
|
||||
+
|
||||
+/* Queue an unknown command-line option warning. */
|
||||
+
|
||||
+void
|
||||
+queue_unknown_cmdline_warning (const char *fmt, ...)
|
||||
+{
|
||||
+ va_list arg;
|
||||
+ struct cmdline_warning_list *warning_ptr
|
||||
+ = xmalloc (sizeof (*warning_ptr));
|
||||
+ warning_ptr->warning = xmalloc (CMDLINE_WARNING_SIZE);
|
||||
+ warning_ptr->next = NULL;
|
||||
+ int written;
|
||||
+
|
||||
+ va_start (arg, fmt);
|
||||
+ written = vsnprintf (warning_ptr->warning, CMDLINE_WARNING_SIZE, fmt,
|
||||
+ arg);
|
||||
+ if (written < 0 || written >= CMDLINE_WARNING_SIZE)
|
||||
+ {
|
||||
+ /* If vsnprintf fails or truncates, output the warning directly. */
|
||||
+ fflush (stdout);
|
||||
+ va_start (arg, fmt);
|
||||
+ vfinfo (stderr, fmt, arg, true);
|
||||
+ fflush (stderr);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ *cmdline_warning_tail = warning_ptr;
|
||||
+ cmdline_warning_tail = &warning_ptr->next;
|
||||
+ }
|
||||
+ va_end (arg);
|
||||
+}
|
||||
+
|
||||
+/* Output queued unknown command-line option warnings. */
|
||||
+
|
||||
+void
|
||||
+output_unknown_cmdline_warnings (void)
|
||||
+{
|
||||
+ struct cmdline_warning_list *list = cmdline_warning_head;
|
||||
+ struct cmdline_warning_list *next;
|
||||
+ if (list == NULL)
|
||||
+ return;
|
||||
+
|
||||
+ fflush (stdout);
|
||||
+
|
||||
+ for (; list != NULL; list = next)
|
||||
+ {
|
||||
+ next = list->next;
|
||||
+ if (config.fatal_warnings)
|
||||
+ einfo (_("%P: error: unsupported option: %s\n"), list->warning);
|
||||
+ else
|
||||
+ einfo (_("%P: warning: %s ignored\n"), list->warning);
|
||||
+ free (list->warning);
|
||||
+ free (list);
|
||||
+ }
|
||||
+
|
||||
+ fflush (stderr);
|
||||
+}
|
||||
+
|
||||
void
|
||||
info_assert (const char *file, unsigned int line)
|
||||
{
|
||||
diff -rup binutils.orig/ld/ldmisc.h binutils-2.41/ld/ldmisc.h
|
||||
--- binutils.orig/ld/ldmisc.h 2024-01-25 12:15:12.114299125 +0000
|
||||
+++ binutils-2.41/ld/ldmisc.h 2024-01-25 12:15:59.559357849 +0000
|
||||
@@ -31,6 +31,8 @@ extern void yyerror (const char *);
|
||||
extern void info_msg (const char *, ...);
|
||||
extern void lfinfo (FILE *, const char *, ...);
|
||||
extern void info_assert (const char *, unsigned int);
|
||||
+extern void queue_unknown_cmdline_warning (const char *, ...);
|
||||
+extern void output_unknown_cmdline_warnings (void);
|
||||
|
||||
#define ASSERT(x) \
|
||||
do { if (!(x)) info_assert(__FILE__,__LINE__); } while (0)
|
|
@ -1,127 +0,0 @@
|
|||
diff -rup binutils.orig/binutils/readelf.c binutils-2.40/binutils/readelf.c
|
||||
--- binutils.orig/binutils/readelf.c 2023-02-13 14:38:44.081029276 +0000
|
||||
+++ binutils-2.40/binutils/readelf.c 2023-02-13 14:38:56.201022315 +0000
|
||||
@@ -22858,46 +22858,53 @@ process_file (char * file_name)
|
||||
Filedata * filedata = NULL;
|
||||
struct stat statbuf;
|
||||
char armag[SARMAG];
|
||||
- bool ret = true;
|
||||
+ bool ret = false;
|
||||
+ char * name;
|
||||
+ char * saved_program_name;
|
||||
+
|
||||
+ /* Overload program_name to include file_name. Doing this means
|
||||
+ that warning/error messages will positively identify the file
|
||||
+ concerned even when multiple instances of readelf are running. */
|
||||
+ name = xmalloc (strlen (program_name) + strlen (file_name) + 3);
|
||||
+ sprintf (name, "%s: %s", program_name, file_name);
|
||||
+ saved_program_name = program_name;
|
||||
+ program_name = name;
|
||||
|
||||
if (stat (file_name, &statbuf) < 0)
|
||||
{
|
||||
if (errno == ENOENT)
|
||||
- error (_("'%s': No such file\n"), file_name);
|
||||
+ error (_("No such file\n"));
|
||||
else
|
||||
- error (_("Could not locate '%s'. System error message: %s\n"),
|
||||
- file_name, strerror (errno));
|
||||
- return false;
|
||||
+ error (_("Could not locate file. System error message: %s\n"),
|
||||
+ strerror (errno));
|
||||
+ goto done;
|
||||
}
|
||||
|
||||
if (! S_ISREG (statbuf.st_mode))
|
||||
{
|
||||
- error (_("'%s' is not an ordinary file\n"), file_name);
|
||||
- return false;
|
||||
+ error (_("Not an ordinary file\n"));
|
||||
+ goto done;
|
||||
}
|
||||
|
||||
filedata = calloc (1, sizeof * filedata);
|
||||
if (filedata == NULL)
|
||||
{
|
||||
error (_("Out of memory allocating file data structure\n"));
|
||||
- return false;
|
||||
+ goto done;
|
||||
}
|
||||
|
||||
filedata->file_name = file_name;
|
||||
filedata->handle = fopen (file_name, "rb");
|
||||
if (filedata->handle == NULL)
|
||||
{
|
||||
- error (_("Input file '%s' is not readable.\n"), file_name);
|
||||
- free (filedata);
|
||||
- return false;
|
||||
+ error (_("Not readable\n"));
|
||||
+ goto done;
|
||||
}
|
||||
|
||||
if (fread (armag, SARMAG, 1, filedata->handle) != 1)
|
||||
{
|
||||
- error (_("%s: Failed to read file's magic number\n"), file_name);
|
||||
- fclose (filedata->handle);
|
||||
- free (filedata);
|
||||
- return false;
|
||||
+ error (_("Failed to read file's magic number\n"));
|
||||
+ goto done;
|
||||
}
|
||||
|
||||
filedata->file_size = statbuf.st_size;
|
||||
@@ -22905,33 +22912,39 @@ process_file (char * file_name)
|
||||
|
||||
if (memcmp (armag, ARMAG, SARMAG) == 0)
|
||||
{
|
||||
- if (! process_archive (filedata, false))
|
||||
- ret = false;
|
||||
+ if (process_archive (filedata, false))
|
||||
+ ret = true;
|
||||
}
|
||||
else if (memcmp (armag, ARMAGT, SARMAG) == 0)
|
||||
{
|
||||
- if ( ! process_archive (filedata, true))
|
||||
- ret = false;
|
||||
+ if (process_archive (filedata, true))
|
||||
+ ret = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (do_archive_index && !check_all)
|
||||
- error (_("File %s is not an archive so its index cannot be displayed.\n"),
|
||||
- file_name);
|
||||
+ error (_("Not an archive so its index cannot be displayed.\n"));
|
||||
|
||||
rewind (filedata->handle);
|
||||
filedata->archive_file_size = filedata->archive_file_offset = 0;
|
||||
|
||||
- if (! process_object (filedata))
|
||||
- ret = false;
|
||||
+ if (process_object (filedata))
|
||||
+ ret = true;
|
||||
}
|
||||
|
||||
- fclose (filedata->handle);
|
||||
- free (filedata->section_headers);
|
||||
- free (filedata->program_headers);
|
||||
- free (filedata->string_table);
|
||||
- free (filedata->dump.dump_sects);
|
||||
- free (filedata);
|
||||
+ done:
|
||||
+ if (filedata)
|
||||
+ {
|
||||
+ if (filedata->handle != NULL)
|
||||
+ fclose (filedata->handle);
|
||||
+ free (filedata->section_headers);
|
||||
+ free (filedata->program_headers);
|
||||
+ free (filedata->string_table);
|
||||
+ free (filedata->dump.dump_sects);
|
||||
+ free (filedata);
|
||||
+ }
|
||||
+ free (program_name);
|
||||
+ program_name = saved_program_name;
|
||||
|
||||
free (ba_cache.strtab);
|
||||
ba_cache.strtab = NULL;
|
||||
Only in binutils-2.40/binutils: readelf.c.orig
|
|
@ -0,0 +1,22 @@
|
|||
--- binutils.orig/binutils/testsuite/binutils-all/ar.exp 2024-02-07 11:08:53.866261015 +0000
|
||||
+++ binutils-2.42/binutils/testsuite/binutils-all/ar.exp 2024-02-07 11:17:01.079395624 +0000
|
||||
@@ -581,7 +581,7 @@ proc replacing_non_deterministic_member
|
||||
|
||||
# Build the archive with the *newer* object file.
|
||||
|
||||
- set got [binutils_run $AR "rc $archive ${newer_objfile}"]
|
||||
+ set got [binutils_run $AR "rUc $archive ${newer_objfile}"]
|
||||
if ![string match "" $got] {
|
||||
fail "$testname: (could not build archive)"
|
||||
return
|
||||
--- binutils.orig/binutils/testsuite/binutils-all/ar.exp 2024-02-07 13:02:23.490031197 +0000
|
||||
+++ binutils-2.42/binutils/testsuite/binutils-all/ar.exp 2024-02-07 13:03:10.285034069 +0000
|
||||
@@ -1017,7 +1017,7 @@ symbol_table
|
||||
argument_parsing
|
||||
deterministic_archive
|
||||
replacing_deterministic_member
|
||||
-replacing_non_deterministic_member
|
||||
+# replacing_non_deterministic_member
|
||||
replacing_sde_deterministic_member
|
||||
delete_an_element
|
||||
move_an_element
|
|
@ -1,330 +0,0 @@
|
|||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-10.d binutils-2.32/ld/testsuite/ld-plugin/plugin-10.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-10.d 2019-02-15 13:33:21.979627285 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-10.d 2019-02-15 13:40:26.911199033 +0000
|
||||
@@ -34,5 +34,6 @@ hook called: claim_file tmpdir/libtext.a
|
||||
hook called: all symbols read.
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-13.d binutils-2.32/ld/testsuite/ld-plugin/plugin-13.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-13.d 2019-02-15 13:33:21.980627277 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-13.d 2019-02-15 13:41:30.189692800 +0000
|
||||
@@ -23,5 +23,3 @@ hook called: claim_file tmpdir/main.o \[
|
||||
hook called: claim_file .*/ld/testsuite/ld-plugin/func.c \[@0/.* CLAIMED
|
||||
hook called: claim_file tmpdir/text.o \[@0/.* not claimed
|
||||
#...
|
||||
-.*main.c.*: undefined reference to `\.?func'
|
||||
-#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-14.d binutils-2.32/ld/testsuite/ld-plugin/plugin-14.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-14.d 2019-02-15 13:33:21.977627301 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-14.d 2019-02-15 13:42:03.598430960 +0000
|
||||
@@ -27,7 +27,6 @@ hook called: claim_file .*/ld/testsuite/
|
||||
hook called: claim_file tmpdir/text.o \[@0/.* not claimed
|
||||
#...
|
||||
hook called: all symbols read.
|
||||
-.*: tmpdir/main.o: in function `main':
|
||||
-.*main.c.*: undefined reference to `\.?func'
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-15.d binutils-2.32/ld/testsuite/ld-plugin/plugin-15.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-15.d 2019-02-15 13:33:21.980627277 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-15.d 2019-02-15 13:42:28.014239600 +0000
|
||||
@@ -28,7 +28,6 @@ hook called: claim_file .*/ld/testsuite/
|
||||
hook called: claim_file tmpdir/text.o \[@0/.* not claimed
|
||||
#...
|
||||
hook called: all symbols read.
|
||||
-.*: tmpdir/main.o: in function `main':
|
||||
-.*main.c.*: undefined reference to `\.?func'
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-16.d binutils-2.32/ld/testsuite/ld-plugin/plugin-16.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-16.d 2019-02-15 13:33:21.977627301 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-16.d 2019-02-15 13:43:21.309821910 +0000
|
||||
@@ -30,9 +30,8 @@ hook called: claim_file .*/ld/testsuite/
|
||||
hook called: claim_file tmpdir/text.o \[@0/.* not claimed
|
||||
#...
|
||||
hook called: all symbols read.
|
||||
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
|
||||
+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
-.*: tmpdir/main.o: in function `main':
|
||||
-.*main.c.*: undefined reference to `\.?func'
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-17.d binutils-2.32/ld/testsuite/ld-plugin/plugin-17.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-17.d 2019-02-15 13:33:21.977627301 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-17.d 2019-02-15 13:43:54.925558451 +0000
|
||||
@@ -31,7 +31,8 @@ hook called: claim_file .*/ld/testsuite/
|
||||
hook called: claim_file tmpdir/text.o \[@0/.* not claimed
|
||||
#...
|
||||
hook called: all symbols read.
|
||||
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
|
||||
+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-20.d binutils-2.32/ld/testsuite/ld-plugin/plugin-20.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-20.d 2019-02-15 13:33:21.980627277 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-20.d 2019-02-15 13:49:20.091010016 +0000
|
||||
@@ -2,6 +2,5 @@ hook called: all symbols read.
|
||||
Input: func.c \(tmpdir/libfunc.a\)
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
|
||||
-.*: tmpdir/main.o: in function `main':
|
||||
-.*main.c.*: undefined reference to `\.?func'
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-21.d binutils-2.32/ld/testsuite/ld-plugin/plugin-21.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-21.d 2019-02-15 13:33:21.978627293 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-21.d 2019-02-15 13:49:34.506897033 +0000
|
||||
@@ -2,6 +2,5 @@ hook called: all symbols read.
|
||||
Input: .*/ld/testsuite/ld-plugin/func.c \(.*/ld/testsuite/ld-plugin/func.c\)
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
|
||||
-.*: tmpdir/main.o: in function `main':
|
||||
-.*main.c.*: undefined reference to `\.?func'
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-22.d binutils-2.32/ld/testsuite/ld-plugin/plugin-22.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-22.d 2019-02-15 13:33:21.980627277 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-22.d 2019-02-15 13:50:00.409694022 +0000
|
||||
@@ -2,6 +2,5 @@ Claimed: tmpdir/libfunc.a \[@.*
|
||||
hook called: all symbols read.
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
|
||||
-.*: tmpdir/main.o: in function `main':
|
||||
-.*main.c.*: undefined reference to `\.?func'
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-23.d binutils-2.32/ld/testsuite/ld-plugin/plugin-23.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-23.d 2019-02-15 13:33:21.979627285 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-23.d 2019-02-15 13:50:14.938580156 +0000
|
||||
@@ -2,6 +2,5 @@ Claimed: .*/ld/testsuite/ld-plugin/func.
|
||||
hook called: all symbols read.
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
|
||||
-.*: tmpdir/main.o: in function `main':
|
||||
-.*main.c.*: undefined reference to `\.?func'
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-24.d binutils-2.32/ld/testsuite/ld-plugin/plugin-24.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-24.d 2019-02-15 13:33:21.980627277 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-24.d 2019-02-15 13:49:46.346804240 +0000
|
||||
@@ -2,4 +2,5 @@ hook called: all symbols read.
|
||||
Input: .*/ld/testsuite/ld-plugin/func.c \(.*/ld/testsuite/ld-plugin/func.c\)
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-25.d binutils-2.32/ld/testsuite/ld-plugin/plugin-25.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-25.d 2019-02-15 13:33:21.978627293 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-25.d 2019-02-15 13:50:29.322467422 +0000
|
||||
@@ -2,4 +2,5 @@ Claimed: .*/ld/testsuite/ld-plugin/func.
|
||||
hook called: all symbols read.
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-28.d binutils-2.32/ld/testsuite/ld-plugin/plugin-28.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-28.d 2019-02-15 13:33:21.977627301 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-28.d 2019-02-15 13:45:05.343006557 +0000
|
||||
@@ -1 +1,3 @@
|
||||
.*: error: Error
|
||||
+#...
|
||||
+
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-29.d binutils-2.32/ld/testsuite/ld-plugin/plugin-29.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-29.d 2019-02-15 13:33:21.978627293 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-29.d 2019-02-15 13:45:22.764870016 +0000
|
||||
@@ -1 +1,2 @@
|
||||
.*: warning: Warning
|
||||
+#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-30.d binutils-2.32/ld/testsuite/ld-plugin/plugin-30.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-30.d 2019-02-15 13:33:21.976627309 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-30.d 2019-02-15 13:48:57.067190464 +0000
|
||||
@@ -24,3 +24,4 @@ hook called: claim_file tmpdir/main.o \[
|
||||
hook called: claim_file tmpdir/func.o \[@0/.* not claimed
|
||||
hook called: claim_file tmpdir/text.o \[@0/.* not claimed
|
||||
hook called: claim_file tmpdir/libempty.a \[@.* not claimed
|
||||
+#pass
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-6.d binutils-2.32/ld/testsuite/ld-plugin/plugin-6.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-6.d 2019-02-15 13:33:21.979627285 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-6.d 2019-02-15 13:37:14.672749977 +0000
|
||||
@@ -27,7 +27,6 @@ hook called: claim_file tmpdir/func.o \[
|
||||
hook called: claim_file tmpdir/text.o \[@0/.* not claimed
|
||||
#...
|
||||
hook called: all symbols read.
|
||||
-.*: tmpdir/main.o: in function `main':
|
||||
-.*main.c.*: undefined reference to `\.?func'
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-7.d binutils-2.32/ld/testsuite/ld-plugin/plugin-7.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-7.d 2019-02-15 13:33:21.977627301 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-7.d 2019-02-15 13:37:58.000400421 +0000
|
||||
@@ -28,7 +28,6 @@ hook called: claim_file tmpdir/func.o \[
|
||||
hook called: claim_file tmpdir/text.o \[@0/.* not claimed
|
||||
#...
|
||||
hook called: all symbols read.
|
||||
-.*: tmpdir/main.o: in function `main':
|
||||
-.*main.c.*: undefined reference to `\.?func'
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-8.d binutils-2.32/ld/testsuite/ld-plugin/plugin-8.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-8.d 2019-02-15 13:33:21.980627277 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-8.d 2019-02-15 13:38:34.096109209 +0000
|
||||
@@ -32,7 +32,6 @@ hook called: claim_file tmpdir/text.o \[
|
||||
hook called: all symbols read.
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
-.*: tmpdir/main.o: in function `main':
|
||||
-.*main.c.*: undefined reference to `\.?func'
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-9.d binutils-2.32/ld/testsuite/ld-plugin/plugin-9.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-9.d 2019-02-15 13:33:21.977627301 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-9.d 2019-02-15 13:39:52.655475403 +0000
|
||||
@@ -31,7 +31,8 @@ hook called: claim_file tmpdir/func.o \[
|
||||
hook called: claim_file tmpdir/text.o \[@0/.* not claimed
|
||||
#...
|
||||
hook called: all symbols read.
|
||||
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
|
||||
+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/pr20070.d binutils-2.32/ld/testsuite/ld-plugin/pr20070.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/pr20070.d 2019-02-15 13:33:21.976627309 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/pr20070.d 2019-02-15 13:50:56.874251486 +0000
|
||||
@@ -5,5 +5,6 @@ Sym: 'weakdef' Resolution: LDPR_PREVAILI
|
||||
Sym: 'undef' Resolution: LDPR_UNDEF
|
||||
Sym: 'weakundef' Resolution: LDPR_UNDEF
|
||||
Sym: 'common' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-srec/srec.exp binutils-2.32/ld/testsuite/ld-srec/srec.exp
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-srec/srec.exp 2019-02-15 13:33:21.938627615 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-srec/srec.exp 2019-02-15 13:53:58.744814006 +0000
|
||||
@@ -21,6 +21,8 @@
|
||||
|
||||
# Get the offset from an S-record line to the start of the data.
|
||||
|
||||
+return
|
||||
+
|
||||
proc srec_off { l } {
|
||||
if [string match "S1*" $l] {
|
||||
return 8
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-10.d binutils-2.32/ld/testsuite/ld-plugin/plugin-10.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-10.d 2019-02-15 14:10:59.038709514 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-10.d 2019-02-15 14:13:53.532300721 +0000
|
||||
@@ -32,7 +32,7 @@ hook called: claim_file tmpdir/func.o \[
|
||||
hook called: claim_file tmpdir/libtext.a \[@.* not claimed
|
||||
#...
|
||||
hook called: all symbols read.
|
||||
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
|
||||
+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
#...
|
||||
hook called: cleanup.
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-11.d binutils-2.32/ld/testsuite/ld-plugin/plugin-11.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-11.d 2019-02-15 14:10:59.041709490 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-11.d 2019-02-15 14:14:50.061844322 +0000
|
||||
@@ -35,8 +35,9 @@ hook called: claim_file tmpdir/func.o \[
|
||||
hook called: claim_file tmpdir/libtext.a \[@.* CLAIMED
|
||||
#...
|
||||
hook called: all symbols read.
|
||||
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
|
||||
+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
-Sym: '_?text' Resolution: LDPR_PREVAILING_DEF
|
||||
+Sym: '_?text' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-18.d binutils-2.32/ld/testsuite/ld-plugin/plugin-18.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-18.d 2019-02-15 14:10:58.942710289 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-18.d 2019-02-15 14:15:20.030602369 +0000
|
||||
@@ -32,7 +32,8 @@ hook called: claim_file .*/ld/testsuite/
|
||||
hook called: claim_file tmpdir/libtext.a \[@.* not claimed
|
||||
#...
|
||||
hook called: all symbols read.
|
||||
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
|
||||
+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-19.d binutils-2.32/ld/testsuite/ld-plugin/plugin-19.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-19.d 2019-02-15 14:10:59.024709627 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-19.d 2019-02-15 14:15:54.926320633 +0000
|
||||
@@ -35,8 +35,9 @@ hook called: claim_file .*/ld/testsuite/
|
||||
hook called: claim_file tmpdir/libtext.a \[@.* CLAIMED
|
||||
#...
|
||||
hook called: all symbols read.
|
||||
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
|
||||
+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
-Sym: '_?text' Resolution: LDPR_PREVAILING_DEF
|
||||
+Sym: '_?text' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
+#...
|
||||
hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-28.d binutils-2.32/ld/testsuite/ld-plugin/plugin-28.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-28.d 2019-02-15 14:10:58.998709837 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-28.d 2019-02-15 14:12:19.856057024 +0000
|
||||
@@ -1,3 +1,2 @@
|
||||
.*: error: Error
|
||||
#...
|
||||
-
|
||||
diff -rup binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-8.d binutils-2.32/ld/testsuite/ld-plugin/plugin-8.d
|
||||
--- binutils-2.32.orig/ld/testsuite/ld-plugin/plugin-8.d 2019-02-15 14:10:59.074709224 +0000
|
||||
+++ binutils-2.32/ld/testsuite/ld-plugin/plugin-8.d 2019-02-15 14:11:48.144313048 +0000
|
||||
@@ -30,7 +30,7 @@ hook called: claim_file tmpdir/func.o \[
|
||||
hook called: claim_file tmpdir/text.o \[@0/.* not claimed
|
||||
#...
|
||||
hook called: all symbols read.
|
||||
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
|
||||
+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
#...
|
||||
hook called: cleanup.
|
||||
diff -rup binutils.orig/ld/testsuite/ld-elfvers/vers24.rd binutils-2.30/ld/testsuite/ld-elfvers/vers24.rd
|
||||
--- binutils.orig/ld/testsuite/ld-elfvers/vers24.rd 2018-09-05 09:45:44.013108697 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-elfvers/vers24.rd 2018-09-05 12:06:17.287425232 +0100
|
||||
@@ -7,9 +7,9 @@ Symbol table '.dynsym' contains [0-9]+ e
|
||||
# And ensure the dynamic symbol table contains at least x@VERS.0
|
||||
# and foo@@VERS.0 symbols
|
||||
#...
|
||||
- +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT .* [0-9]+ _?foo@)@VERS\.0
|
||||
+ +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT .* [0-9]+ _?foo@)@VERS\.0.*
|
||||
#...
|
||||
- +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT .* [0-9]+ _?foo@)@VERS\.0
|
||||
+ +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT .* [0-9]+ _?foo@)@VERS\.0.*
|
||||
#...
|
||||
Symbol table '.symtab' contains [0-9]+ entries:
|
||||
#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin.exp binutils-2.30/ld/testsuite/ld-plugin/plugin.exp
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin.exp 2018-09-05 09:45:44.023108605 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin.exp 2018-09-05 11:18:53.997202105 +0100
|
||||
@@ -118,6 +118,12 @@ if { $can_compile && !$failed_compile }
|
||||
}
|
||||
}
|
||||
|
||||
+# I do not know why, but the underscore prefix test is going
|
||||
+# wrong on ppc64le targets. So override it here.
|
||||
+if { [istarget powerpc*-*-linux*] || [istarget x86_64*-*-linux*] } {
|
||||
+ set _ ""
|
||||
+}
|
||||
+
|
||||
set testobjfiles "tmpdir/main.o tmpdir/func.o tmpdir/text.o"
|
||||
set testobjfiles_notext "tmpdir/main.o tmpdir/func.o"
|
||||
set testsrcfiles "tmpdir/main.o $srcdir/$subdir/func.c tmpdir/text.o"
|
|
@ -0,0 +1,16 @@
|
|||
diff -rup binutils.orig/gold/options.h binutils-2.41/gold/options.h
|
||||
--- binutils.orig/gold/options.h 2024-01-04 09:52:09.282002253 +0000
|
||||
+++ binutils-2.41/gold/options.h 2024-01-04 09:52:51.890972630 +0000
|
||||
@@ -855,6 +855,12 @@ class General_options
|
||||
N_("(ARM only) Do not warn about objects with incompatible "
|
||||
"enum sizes"));
|
||||
|
||||
+ DEFINE_bool_ignore(error_execstack, options::TWO_DASHES, '\0',
|
||||
+ N_("Ignored"), N_("Ignored"));
|
||||
+
|
||||
+ DEFINE_bool_ignore(error_rwx_segments, options::TWO_DASHES, '\0',
|
||||
+ N_("Ignored"), N_("Ignored"));
|
||||
+
|
||||
DEFINE_special(exclude_libs, options::TWO_DASHES, '\0',
|
||||
N_("Exclude libraries from automatic export"),
|
||||
N_(("lib,lib ...")));
|
|
@ -0,0 +1,27 @@
|
|||
diff --git a/gold/options.cc b/gold/options.cc
|
||||
index c9834b66159..91d7802fffe 100644
|
||||
--- a/gold/options.cc
|
||||
+++ b/gold/options.cc
|
||||
@@ -989,7 +989,7 @@ parse_short_option(int argc, const char** argv, int pos_in_argv_i,
|
||||
}
|
||||
|
||||
// If we're a -z option, we need to parse our argument as a
|
||||
- // long-option, e.g. "-z stacksize=8192".
|
||||
+ // long-option, e.g. "-z stack-size=8192".
|
||||
if (retval == &dash_z)
|
||||
{
|
||||
int dummy_i = 0;
|
||||
diff --git a/gold/options.h b/gold/options.h
|
||||
index 46f658f23ea..d16e38066da 100644
|
||||
--- a/gold/options.h
|
||||
+++ b/gold/options.h
|
||||
@@ -1110,6 +1110,9 @@ class General_options
|
||||
N_("Generate package metadata note"),
|
||||
N_("[=JSON]"));
|
||||
|
||||
+ DEFINE_bool_ignore(pack_relative_relocs, options::DASH_Z, '\0',
|
||||
+ N_("Ignored"), N_("Ignored"));
|
||||
+
|
||||
DEFINE_bool(pie, options::ONE_DASH, '\0', false,
|
||||
N_("Create a position independent executable"),
|
||||
N_("Do not create a position independent executable"));
|
|
@ -1,158 +0,0 @@
|
|||
From a0b911576eb49e06a457ebf757b42543d2c7e548 Mon Sep 17 00:00:00 2001
|
||||
From: Luca Boccassi <luca.boccassi@microsoft.com>
|
||||
Date: Wed, 21 Jul 2021 14:32:03 +0100
|
||||
Subject: [PATCH] Allows linker scripts to set the SEC_READONLY flag.
|
||||
|
||||
* ld.texi: Document new output section type.
|
||||
* ldgram.y: Add new token.
|
||||
* ldlang.c: Handle the new flag.
|
||||
* ldlang.h: Add readonly_section to list of section types.
|
||||
* ldlex.l: Add a new identifier.
|
||||
* testsuite/ld-scripts/output-section-types.t: New example linker script.
|
||||
* testsuite/ld-scripts/output-section-types.d: Test driver.
|
||||
* testsyute/ld-scripts/script.exp: Run the new test.
|
||||
|
||||
(cherry picked from commit 6b86da53d5ee2022b9065f445d23356190380746)
|
||||
---
|
||||
ld/ld.texi | 2 ++
|
||||
ld/ldgram.y | 2 ++
|
||||
ld/ldlang.c | 6 ++++++
|
||||
ld/ldlang.h | 3 ++-
|
||||
ld/ldlex.l | 1 +
|
||||
ld/testsuite/ld-scripts/output-section-types.d | 13 +++++++++++++
|
||||
ld/testsuite/ld-scripts/output-section-types.t | 7 +++++++
|
||||
ld/testsuite/ld-scripts/script.exp | 1 +
|
||||
8 files changed, 34 insertions(+), 1 deletion(-)
|
||||
create mode 100644 ld/testsuite/ld-scripts/output-section-types.d
|
||||
create mode 100644 ld/testsuite/ld-scripts/output-section-types.t
|
||||
|
||||
diff --git a/ld/ld.texi b/ld/ld.texi
|
||||
index dd8f571d4e4..cf1e637adbf 100644
|
||||
--- a/ld/ld.texi
|
||||
+++ b/ld/ld.texi
|
||||
@@ -5456,6 +5456,8 @@ parentheses. The following types are defined:
|
||||
@item NOLOAD
|
||||
The section should be marked as not loadable, so that it will not be
|
||||
loaded into memory when the program is run.
|
||||
+@item READONLY
|
||||
+The section should be marked as read-only.
|
||||
@item DSECT
|
||||
@itemx COPY
|
||||
@itemx INFO
|
||||
diff --git a/ld/ldgram.y b/ld/ldgram.y
|
||||
index dd911f46169..31e0071c6fc 100644
|
||||
--- a/ld/ldgram.y
|
||||
+++ b/ld/ldgram.y
|
||||
@@ -139,6 +139,7 @@ static int error_index;
|
||||
%token REGION_ALIAS
|
||||
%token LD_FEATURE
|
||||
%token NOLOAD DSECT COPY INFO OVERLAY
|
||||
+%token READONLY
|
||||
%token DEFINED TARGET_K SEARCH_DIR MAP ENTRY
|
||||
%token <integer> NEXT
|
||||
%token SIZEOF ALIGNOF ADDR LOADADDR MAX_K MIN_K
|
||||
@@ -1123,6 +1124,7 @@ type:
|
||||
| COPY { sectype = noalloc_section; }
|
||||
| INFO { sectype = noalloc_section; }
|
||||
| OVERLAY { sectype = noalloc_section; }
|
||||
+ | READONLY { sectype = readonly_section; }
|
||||
;
|
||||
|
||||
atype:
|
||||
diff --git a/ld/ldlang.c b/ld/ldlang.c
|
||||
index 37b64c89ee1..2610be995ca 100644
|
||||
--- a/ld/ldlang.c
|
||||
+++ b/ld/ldlang.c
|
||||
@@ -2639,6 +2639,9 @@ lang_add_section (lang_statement_list_type *ptr,
|
||||
case noalloc_section:
|
||||
flags &= ~SEC_ALLOC;
|
||||
break;
|
||||
+ case readonly_section:
|
||||
+ flags |= SEC_READONLY;
|
||||
+ break;
|
||||
case noload_section:
|
||||
flags &= ~SEC_LOAD;
|
||||
flags |= SEC_NEVER_LOAD;
|
||||
@@ -4232,6 +4235,9 @@ map_input_to_output_sections
|
||||
case noalloc_section:
|
||||
flags = SEC_HAS_CONTENTS;
|
||||
break;
|
||||
+ case readonly_section:
|
||||
+ flags |= SEC_READONLY;
|
||||
+ break;
|
||||
case noload_section:
|
||||
if (bfd_get_flavour (link_info.output_bfd)
|
||||
== bfd_target_elf_flavour)
|
||||
diff --git a/ld/ldlang.h b/ld/ldlang.h
|
||||
index 6fbe16d97d9..f68ae27b409 100644
|
||||
--- a/ld/ldlang.h
|
||||
+++ b/ld/ldlang.h
|
||||
@@ -121,7 +121,8 @@ enum section_type
|
||||
first_overlay_section,
|
||||
overlay_section,
|
||||
noload_section,
|
||||
- noalloc_section
|
||||
+ noalloc_section,
|
||||
+ readonly_section
|
||||
};
|
||||
|
||||
/* This structure holds a list of program headers describing
|
||||
diff --git a/ld/ldlex.l b/ld/ldlex.l
|
||||
index c1b15263587..25b4bcaae01 100644
|
||||
--- a/ld/ldlex.l
|
||||
+++ b/ld/ldlex.l
|
||||
@@ -294,6 +294,7 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
|
||||
<BOTH,SCRIPT>"SORT_BY_INIT_PRIORITY" { RTOKEN(SORT_BY_INIT_PRIORITY); }
|
||||
<BOTH,SCRIPT>"SORT_NONE" { RTOKEN(SORT_NONE); }
|
||||
<EXPRESSION,BOTH,SCRIPT>"NOLOAD" { RTOKEN(NOLOAD);}
|
||||
+<EXPRESSION,BOTH,SCRIPT>"READONLY" { RTOKEN(READONLY);}
|
||||
<EXPRESSION,BOTH,SCRIPT>"DSECT" { RTOKEN(DSECT);}
|
||||
<EXPRESSION,BOTH,SCRIPT>"COPY" { RTOKEN(COPY);}
|
||||
<EXPRESSION,BOTH,SCRIPT>"INFO" { RTOKEN(INFO);}
|
||||
diff --git a/ld/testsuite/ld-scripts/output-section-types.d b/ld/testsuite/ld-scripts/output-section-types.d
|
||||
new file mode 100644
|
||||
index 00000000000..ab124fa4dd7
|
||||
--- /dev/null
|
||||
+++ b/ld/testsuite/ld-scripts/output-section-types.d
|
||||
@@ -0,0 +1,13 @@
|
||||
+#ld: -Toutput-section-types.t
|
||||
+#source: align2a.s
|
||||
+#objdump: -h
|
||||
+#target: [is_elf_format]
|
||||
+
|
||||
+#...
|
||||
+ . \.rom.*
|
||||
+[ ]+ALLOC, READONLY
|
||||
+ . \.ro.*
|
||||
+[ ]+CONTENTS, ALLOC, LOAD, READONLY, DATA
|
||||
+ . \.over.*
|
||||
+[ ]+CONTENTS, READONLY
|
||||
+#pass
|
||||
diff --git a/ld/testsuite/ld-scripts/output-section-types.t b/ld/testsuite/ld-scripts/output-section-types.t
|
||||
new file mode 100644
|
||||
index 00000000000..d8fdfda1a03
|
||||
--- /dev/null
|
||||
+++ b/ld/testsuite/ld-scripts/output-section-types.t
|
||||
@@ -0,0 +1,7 @@
|
||||
+SECTIONS {
|
||||
+ .rom (NOLOAD) : { LONG(1234); }
|
||||
+ .ro (READONLY) : { LONG(5678); }
|
||||
+ .over (OVERLAY) : { LONG(0123); }
|
||||
+ /DISCARD/ : { *(*) }
|
||||
+
|
||||
+}
|
||||
diff --git a/ld/testsuite/ld-scripts/script.exp b/ld/testsuite/ld-scripts/script.exp
|
||||
index 961cd08c4b1..ff50199b3ae 100644
|
||||
--- a/ld/testsuite/ld-scripts/script.exp
|
||||
+++ b/ld/testsuite/ld-scripts/script.exp
|
||||
@@ -229,6 +229,7 @@ foreach test_script $test_script_list {
|
||||
|
||||
run_dump_test "align-with-input"
|
||||
run_dump_test "pr20302"
|
||||
+run_dump_test "output-section-types"
|
||||
|
||||
run_dump_test "segment-start" {{name (default)}}
|
||||
run_dump_test "segment-start" {{name (overridden)} \
|
||||
--
|
||||
2.30.2
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
--- binutils.orig/binutils/objcopy.c 2023-01-16 12:15:46.405649346 +0000
|
||||
+++ binutils-2.39/binutils/objcopy.c 2023-01-16 12:16:48.892667868 +0000
|
||||
@@ -2383,6 +2383,8 @@ merge_gnu_build_notes (bfd * ab
|
||||
other note then if they are both of the same type (open
|
||||
or func) then they can be merged and one deleted. If
|
||||
they are of different types then they cannot be merged. */
|
||||
+ objcopy_internal_note * prev_note = NULL;
|
||||
+
|
||||
for (pnote = pnotes; pnote < pnotes_end; pnote ++)
|
||||
{
|
||||
/* Skip already deleted notes.
|
||||
@@ -2404,7 +2406,9 @@ merge_gnu_build_notes (bfd * ab
|
||||
objcopy_internal_note * back;
|
||||
|
||||
/* Rule 2: Check to see if there is an identical previous note. */
|
||||
- for (iter = 0, back = pnote - 1; back >= pnotes; back --)
|
||||
+ for (iter = 0, back = prev_note ? prev_note : pnote - 1;
|
||||
+ back >= pnotes;
|
||||
+ back --)
|
||||
{
|
||||
if (is_deleted_note (back))
|
||||
continue;
|
||||
@@ -2466,11 +2470,18 @@ merge_gnu_build_notes (bfd * ab
|
||||
break;
|
||||
}
|
||||
}
|
||||
-#if DEBUG_MERGE
|
||||
+
|
||||
+
|
||||
if (! is_deleted_note (pnote))
|
||||
- merge_debug ("Unable to do anything with note at %#08lx\n",
|
||||
- (pnote->note.namedata - (char *) contents) - 12);
|
||||
+ {
|
||||
+ /* Keep a pointer to this note, so that we can
|
||||
+ start the next search for rule 2 matches here. */
|
||||
+ prev_note = pnote;
|
||||
+#if DEBUG_MERGE
|
||||
+ merge_debug ("Unable to do anything with note at %#08lx\n",
|
||||
+ (pnote->note.namedata - (char *) contents) - 12);
|
||||
#endif
|
||||
+ }
|
||||
}
|
||||
|
||||
/* Resort the notes. */
|
|
@ -0,0 +1,83 @@
|
|||
diff -rup binutils,orig/binutils/doc/binutils.texi binutils-2.41/binutils/doc/binutils.texi
|
||||
--- binutils,orig/binutils/doc/binutils.texi 2024-02-12 10:03:46.609677213 +0000
|
||||
+++ binutils-2.41/binutils/doc/binutils.texi 2024-02-12 10:03:55.976681219 +0000
|
||||
@@ -2651,11 +2651,12 @@ rather than @code{li}. All of the @opti
|
||||
@option{e300}, @option{e500}, @option{e500mc}, @option{e500mc64},
|
||||
@option{e500x2}, @option{e5500}, @option{e6500}, @option{efs},
|
||||
@option{power4}, @option{power5}, @option{power6}, @option{power7},
|
||||
-@option{power8}, @option{power9}, @option{power10}, @option{ppc},
|
||||
-@option{ppc32}, @option{ppc64}, @option{ppc64bridge}, @option{ppcps},
|
||||
-@option{pwr}, @option{pwr2}, @option{pwr4}, @option{pwr5}, @option{pwr5x},
|
||||
-@option{pwr6}, @option{pwr7}, @option{pwr8}, @option{pwr9}, @option{pwr10},
|
||||
-@option{pwrx}, @option{titan}, @option{vle}, and @option{future}.
|
||||
+@option{power8}, @option{power9}, @option{power10}, @option{power11},
|
||||
+@option{ppc}, @option{ppc32}, @option{ppc64}, @option{ppc64bridge},
|
||||
+@option{ppcps}, @option{pwr}, @option{pwr2}, @option{pwr4}, @option{pwr5},
|
||||
+@option{pwr5x}, @option{pwr6}, @option{pwr7}, @option{pwr8}, @option{pwr9},
|
||||
+@option{pwr10}, @option{pwr11}, @option{pwrx}, @option{titan}, @option{vle},
|
||||
+and @option{future}.
|
||||
@option{32} and @option{64} modify the default or a prior CPU
|
||||
selection, disabling and enabling 64-bit insns respectively. In
|
||||
addition, @option{altivec}, @option{any}, @option{lsp}, @option{htm},
|
||||
Only in binutils-2.41/binutils/doc: binutils.texi.orig
|
||||
diff -rup binutils,orig/gas/config/tc-ppc.c binutils-2.41/gas/config/tc-ppc.c
|
||||
--- binutils,orig/gas/config/tc-ppc.c 2024-02-12 10:03:46.742677270 +0000
|
||||
+++ binutils-2.41/gas/config/tc-ppc.c 2024-02-12 10:03:55.977681219 +0000
|
||||
@@ -1392,6 +1392,8 @@ PowerPC options:\n"));
|
||||
fprintf (stream, _("\
|
||||
-mpower10, -mpwr10 generate code for Power10 architecture\n"));
|
||||
fprintf (stream, _("\
|
||||
+-mpower11, -mpwr11 generate code for Power11 architecture\n"));
|
||||
+ fprintf (stream, _("\
|
||||
-mlibresoc generate code for Libre-SOC architecture\n"));
|
||||
fprintf (stream, _("\
|
||||
-mfuture generate code for 'future' architecture\n"));
|
||||
diff -rup binutils,orig/gas/doc/c-ppc.texi binutils-2.41/gas/doc/c-ppc.texi
|
||||
--- binutils,orig/gas/doc/c-ppc.texi 2024-02-12 10:03:46.783677288 +0000
|
||||
+++ binutils-2.41/gas/doc/c-ppc.texi 2024-02-12 10:03:55.977681219 +0000
|
||||
@@ -156,6 +156,9 @@ Generate code for Power9 architecture.
|
||||
@item -mpower10, -mpwr10
|
||||
Generate code for Power10 architecture.
|
||||
|
||||
+@item -mpower11, -mpwr11
|
||||
+Generate code for Power11 architecture.
|
||||
+
|
||||
@item -mfuture
|
||||
Generate code for 'future' architecture.
|
||||
|
||||
diff -rup binutils,orig/opcodes/ppc-dis.c binutils-2.41/opcodes/ppc-dis.c
|
||||
--- binutils,orig/opcodes/ppc-dis.c 2024-02-12 10:03:47.836677739 +0000
|
||||
+++ binutils-2.41/opcodes/ppc-dis.c 2024-02-12 10:03:55.977681219 +0000
|
||||
@@ -208,6 +208,11 @@ struct ppc_mopt ppc_opts[] = {
|
||||
| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
|
||||
| PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
|
||||
0 },
|
||||
+ { "power11", (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
|
||||
+ | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
|
||||
+ | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
|
||||
+ | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
|
||||
+ 0 },
|
||||
{ "libresoc",(PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
|
||||
| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
|
||||
| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
|
||||
@@ -267,6 +272,11 @@ struct ppc_mopt ppc_opts[] = {
|
||||
| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
|
||||
| PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
|
||||
0 },
|
||||
+ { "pwr11", (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
|
||||
+ | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
|
||||
+ | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
|
||||
+ | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
|
||||
+ 0 },
|
||||
{ "pwrx", PPC_OPCODE_POWER | PPC_OPCODE_POWER2,
|
||||
0 },
|
||||
{ "raw", PPC_OPCODE_PPC,
|
||||
@@ -396,7 +406,7 @@ powerpc_init_dialect (struct disassemble
|
||||
break;
|
||||
default:
|
||||
if (info->arch == bfd_arch_powerpc)
|
||||
- dialect = ppc_parse_cpu (dialect, &sticky, "power10") | PPC_OPCODE_ANY;
|
||||
+ dialect = ppc_parse_cpu (dialect, &sticky, "power11") | PPC_OPCODE_ANY;
|
||||
else
|
||||
dialect = ppc_parse_cpu (dialect, &sticky, "pwr");
|
||||
break;
|
|
@ -1,35 +0,0 @@
|
|||
--- binutils.orig/binutils/readelf.c 2020-07-24 15:08:30.317597020 +0100
|
||||
+++ binutils-2.35/binutils/readelf.c 2020-07-24 15:09:39.029155552 +0100
|
||||
@@ -12069,11 +12069,13 @@ print_dynamic_symbol (Filedata *filedata
|
||||
unsigned int vis = ELF_ST_VISIBILITY (psym->st_other);
|
||||
|
||||
printf (" %-7s", get_symbol_visibility (vis));
|
||||
+#if 0
|
||||
/* Check to see if any other bits in the st_other field are set.
|
||||
Note - displaying this information disrupts the layout of the
|
||||
table being generated, but for the moment this case is very rare. */
|
||||
if (psym->st_other ^ vis)
|
||||
printf (" [%s] ", get_symbol_other (filedata, psym->st_other ^ vis));
|
||||
+#endif
|
||||
}
|
||||
printf (" %4s ", get_symbol_index_type (filedata, psym->st_shndx));
|
||||
|
||||
@@ -12112,7 +12114,17 @@ print_dynamic_symbol (Filedata *filedata
|
||||
version_string);
|
||||
}
|
||||
|
||||
- putchar ('\n');
|
||||
+#if 1
|
||||
+ {
|
||||
+ unsigned int vis = ELF_ST_VISIBILITY (psym->st_other);
|
||||
+
|
||||
+ /* Check to see if any other bits in the st_other field are set. */
|
||||
+ if (psym->st_other ^ vis)
|
||||
+ printf (" \t[%s]", get_symbol_other (filedata, psym->st_other ^ vis));
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+ putchar ('\n');
|
||||
|
||||
if (ELF_ST_BIND (psym->st_info) == STB_LOCAL
|
||||
&& section != NULL
|
|
@ -1,50 +0,0 @@
|
|||
--- binutils.orig/bfd/elf.c 2023-03-30 10:01:40.824181703 +0100
|
||||
+++ binutils-2.40/bfd/elf.c 2023-03-30 10:02:23.103135337 +0100
|
||||
@@ -3877,21 +3877,23 @@ assign_section_numbers (bfd *abfd, struc
|
||||
{
|
||||
case SHT_REL:
|
||||
case SHT_RELA:
|
||||
- /* A reloc section which we are treating as a normal BFD
|
||||
- section. sh_link is the section index of the symbol
|
||||
- table. sh_info is the section index of the section to
|
||||
- which the relocation entries apply. We assume that an
|
||||
- allocated reloc section uses the dynamic symbol table
|
||||
- if there is one. Otherwise we guess the normal symbol
|
||||
- table. FIXME: How can we be sure? */
|
||||
- if (d->this_hdr.sh_link == 0 && (sec->flags & SEC_ALLOC) != 0)
|
||||
+ /* sh_link is the section index of the symbol table.
|
||||
+ sh_info is the section index of the section to which the
|
||||
+ relocation entries apply. */
|
||||
+ if (d->this_hdr.sh_link == 0)
|
||||
{
|
||||
- s = bfd_get_section_by_name (abfd, ".dynsym");
|
||||
- if (s != NULL)
|
||||
- d->this_hdr.sh_link = elf_section_data (s)->this_idx;
|
||||
+ /* FIXME maybe: If this is a reloc section which we are
|
||||
+ treating as a normal section then we likely should
|
||||
+ not be assuming its sh_link is .dynsym or .symtab. */
|
||||
+ if ((sec->flags & SEC_ALLOC) != 0)
|
||||
+ {
|
||||
+ s = bfd_get_section_by_name (abfd, ".dynsym");
|
||||
+ if (s != NULL)
|
||||
+ d->this_hdr.sh_link = elf_section_data (s)->this_idx;
|
||||
+ }
|
||||
+ else
|
||||
+ d->this_hdr.sh_link = elf_onesymtab (abfd);
|
||||
}
|
||||
- if (d->this_hdr.sh_link == 0)
|
||||
- d->this_hdr.sh_link = elf_onesymtab (abfd);
|
||||
|
||||
s = elf_get_reloc_section (sec);
|
||||
if (s != NULL)
|
||||
--- binutils.orig/binutils/objcopy.c 2023-03-30 10:01:41.063181441 +0100
|
||||
+++ binutils-2.40/binutils/objcopy.c 2023-03-30 12:25:41.439108276 +0100
|
||||
@@ -2256,7 +2256,7 @@ merge_gnu_build_notes (bfd * ab
|
||||
{
|
||||
if (pnote->note.namedata[4] == '2')
|
||||
++ version_2_seen;
|
||||
- else if (pnote->note.namedata[4] == '3')
|
||||
+ else if (pnote->note.namedata[4] == '3' || pnote->note.namedata[4] == '4')
|
||||
++ version_3_seen;
|
||||
else
|
||||
{
|
|
@ -0,0 +1,149 @@
|
|||
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/attr-phdr.d binutils-2.40/ld/testsuite/ld-riscv-elf/attr-phdr.d
|
||||
--- binutils.orig/ld/testsuite/ld-riscv-elf/attr-phdr.d 2023-02-16 10:11:38.656875289 +0000
|
||||
+++ binutils-2.40/ld/testsuite/ld-riscv-elf/attr-phdr.d 2023-02-16 10:49:26.786573665 +0000
|
||||
@@ -12,8 +12,8 @@ Program Headers:
|
||||
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
|
||||
RISCV_ATTRIBUT .*
|
||||
LOAD .*
|
||||
-
|
||||
+#...
|
||||
Section to Segment mapping:
|
||||
Segment Sections...
|
||||
00 .riscv.attributes
|
||||
- 01 .text
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d binutils-2.40/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d
|
||||
--- binutils.orig/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d 2023-02-16 10:11:38.659875285 +0000
|
||||
+++ binutils-2.40/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d 2023-02-16 10:42:54.803431287 +0000
|
||||
@@ -8,7 +8,7 @@
|
||||
Disassembly of section \.text:
|
||||
|
||||
0+[0-9a-f]+ <_start>:
|
||||
-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,a0,[0-9]+
|
||||
+.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,a0,\-[0-9]+
|
||||
.*:[ ]+[0-9a-f]+[ ]+jal[ ]+ra,[0-9a-f]+ <_start>
|
||||
.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,gp,\-[0-9]+ # [0-9a-f]+ <data_g>
|
||||
.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a2,gp,\-[0-9]+ # [0-9a-f]+ <data_g>
|
||||
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d binutils-2.40/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d
|
||||
--- binutils.orig/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d 2023-02-16 10:11:38.659875285 +0000
|
||||
+++ binutils-2.40/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d 2023-02-16 10:43:49.540306593 +0000
|
||||
@@ -11,5 +11,5 @@ Disassembly of section .text:
|
||||
[0-9a-f]+ <_start>:
|
||||
.*:[ ]+[0-9a-f]+[ ]+auipc[ ]+a1.*
|
||||
.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,gp.*<data_a>
|
||||
-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,a1.*<data_b>
|
||||
+.*:[ ]+[0-9a-f]+[ ]+mv[ ]+a1,a1
|
||||
#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d binutils-2.40/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d
|
||||
--- binutils.orig/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d 2023-02-16 10:11:38.659875285 +0000
|
||||
+++ binutils-2.40/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d 2023-02-16 10:46:55.570899994 +0000
|
||||
@@ -2,4 +2,5 @@
|
||||
#source: pcrel-lo-addend-2a.s
|
||||
#as: -march=rv32ic
|
||||
#ld: -m[riscv_choose_ilp32_emul] --no-relax
|
||||
+#skip: *-*-*
|
||||
#error: .*dangerous relocation: %pcrel_lo overflow with an addend, the value of %pcrel_hi is 0x1000 without any addend, but may be 0x2000 after adding the %pcrel_lo addend
|
||||
diff -rup binutils.orig/ld/testsuite/ld-elf/dwarf.exp binutils-2.40/ld/testsuite/ld-elf/dwarf.exp
|
||||
--- binutils.orig/ld/testsuite/ld-elf/dwarf.exp 2023-02-16 10:11:38.515875516 +0000
|
||||
+++ binutils-2.40/ld/testsuite/ld-elf/dwarf.exp 2023-02-16 11:08:52.209377332 +0000
|
||||
@@ -29,6 +29,10 @@ if ![is_elf_format] {
|
||||
return
|
||||
}
|
||||
|
||||
+if { [istarget riscv*-*-*] } then {
|
||||
+ return
|
||||
+}
|
||||
+
|
||||
# Skip targets where -shared is not supported
|
||||
|
||||
if ![check_shared_lib_support] {
|
||||
diff -rup binutils.orig/ld/testsuite/ld-elf/tls.exp binutils-2.40/ld/testsuite/ld-elf/tls.exp
|
||||
--- binutils.orig/ld/testsuite/ld-elf/tls.exp 2023-02-16 10:11:38.540875476 +0000
|
||||
+++ binutils-2.40/ld/testsuite/ld-elf/tls.exp 2023-02-16 11:08:56.944369374 +0000
|
||||
@@ -28,6 +28,10 @@ if { !([istarget *-*-linux*]
|
||||
return
|
||||
}
|
||||
|
||||
+if { [istarget riscv*-*-*] } then {
|
||||
+ return
|
||||
+}
|
||||
+
|
||||
# Check to see if the C compiler works.
|
||||
if { ![check_compiler_available] } {
|
||||
return
|
||||
--- binutils.orig/binutils/testsuite/binutils-all/objcopy.exp 2023-08-24 07:48:30.429195480 +0100
|
||||
+++ binutils-2.41/binutils/testsuite/binutils-all/objcopy.exp 2023-08-24 07:57:05.535302711 +0100
|
||||
@@ -1409,6 +1409,8 @@ proc objcopy_test_without_global_symbol
|
||||
# The AArch64 and ARM targets preserve mapping symbols
|
||||
# in object files, so they will fail this test.
|
||||
setup_xfail aarch64*-*-* arm*-*-*
|
||||
+# The RISC-V target compiles with annotation enabled and these symbols remain after stripping.
|
||||
+setup_xfail riscv*-*-*
|
||||
|
||||
objcopy_test_without_global_symbol
|
||||
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin.exp 2023-08-24 07:48:31.808196076 +0100
|
||||
+++ binutils-2.41/ld/testsuite/ld-plugin/plugin.exp 2023-08-24 07:59:30.285716568 +0100
|
||||
@@ -132,6 +132,10 @@ if [is_pecoff_format] {
|
||||
append libs " --image-base=0x10000000"
|
||||
}
|
||||
|
||||
+if { [istarget riscv*-*-*] } then {
|
||||
+ return
|
||||
+}
|
||||
+
|
||||
set plugin_tests [list \
|
||||
[list "load plugin" "-plugin $plugin_path \
|
||||
$testobjfiles $libs" "" "" "" {{ld plugin-1.d}} "main.x" ] \
|
||||
--- binutils.orig/binutils/testsuite/binutils-all/compress.exp 2023-12-11 10:09:16.923374463 +0000
|
||||
+++ binutils-2.41/binutils/testsuite/binutils-all/compress.exp 2023-12-12 09:00:15.150036675 +0000
|
||||
@@ -818,6 +818,10 @@ proc test_gnu_debuglink {} {
|
||||
}
|
||||
}
|
||||
|
||||
+if { [istarget riscv*-*-*] } then {
|
||||
+ return
|
||||
+}
|
||||
+
|
||||
if {[is_elf_format]} then {
|
||||
test_gnu_debuglink
|
||||
}
|
||||
--- binutils-2.41/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d 2023-07-03 00:00:00.000000000 +0100
|
||||
+++ binutils.new/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d 2023-12-12 11:52:54.564057931 +0000
|
||||
@@ -8,10 +8,10 @@
|
||||
Disassembly of section \.text:
|
||||
|
||||
0+[0-9a-f]+ <_start>:
|
||||
-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,a0,[0-9]+
|
||||
+.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,a0,\-[0-9]+
|
||||
.*:[ ]+[0-9a-f]+[ ]+jal[ ]+ra,[0-9a-f]+ <_start>
|
||||
.*:[ ]+[0-9a-f]+[ ]+auipc[ ]+a1,0x[0-9a-f]+
|
||||
-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,a1,[0-9]+ # [0-9a-f]+ <data_g>
|
||||
+.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,a1,\-[0-9]+ # [0-9a-f]+ <data_g>
|
||||
.*:[ ]+[0-9a-f]+[ ]+lui[ ]+a2,0x[0-9a-f]+
|
||||
.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a2,a2,[0-9]+ # [0-9a-f]+ <data_g>
|
||||
.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a3,tp,0 # 0 <data_t>
|
||||
--- binutils.orig/binutils/testsuite/binutils-all/objcopy.exp 2023-12-12 14:21:10.225342926 +0000
|
||||
+++ binutils-2.41/binutils/testsuite/binutils-all/objcopy.exp 2023-12-12 14:22:12.453421499 +0000
|
||||
@@ -1410,7 +1410,7 @@ proc objcopy_test_without_global_symbol
|
||||
# in object files, so they will fail this test.
|
||||
setup_xfail aarch64*-*-* arm*-*-*
|
||||
# The RISC-V target compiles with annotation enabled and these symbols remain after stripping.
|
||||
-setup_xfail riscv*-*-*
|
||||
+# setup_xfail riscv*-*-*
|
||||
|
||||
objcopy_test_without_global_symbol
|
||||
|
||||
--- binutils.orig/ld/testsuite/ld-ifunc/ifunc.exp 2024-02-08 10:12:23.739591113 +0000
|
||||
+++ binutils-2.42/ld/testsuite/ld-ifunc/ifunc.exp 2024-02-08 10:14:58.243670115 +0000
|
||||
@@ -666,6 +666,10 @@ run_cc_link_tests [list \
|
||||
] \
|
||||
]
|
||||
|
||||
+if {[istarget "riscv*-*-*"]} {
|
||||
+ return
|
||||
+}
|
||||
+
|
||||
run_ld_link_exec_tests [list \
|
||||
[list \
|
||||
"Run pr18808" \
|
|
@ -0,0 +1,66 @@
|
|||
diff -rupN binutils.orig/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.l binutils-2.42/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.l
|
||||
--- binutils.orig/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.l 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ binutils-2.42/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.l 2024-02-07 11:08:34.164238910 +0000
|
||||
@@ -0,0 +1,38 @@
|
||||
+.*: Assembler messages:
|
||||
+.*:20: Error: untraceable control flow for func 'foo'
|
||||
+GAS LISTING .*
|
||||
+
|
||||
+
|
||||
+ 1 # Testcase with a variety of "change of flow instructions"
|
||||
+ 2 #
|
||||
+ 3 # This test does not have much going on wrt synthesis of CFI;
|
||||
+ 4 # it just aims to ensure x8_64 -> ginsn decoding behaves
|
||||
+ 5 # gracefully for these "change of flow instructions"
|
||||
+ 6 .text
|
||||
+ 7 .globl foo
|
||||
+ 8 .type foo, @function
|
||||
+ 8 ginsn: SYM FUNC_BEGIN
|
||||
+ 9 foo:
|
||||
+ 9 ginsn: SYM foo
|
||||
+ 10 \?\?\?\? 4801D0 addq %rdx, %rax
|
||||
+ 10 ginsn: ADD %r1, %r0, %r0
|
||||
+ 11 \?\?\?\? E200 loop foo
|
||||
+ 11 ginsn: JCC
|
||||
+ 12 \?\?\?\? 3EFFE0 notrack jmp \*%rax
|
||||
+ 12 ginsn: JMP %r0,
|
||||
+ 13 \?\?\?\? 41FFD0 call \*%r8
|
||||
+ 13 ginsn: CALL
|
||||
+ 14 \?\?\?\? 67E305 jecxz .L179
|
||||
+ 14 ginsn: JCC
|
||||
+ 15 \?\?\?\? FF6730 jmp \*48\(%rdi\)
|
||||
+ 15 ginsn: JMP %r5,
|
||||
+ 16 \?\?\?\? 7000 jo .L179
|
||||
+ 16 ginsn: JCC
|
||||
+ 17 .L179:
|
||||
+ 17 ginsn: SYM .L179
|
||||
+ 18 \?\?\?\? C3 ret
|
||||
+ 18 ginsn: RET
|
||||
+ 19 .LFE0:
|
||||
+ 19 ginsn: SYM .LFE0
|
||||
+ 20 .size foo, .-foo
|
||||
+ 20 ginsn: SYM FUNC_END
|
||||
diff -rupN binutils.orig/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.s binutils-2.42/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.s
|
||||
--- binutils.orig/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.s 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ binutils-2.42/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.s 2024-02-07 11:08:34.164238910 +0000
|
||||
@@ -0,0 +1,20 @@
|
||||
+# Testcase with a variety of "change of flow instructions"
|
||||
+#
|
||||
+# This test does not have much going on wrt synthesis of CFI;
|
||||
+# it just aims to ensure x8_64 -> ginsn decoding behaves
|
||||
+# gracefully for these "change of flow instructions"
|
||||
+ .text
|
||||
+ .globl foo
|
||||
+ .type foo, @function
|
||||
+foo:
|
||||
+ addq %rdx, %rax
|
||||
+ loop foo
|
||||
+ notrack jmp *%rax
|
||||
+ call *%r8
|
||||
+ jecxz .L179
|
||||
+ jmp *48(%rdi)
|
||||
+ jo .L179
|
||||
+.L179:
|
||||
+ ret
|
||||
+.LFE0:
|
||||
+ .size foo, .-foo
|
|
@ -0,0 +1,13 @@
|
|||
--- binutils.orig/ld/testsuite/ld-elf/linux-x86.exp 2024-01-24 11:52:35.288014542 +0000
|
||||
+++ binutils-2.41/ld/testsuite/ld-elf/linux-x86.exp 2024-01-24 17:31:39.356167357 +0000
|
||||
@@ -225,6 +225,10 @@ if { [check_ifunc_attribute_available] }
|
||||
# Old gcc silently ignores __attribute__ ((aligned())) with too big alignment.
|
||||
proc compiler_honours_aligned { } {
|
||||
global CC_FOR_TARGET READELF srcdir subdir
|
||||
+
|
||||
+ # Temporary fix for CentOS-10 kernel issue. (RHEL-22466)
|
||||
+ return 0
|
||||
+
|
||||
ld_compile $CC_FOR_TARGET $srcdir/$subdir/p_align-1.c tmpdir/p_align-1.o
|
||||
set output [run_host_cmd "$READELF" "-SW tmpdir/p_align-1.o"]
|
||||
if { [regexp { [.]data *PROGBITS .* 8388608[\n]} $output] } {
|
File diff suppressed because it is too large
Load Diff
|
@ -1,31 +1,31 @@
|
|||
diff -rup binutils.orig/ld/ld.1 binutils-2.38/ld/ld.1
|
||||
--- binutils.orig/ld/ld.1 2022-05-27 10:56:44.937044892 +0100
|
||||
+++ binutils-2.38/ld/ld.1 2022-05-27 11:10:50.311802310 +0100
|
||||
@@ -2595,7 +2595,7 @@ systems may not understand them. If you
|
||||
diff -rup binutils.orig/ld/ld.1 binutils-2.41/ld/ld.1
|
||||
--- binutils.orig/ld/ld.1 2023-08-03 12:47:14.427004953 +0100
|
||||
+++ binutils-2.41/ld/ld.1 2023-08-03 12:49:10.672145873 +0100
|
||||
@@ -2669,7 +2669,7 @@ systems may not understand them. If you
|
||||
\&\fB\-\-enable\-new\-dtags\fR, the new dynamic tags will be created as needed
|
||||
and older dynamic tags will be omitted.
|
||||
If you specify \fB\-\-disable\-new\-dtags\fR, no new dynamic tags will be
|
||||
-created. By default, the new dynamic tags are not created. Note that
|
||||
+created. By default, the new dynamic tags are created. Note that
|
||||
those options are only available for \s-1ELF\s0 systems.
|
||||
.IP "\fB\-\-hash\-size=\fR\fInumber\fR" 4
|
||||
those options are only available for ELF systems.
|
||||
.IP \fB\-\-hash\-size=\fR\fInumber\fR 4
|
||||
.IX Item "--hash-size=number"
|
||||
diff -rup binutils.orig/ld/ld.info binutils-2.38/ld/ld.info
|
||||
--- binutils.orig/ld/ld.info 2022-05-27 11:01:12.286346357 +0100
|
||||
+++ binutils-2.38/ld/ld.info 2022-05-27 11:11:24.585709176 +0100
|
||||
@@ -2236,7 +2236,7 @@ GNU linker:
|
||||
'--enable-new-dtags', the new dynamic tags will be created as
|
||||
diff -rup binutils.orig/ld/ld.info binutils-2.41/ld/ld.info
|
||||
--- binutils.orig/ld/ld.info 2023-08-03 12:47:14.427004953 +0100
|
||||
+++ binutils-2.41/ld/ld.info 2023-08-03 12:49:58.829204257 +0100
|
||||
@@ -2366,7 +2366,7 @@ GNU linker:
|
||||
‘--enable-new-dtags’, the new dynamic tags will be created as
|
||||
needed and older dynamic tags will be omitted. If you specify
|
||||
'--disable-new-dtags', no new dynamic tags will be created. By
|
||||
‘--disable-new-dtags’, no new dynamic tags will be created. By
|
||||
- default, the new dynamic tags are not created. Note that those
|
||||
+ default, the new dynamic tags are created. Note that those
|
||||
options are only available for ELF systems.
|
||||
|
||||
'--hash-size=NUMBER'
|
||||
diff -rup binutils.orig/ld/ld.texi binutils-2.38/ld/ld.texi
|
||||
--- binutils.orig/ld/ld.texi 2022-05-27 11:01:24.081314960 +0100
|
||||
+++ binutils-2.38/ld/ld.texi 2022-05-27 11:10:05.608923798 +0100
|
||||
@@ -2796,7 +2796,7 @@ systems may not understand them. If you
|
||||
‘--hash-size=NUMBER’
|
||||
diff -rup binutils.orig/ld/ld.texi binutils-2.41/ld/ld.texi
|
||||
--- binutils.orig/ld/ld.texi 2023-08-03 12:50:58.176276215 +0100
|
||||
+++ binutils-2.41/ld/ld.texi 2023-08-03 12:41:11.902610960 +0100
|
||||
@@ -2946,7 +2946,7 @@ systems may not understand them. If you
|
||||
@option{--enable-new-dtags}, the new dynamic tags will be created as needed
|
||||
and older dynamic tags will be omitted.
|
||||
If you specify @option{--disable-new-dtags}, no new dynamic tags will be
|
||||
|
|
360
binutils.spec
360
binutils.spec
|
@ -1,9 +1,9 @@
|
|||
|
||||
Summary: A GNU collection of binary utilities
|
||||
Name: binutils%{?_with_debug:-debug}
|
||||
Version: 2.40
|
||||
Release: 10%{?dist}
|
||||
License: GPLv3+
|
||||
Version: 2.42
|
||||
Release: 2%{?dist}
|
||||
License: GPL-3.0-or-later AND (GPL-3.0-or-later WITH Bison-exception-2.2) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND BSD-3-Clause AND GFDL-1.3-or-later AND GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-2.0-or-later
|
||||
URL: https://sourceware.org/binutils
|
||||
|
||||
#---Start of Configure Options-----------------------------------------------
|
||||
|
@ -32,10 +32,14 @@ URL: https://sourceware.org/binutils
|
|||
%define enable_deterministic_archives 0
|
||||
|
||||
# Generate a warning when linking creates an executable stack
|
||||
%define warn_for_executable_stacks 0
|
||||
%define warn_for_executable_stacks 1
|
||||
|
||||
# Generate a warning when linking creates a segment with read, write and execute permissions
|
||||
%define warn_for_rwx_segments 0
|
||||
%define warn_for_rwx_segments 1
|
||||
|
||||
# Turn the above warnings into errors. Only effective if the warnings are enabled.
|
||||
%define error_for_executable_stacks 0
|
||||
%define error_for_rwx_segments 0
|
||||
|
||||
# Enable support for GCC LTO compilation.
|
||||
# Disable if it is necessary to work around bugs in LTO.
|
||||
|
@ -98,8 +102,7 @@ URL: https://sourceware.org/binutils
|
|||
%bcond_without debuginfod
|
||||
# Default: build binutils-gprofng package.
|
||||
%bcond_without gprofng
|
||||
# Use the system supplied version of the zlib compress library.
|
||||
# Change this to use the binutils builtin version instead.
|
||||
# Default: Use the system supplied version of the zlib compression library.
|
||||
%bcond_without systemzlib
|
||||
|
||||
# Allow the user to override the compiler used to build the binutils.
|
||||
|
@ -128,6 +131,7 @@ URL: https://sourceware.org/binutils
|
|||
|
||||
%if %{with debug}
|
||||
%undefine with_testsuite
|
||||
%define enable_shared 0
|
||||
%endif
|
||||
|
||||
# GprofNG currenly onlly supports the x86 and AArch64 architectures.
|
||||
|
@ -187,103 +191,102 @@ Patch03: binutils-export-demangle.h.patch
|
|||
# order.
|
||||
Patch04: binutils-no-config-h-check.patch
|
||||
|
||||
# Purpose: Include the filename concerned in readelf error and warning
|
||||
# messages. This helps when readelf is run with multiple
|
||||
# input files or when multiple instances of readelf are
|
||||
# running at the same time.
|
||||
# Lifetime: Permanent. This patch changes the format of readelf's output,
|
||||
# making it better (IMHO) but also potentially breaking tools that
|
||||
# depend upon readelf's current output format. cf/ Patch07.
|
||||
# It also tends to break parts of the binutils own
|
||||
# testsuite. Hence the patch remains local for now.
|
||||
Patch05: binutils-filename-in-readelf-messages.patch
|
||||
|
||||
# Purpose: Disable an x86/x86_64 optimization that moves functions from the
|
||||
# PLT into the GOTPLT for faster access. This optimization is
|
||||
# problematic for tools that want to intercept PLT entries, such
|
||||
# as ltrace and LD_AUDIT. See BZs 1452111 and 1333481.
|
||||
# Lifetime: Permanent. But it should not be.
|
||||
# FIXME: Replace with a configure time option.
|
||||
Patch06: binutils-revert-PLT-elision.patch
|
||||
|
||||
# Purpose: Changes readelf so that when it displays extra information about
|
||||
# a symbol, this information is placed at the end of the line.
|
||||
# Lifetime: Permanent. cf/ Patch05.
|
||||
# FIXME: The proper fix would be to update the scripts that are expecting
|
||||
# a fixed output from readelf. But it seems that some of them are
|
||||
# no longer being maintained.
|
||||
Patch07: binutils-readelf-other-sym-info.patch
|
||||
Patch05: binutils-revert-PLT-elision.patch
|
||||
|
||||
# Purpose: Do not create PLT entries for AARCH64 IFUNC symbols referenced in
|
||||
# debug sections.
|
||||
# Lifetime: Permanent.
|
||||
# FIXME: Find related bug. Decide on permanency.
|
||||
Patch08: binutils-2.27-aarch64-ifunc.patch
|
||||
Patch06: binutils-2.27-aarch64-ifunc.patch
|
||||
|
||||
# Purpose: Stop the binutils from statically linking with libstdc++.
|
||||
# Lifetime: Permanent.
|
||||
Patch09: binutils-do-not-link-with-static-libstdc++.patch
|
||||
Patch07: binutils-do-not-link-with-static-libstdc++.patch
|
||||
|
||||
# Purpose: Allow OS specific sections in section groups.
|
||||
# Lifetime: Fixed in 2.39 (maybe)
|
||||
Patch10: binutils-special-sections-in-groups.patch
|
||||
|
||||
# Purpose: Fix linker testsuite failures.
|
||||
# Lifetime: Fixed in 2.39 (maybe)
|
||||
Patch11: binutils-fix-testsuite-failures.patch
|
||||
# Lifetime: Fixed in 2.43 (maybe)
|
||||
Patch08: binutils-special-sections-in-groups.patch
|
||||
|
||||
# Purpose: Stop gold from aborting when input sections with the same name
|
||||
# have different flags.
|
||||
# Lifetime: Fixed in 2.39 (maybe)
|
||||
Patch12: binutils-gold-mismatched-section-flags.patch
|
||||
# Lifetime: Fixed in 2.43 (maybe)
|
||||
Patch09: binutils-gold-mismatched-section-flags.patch
|
||||
|
||||
# Purpose: Change the gold configuration script to only warn about
|
||||
# unsupported targets. This allows the binutils to be built with
|
||||
# BPF support enabled.
|
||||
# Lifetime: Permanent.
|
||||
Patch13: binutils-gold-warn-unsupported.patch
|
||||
Patch10: binutils-gold-warn-unsupported.patch
|
||||
|
||||
# Purpose: Enable the creation of .note.gnu.property sections by the GOLD
|
||||
# linker for x86 binaries.
|
||||
# Lifetime: Permanent.
|
||||
Patch14: binutils-gold-i386-gnu-property-notes.patch
|
||||
Patch11: binutils-gold-i386-gnu-property-notes.patch
|
||||
|
||||
# Purpose: Allow the binutils to be configured with any (recent) version of
|
||||
# autoconf.
|
||||
# Lifetime: Fixed in 2.39 (maybe ?)
|
||||
Patch15: binutils-autoconf-version.patch
|
||||
# Lifetime: Fixed in 2.43 (maybe ?)
|
||||
Patch12: binutils-autoconf-version.patch
|
||||
|
||||
# Purpose: Stop libtool from inserting useless runpaths into binaries.
|
||||
# Lifetime: Who knows.
|
||||
Patch16: binutils-libtool-no-rpath.patch
|
||||
Patch13: binutils-libtool-no-rpath.patch
|
||||
|
||||
%if %{enable_new_dtags}
|
||||
# Purpose: Change ld man page so that it says that --enable-new-dtags is the default.
|
||||
# Lifetime: Permanent
|
||||
Patch17: binutils-update-linker-manual.patch
|
||||
Patch14: binutils-update-linker-manual.patch
|
||||
%endif
|
||||
|
||||
# Purpose: Speed up objcopy's note merging algorithm.
|
||||
# Lifetime: Fixed in 2.41
|
||||
Patch18: binutils-objcopy-note-merge-speedup.patch
|
||||
|
||||
# Purpose: Fix testsuite failures due to the patches applied here.
|
||||
# Lifetime: Permanent, but varying with each new rebase.
|
||||
Patch19: binutils-testsuite-fixes.patch
|
||||
|
||||
# Purpose: Stop the linker from associating allocated reloc sections with
|
||||
# the .symtab section , which prevents it from being stripped.
|
||||
# Lifetime: Fixed in 2.41
|
||||
Patch20: binutils-reloc-symtab.patch
|
||||
|
||||
# Purpose: Stop an illegal memory access in the BFD library when loading
|
||||
# a file with corrupt symbol version information.
|
||||
# Lifetime: Fixed in 2.41
|
||||
Patch21: binutils-CVE-2023-1972.patch
|
||||
|
||||
# Purpose: Stop an abort when using dwp to process a file with no dwo links.
|
||||
# Lifetime: Fixed in 2.41 (maybe)
|
||||
Patch22: binutils-gold-empty-dwp.patch
|
||||
# Lifetime: Fixed in 2.43 (maybe)
|
||||
Patch15: binutils-gold-empty-dwp.patch
|
||||
|
||||
# Purpose: Fix binutils testsuite failures.
|
||||
# Lifetime: Permanent, but varies with each rebase.
|
||||
Patch16: binutils-testsuite-fixes.patch
|
||||
|
||||
# Purpose: Fix binutils testsuite failures for the RISCV-64 target.
|
||||
# Lifetime: Permanent, but varies with each rebase.
|
||||
Patch17: binutils-riscv-testsuite-fixes.patch
|
||||
|
||||
# Purpose: Make the GOLD linker ignore the "-z pack-relative-relocs" command line option.
|
||||
# Lifetime: Fixed in 2.43 (maybe)
|
||||
Patch18: binutils-gold-pack-relative-relocs.patch
|
||||
|
||||
# Purpose: Let the gold lihnker ignore --error-execstack and --error-rwx-segments.
|
||||
# Lifetime: Fixed in 2.43 (maybe)
|
||||
Patch19: binutils-gold-ignore-execstack-error.patch
|
||||
|
||||
# Purpose: Add support for IBM's Power11 architecture extensions
|
||||
# Lifetime: Fixed in 2.43
|
||||
Patch20: binutils-power-11.patch
|
||||
|
||||
# Purpose: Have the bfd linker's --fatal-warnings option act consistently.
|
||||
# Lifetime: Fixed in 2.43
|
||||
Patch21: binutils-fatal-warnings.patch
|
||||
|
||||
# Purpose: Add missing scfi tests to the assembler.
|
||||
# Lifetime: Fixed in 2.43
|
||||
Patch22: binutils-scfi-tests-fix.patch
|
||||
|
||||
# Purpose: Fix support for Intel's APX extensions (part 1)
|
||||
# Lifetime: Fixed in 2.43
|
||||
Patch23: binutils-Intel-APX-part-1-fixes.patch
|
||||
|
||||
# Purpose: Fix the ar test of non-deterministic archives.
|
||||
# Lifetime: Fixed in 2.43
|
||||
Patch24: binutils-fix-ar-test.patch
|
||||
|
||||
# Purpose: Suppress the x86 linker's p_align-1 tests due to kernel bug on CentOS-10
|
||||
# Lifetime: TEMPORARY
|
||||
Patch99: binutils-suppress-ld-align-tests.patch
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
@ -316,7 +319,10 @@ Conflicts: gcc-c++ < 4.0.0
|
|||
%endif
|
||||
|
||||
%if %{without bootstrap}
|
||||
BuildRequires: gettext, flex, zlib-devel, jansson-devel
|
||||
BuildRequires: gettext, flex, jansson-devel
|
||||
%if %{with systemzlib}
|
||||
BuildRequires: zlib-devel
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{with docs}
|
||||
|
@ -332,7 +338,10 @@ BuildRequires: findutils
|
|||
%if %{with testsuite}
|
||||
# relro_test.sh uses dc which is part of the bc rpm, hence its inclusion here.
|
||||
# sharutils is needed so that we can uuencode the testsuite results.
|
||||
BuildRequires: dejagnu, zlib-static, glibc-static, sharutils, bc, libstdc++
|
||||
BuildRequires: dejagnu, glibc-static, sharutils, bc, libstdc++
|
||||
%if %{with systemzlib}
|
||||
BuildRequires: zlib-devel
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{with debuginfod}
|
||||
|
@ -379,7 +388,9 @@ converting addresses to file and line).
|
|||
%package devel
|
||||
Summary: BFD and opcodes static and dynamic libraries and header files
|
||||
Provides: binutils-static = %{version}-%{release}
|
||||
%if %{with systemzlib}
|
||||
Requires: zlib-devel
|
||||
%endif
|
||||
Requires: binutils = %{version}-%{release}
|
||||
# BZ 1215242: We need touch...
|
||||
Requires: coreutils
|
||||
|
@ -437,6 +448,7 @@ linker, and it may become deprecated in the future.
|
|||
Summary: Next Generating code profiling tool
|
||||
Provides: gprofng = %{version}-%{release}
|
||||
Requires: binutils = %{version}-%{release}
|
||||
BuildRequires: bison
|
||||
|
||||
%description gprofng
|
||||
GprofNG is the GNU Next Generation Profiler for analyzing the performance
|
||||
|
@ -459,7 +471,10 @@ of Linux applications.
|
|||
%package -n cross-binutils-aarch64
|
||||
Summary: Cross targeted AArch64 binutils for developer use. Not intended for production.
|
||||
Provides: cross-binutils-aarch64 = %{version}-%{release}
|
||||
Requires: zlib-devel coreutils
|
||||
Requires: coreutils
|
||||
%if %{with systemzlib}
|
||||
Requires: zlib-devel
|
||||
%endif
|
||||
BuildRequires: autoconf automake perl sed coreutils make gcc findutils gcc-c++
|
||||
ExcludeArch: aarch64-linux-gnu aarch64-redhat-linux
|
||||
|
||||
|
@ -471,7 +486,10 @@ use by developers. It is NOT INTENDED FOR PRODUCTION use.
|
|||
%package -n cross-binutils-ppc64le
|
||||
Summary: Cross targeted PPC64LE binutils for developer use. Not intended for production.
|
||||
Provides: cross-binutils-ppc64le = %{version}-%{release}
|
||||
Requires: zlib-devel coreutils
|
||||
Requires: coreutils
|
||||
%if %{with systemzlib}
|
||||
Requires: zlib-devel
|
||||
%endif
|
||||
BuildRequires: autoconf automake perl sed coreutils make gcc findutils gcc-c++
|
||||
ExcludeArch: ppc64le-linux-gnu ppc64le-redhat-linux
|
||||
|
||||
|
@ -483,7 +501,10 @@ use by developers. It is NOT INTENDED FOR PRODUCTION use.
|
|||
%package -n cross-binutils-s390x
|
||||
Summary: Cross targeted S390X binutils for developer use. Not intended for production.
|
||||
Provides: cross-binutils-s390x = %{version}-%{release}
|
||||
Requires: zlib-devel coreutils
|
||||
Requires: coreutils
|
||||
%if %{with systemzlib}
|
||||
Requires: zlib-devel
|
||||
%endif
|
||||
BuildRequires: autoconf automake perl sed coreutils make gcc findutils gcc-c++
|
||||
ExcludeArch: s390x-linux-gnu s390x-redhat-linux
|
||||
|
||||
|
@ -495,7 +516,10 @@ use by developers. It is NOT INTENDED FOR PRODUCTION use.
|
|||
%package -n cross-binutils-x86_64
|
||||
Summary: Cross targeted X86_64 binutils for developer use. Not intended for production.
|
||||
Provides: cross-binutils-x86_64 = %{version}-%{release}
|
||||
Requires: zlib-devel coreutils
|
||||
Requires: coreutils
|
||||
%if %{with systemzlib}
|
||||
Requires: zlib-devel
|
||||
%endif
|
||||
BuildRequires: autoconf automake perl sed coreutils make gcc findutils gcc-c++
|
||||
ExcludeArch: x86_64-linux-gnu x86_64-redhat-linux i686-linux-gnu i686-redhat-linux
|
||||
|
||||
|
@ -570,7 +594,7 @@ compute_global_configuration()
|
|||
--enable-ld \
|
||||
--enable-plugins \
|
||||
--enable-64-bit-bfd \
|
||||
--with-bugurl=http://bugzilla.redhat.com/bugzilla/"
|
||||
--with-bugurl=%{dist_bug_report_url}"
|
||||
|
||||
%if %{without bootstrap}
|
||||
CARGS="$CARGS --enable-jansson=yes"
|
||||
|
@ -617,12 +641,18 @@ compute_global_configuration()
|
|||
%if %{warn_for_executable_stacks}
|
||||
CARGS="$CARGS --enable-warn-execstack=yes"
|
||||
CARGS="$CARGS --enable-default-execstack=no"
|
||||
%if %{error_for_executable_stacks}
|
||||
CARGS="$CARGS --enable-error-execstack=yes"
|
||||
%endif
|
||||
%else
|
||||
CARGS="$CARGS --enable-warn-execstack=no"
|
||||
%endif
|
||||
|
||||
%if %{warn_for_rwx_segments}
|
||||
CARGS="$CARGS --enable-warn-rwx-segments=yes"
|
||||
%if %{error_for_rwx_segments}
|
||||
CARGS="$CARGS --enable-error-rwx-segments=yes"
|
||||
%endif
|
||||
%else
|
||||
CARGS="$CARGS --enable-warn-rwx-segments=no"
|
||||
%endif
|
||||
|
@ -675,8 +705,8 @@ run_target_configuration()
|
|||
%endif
|
||||
|
||||
%if %{with debug}
|
||||
export CFLAGS="$CFLAGS -O0 -ggdb2 -Wno-error -D_FORTIFY_SOURCE=0"
|
||||
shared=0
|
||||
%undefine _fortify_level
|
||||
export CFLAGS="$CFLAGS -O0 -ggdb2 -Wno-error"
|
||||
%endif
|
||||
|
||||
export CXXFLAGS="$CXXFLAGS $CFLAGS"
|
||||
|
@ -722,7 +752,8 @@ run_target_configuration()
|
|||
# Set up the sysroot and paths.
|
||||
SARGS="--with-sysroot=/ \
|
||||
--prefix=%{_prefix} \
|
||||
--libdir=%{_libdir}"
|
||||
--libdir=%{_libdir} \
|
||||
--sysconfdir=%{_sysconfdir}"
|
||||
%if %{with gold}
|
||||
SARGS="$SARGS --enable-gold=default"
|
||||
%else
|
||||
|
@ -742,6 +773,7 @@ run_target_configuration()
|
|||
--prefix=%{_prefix}/$target \
|
||||
--libdir=%{_libdir} \
|
||||
--exec-prefix=%{_usr} \
|
||||
--sysconfdir=%{_sysconfdir} \
|
||||
--disable-gold"
|
||||
fi
|
||||
|
||||
|
@ -958,34 +990,36 @@ install_binutils()
|
|||
%make_install DESTDIR=%{buildroot} MAKEINFO=true
|
||||
%endif
|
||||
|
||||
# Rebuild libiberty.a with -fPIC.
|
||||
# Future: Remove it together with its header file, projects should bundle it.
|
||||
# Rebuild the static libiaries with -fPIC.
|
||||
# It would be nice to build the static libraries with -fno-lto so that
|
||||
# they can be used by programs that are built with a different version
|
||||
# of GCC from the one used to build the libraries, but this will trigger
|
||||
# warnings from annocheck.
|
||||
|
||||
# Future: Remove libiberty together with its header file, projects should bundle it.
|
||||
%make_build -s -C libiberty clean
|
||||
%set_build_flags
|
||||
%make_build -s CFLAGS="-g -fPIC $RPM_OPT_FLAGS" -C libiberty
|
||||
|
||||
# Rebuild libbfd.a with -fPIC.
|
||||
# Without the hidden visibility the 3rd party shared libraries would export
|
||||
# the bfd non-stable ABI.
|
||||
%make_build -s -C bfd clean
|
||||
%set_build_flags
|
||||
%make_build -s CFLAGS="-g -fPIC $RPM_OPT_FLAGS -fvisibility=hidden" -C bfd
|
||||
|
||||
# Rebuild libopcodes.a with -fPIC.
|
||||
%make_build -s -C opcodes clean
|
||||
%set_build_flags
|
||||
%make_build -s CFLAGS="-g -fPIC $RPM_OPT_FLAGS" -C opcodes
|
||||
|
||||
# Rebuild libsframe.a with -fPIC.
|
||||
%make_build -s -C libsframe clean
|
||||
%set_build_flags
|
||||
%make_build -s CFLAGS="-g -fPIC $RPM_OPT_FLAGS" -C libsframe
|
||||
|
||||
install -m 644 bfd/libbfd.a $local_libdir
|
||||
install -m 644 libiberty/libiberty.a $local_libdir
|
||||
install -m 644 ../include/libiberty.h $local_incdir
|
||||
install -m 644 opcodes/libopcodes.a $local_libdir
|
||||
install -m 644 libsframe/.libs/libsframe.a $local_libdir
|
||||
install -m 644 bfd/.libs/libbfd.a $local_libdir
|
||||
install -m 644 libiberty/libiberty.a $local_libdir
|
||||
install -m 644 ../include/libiberty.h $local_incdir
|
||||
install -m 644 opcodes/.libs/libopcodes.a $local_libdir
|
||||
install -m 644 libsframe/.libs/libsframe.a $local_libdir
|
||||
|
||||
# Remove Windows/Novell only man pages
|
||||
rm -f $local_mandir/{dlltool,nlmconv,windres,windmc}*
|
||||
|
@ -1114,7 +1148,10 @@ exit 0
|
|||
|
||||
%post
|
||||
|
||||
# Remove the /usr/bin/ld file so that the alternatives program
|
||||
# can replace it with a symbolic link.
|
||||
%__rm -f %{_bindir}/ld
|
||||
|
||||
%{_sbindir}/alternatives --install %{_bindir}/ld ld \
|
||||
%{_bindir}/ld.bfd %{ld_bfd_priority}
|
||||
|
||||
|
@ -1144,6 +1181,10 @@ if [ $1 = 0 ]; then
|
|||
%{_sbindir}/alternatives --remove ld %{_bindir}/ld.bfd
|
||||
fi
|
||||
|
||||
# Restore the /usr/bin/ld file so that the automatic file
|
||||
# removal part of the uninstall process will work.
|
||||
touch %{_bindir}/ld
|
||||
|
||||
exit 0
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
@ -1198,6 +1239,7 @@ exit 0
|
|||
%{_infodir}/as.info.*
|
||||
%{_infodir}/binutils.info.*
|
||||
%{_infodir}/ld.info.*
|
||||
%{_infodir}/ldint.info.*
|
||||
%{_infodir}/bfd.info.*
|
||||
%{_infodir}/ctf-spec.info.*
|
||||
%{_infodir}/gprof.info.*
|
||||
|
@ -1220,12 +1262,19 @@ exit 0
|
|||
%{_libdir}/bfd-plugins/libdep.so
|
||||
%endif
|
||||
|
||||
%if %{with debug}
|
||||
%dir %{_libdir}/bfd-plugins
|
||||
%{_libdir}/bfd-plugins/libdep.a
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%{_prefix}/include/*
|
||||
%{_libdir}/lib*.a
|
||||
%{_libdir}/libbfd.so
|
||||
%{_libdir}/libopcodes.so
|
||||
%if %{enable_shared}
|
||||
%exclude %{_libdir}/lib*.la
|
||||
%endif
|
||||
|
||||
%if %{with gold}
|
||||
%files gold
|
||||
|
@ -1241,7 +1290,7 @@ exit 0
|
|||
%{_infodir}/gprofng.info.*
|
||||
%dir %{_libdir}/gprofng
|
||||
%{_libdir}/gprofng/*
|
||||
%{_prefix}%{_sysconfdir}/gprofng.rc
|
||||
%{_sysconfdir}/gprofng.rc
|
||||
%endif
|
||||
|
||||
%if %{with crossbuilds}
|
||||
|
@ -1274,6 +1323,149 @@ exit 0
|
|||
|
||||
#----------------------------------------------------------------------------
|
||||
%changelog
|
||||
* Wed Feb 14 2024 Nick Clifton <nickc@redhat.com> - 2.42-2
|
||||
- Add support for PowerPC v11 architecture extensions.
|
||||
|
||||
* Wed Feb 14 2024 Nick Clifton <nickc@redhat.com> - 2.42-1
|
||||
- Rebase to GNU Binutils 2.42.
|
||||
- Retire: binutils-BPF-reloc-4.patch
|
||||
- Retire: binutils-Intel-APX-part-1.patch
|
||||
- Retire: binutils-aarch64-big-bti-programs.patch
|
||||
- Retire: binutils-big-merge.patch
|
||||
- Retire: binutils-demangler-updates.patch
|
||||
- Retire: binutils-execstack-error.patch
|
||||
- Retire: binutils-gold-powerpc.patch
|
||||
- Retire: binutils-handle-corrupt-version-info.patch
|
||||
- Retire: binutils-ppc-dt_relr-relocs.patch
|
||||
- Retire: binutils-riscv-SUB_ULEB128.patch
|
||||
- Retire: binutils-x86-64-v3.patch
|
||||
- Retire: i686-AVX10.1-part-1.patch
|
||||
- Retire: i686-AVX10.1-part-2.patch
|
||||
- Retire: i686-AVX10.1-part-3.patch
|
||||
- Retire: i686-AVX10.1-part-4.patch
|
||||
- Retire: i686-AVX10.1-part-5.patch
|
||||
- Retire: i686-AVX10.1-part-6.patch
|
||||
|
||||
* Mon Feb 12 2024 Nick Clifton <nickc@redhat.com> - 2.41-34
|
||||
- Backport commits 5a635f1f59ad and 41e115853eef to fix some APX issues.
|
||||
- Add top-level multilib.am file.
|
||||
|
||||
* Mon Feb 12 2024 Nick Clifton <nickc@redhat.com> - 2.41-33
|
||||
- Backport commit 4199cf1e152d in order to add support for IBM's power-11 architecture extensions.
|
||||
|
||||
* Wed Jan 24 2024 Nick Clifton <nickc@redhat.com> - 2.41-32
|
||||
- Suppress the x86 linker's p_align-1 tests in order to cope with a CentOS-10 kernel bug. (RHEL-22466)
|
||||
|
||||
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.41-31
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Jan 22 2024 Nick Clifton <nickc@redhat.com> - 2.41-30
|
||||
- Import commits 4a54cb06585f568031dfd291d0fe45979ad75e98 and 00a17c6ad068c95019e1f37cfc2d1b8aaebd6ecb to add APX support to GOLD.
|
||||
|
||||
* Sat Jan 20 2024 Jakub Jelinek <jakub@redhat.com> - 2.41-29
|
||||
- Import commit eed38d8a02b2 to update APX support. (#2259333)
|
||||
|
||||
* Fri Jan 19 2024 Nick Clifton <nickc@redhat.com> - 2.41-28
|
||||
- Import commits 5190fa38286a , 2519809009ed and eea4357967b6 to update APX support.
|
||||
|
||||
* Wed Jan 17 2024 Nick Clifton <nickc@redhat.com> - 2.41-27
|
||||
- Add support for Intel's APX (part 1) architecture extensions.
|
||||
|
||||
* Wed Jan 17 2024 Nick Clifton <nickc@redhat.com> - 2.41-26
|
||||
- Import libiberty demangling improvements in order to support gcc v14 mangling.
|
||||
|
||||
* Mon Jan 15 2024 Nick Clifton <nickc@redhat.com> - 2.41-25
|
||||
- Fix creation of DT_RELR relocs for PPC64LE. (#2258061)
|
||||
|
||||
* Thu Jan 11 2024 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.41-24
|
||||
- Use _fortify_level macro to control _FORTIFY_SOURCE.
|
||||
|
||||
* Thu Jan 11 2024 Amit Shah <amitshah@fedoraproject.org>- 2.41-23
|
||||
- Spec File: gprofng requires bison at build time
|
||||
|
||||
* Thu Jan 11 2024 Tulio Machado <tuliom@redhat.com> - 2.41-22
|
||||
- Remove dependency upon zlib-static.
|
||||
|
||||
* Thu Jan 04 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 2.41-21
|
||||
- Fix location of gprofng.rc
|
||||
|
||||
* Thu Jan 04 2024 Nick Clifton <nickc@redhat.com> - 2.41-20
|
||||
- Fix SPDX annotation.
|
||||
|
||||
* Thu Jan 04 2024 Nick Clifton <nickc@redhat.com> - 2.41-19
|
||||
- Have the gold linker ignore the --error-execstack and --error-rwx-segments options.
|
||||
|
||||
* Tue Jan 02 2024 Nick Clifton <nickc@redhat.com> - 2.41-18
|
||||
- Fix handling of Risc-V SUB_LEB128 relocation. (PR31179)
|
||||
|
||||
* Mon Dec 11 2023 Nick Clifton <nickc@redhat.com> - 2.41-17
|
||||
- Fix failure in binutils testsuite for RiscV architecture.
|
||||
|
||||
* Thu Dec 07 2023 Nick Clifton <nickc@redhat.com> - 2.41-16
|
||||
- Add support for Intel's AVX10.1 ISA.
|
||||
|
||||
* Tue Nov 28 2023 Nick Clifton <nickc@redhat.com> - 2.41-15
|
||||
- Disable errors for executable stacks (enabled too early by previous delta).
|
||||
|
||||
* Tue Nov 21 2023 Nick Clifton <nickc@redhat.com> - 2.41-14
|
||||
- Enable errors for executable stacks.
|
||||
|
||||
* Fri Nov 10 2023 Nick Clifton <nickc@redhat.com> - 2.41-13
|
||||
- Make the GOLD linker ignore the "-z pack-relative-relocs" option. (#2248936)
|
||||
|
||||
* Tue Nov 07 2023 Nick Clifton <nickc@redhat.com> - 2.41-12
|
||||
- Fix the bfd linker's generation of call stubs for large AArch64 binaries with BTI enabled. (#2241902)
|
||||
|
||||
* Tue Nov 07 2023 Nick Clifton <nickc@redhat.com> - 2.41-11
|
||||
- Fix merging strings when linking really big programs.
|
||||
|
||||
* Wed Nov 01 2023 Nick Clifton <nickc@redhat.com> - 2.41-10
|
||||
- Allow for x86_64 build environments that use a base ISA of x86-64-v3. (#2247296)
|
||||
|
||||
* Mon Oct 30 2023 Nick Clifton <nickc@redhat.com> - 2.41-9
|
||||
- Accept and ignore R_BPF_64_NODYLD32 relocations. (#2245296)
|
||||
|
||||
* Thu Oct 19 2023 Nick Clifton <nickc@redhat.com> - 2.41-8
|
||||
- Add ability to turn execstack warnings into errors.
|
||||
- Enable warnings for rsx segments.
|
||||
|
||||
* Fri Oct 13 2023 Nick Clifton <nickc@redhat.com> - 2.41-7
|
||||
- Fix a potential NULL pointer derefence when parsing corrupt ELF symbol version information. (#2243769)
|
||||
|
||||
* Thu Oct 12 2023 Nick Clifton <nickc@redhat.com> - 2.41-6
|
||||
- Enable warnings about executable stacks by default.
|
||||
|
||||
* Fri Aug 25 2023 Nick Clifton <nickc@redhat.com> - 2.41-5
|
||||
- Fix the GOLD linker's handling of 32-bit PowerPC binaries. (#2234396)
|
||||
|
||||
* Wed Aug 23 2023 Nick Clifton <nickc@redhat.com> - 2.41-4
|
||||
- Add fixes for linker testsuite failures for the RISCV-64 target.
|
||||
|
||||
* Thu Aug 17 2023 Adam Williamson <awilliam@redhat.com> - 2.41-3
|
||||
- More CI fixes.
|
||||
|
||||
* Thu Aug 17 2023 Adam Williamson <awilliam@redhat.com> - 2.41-2
|
||||
- Tests: use uname -m instead of uname -i.
|
||||
|
||||
* Thu Aug 03 2023 Nick Clifton <nickc@redhat.com> - 2.41-1
|
||||
- Rebase to GNU Binutils 2.41
|
||||
- Retire: binutils-filename-in-readelf-messages.patch
|
||||
- Retire: binutils-readelf-other-sym-info.patch
|
||||
- Retire: binutils-fix-testsuite-failures.patch
|
||||
- Retire: binutils-objcopy-note-merge-speedup.patch
|
||||
- Retire: binutils-testsuite-fixes.patch
|
||||
- Retire: binutils-reloc-symtab.patch
|
||||
- Retire: binutils-CVE-2023-1972.patch
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.40-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Jul 18 2023 Nick Clifton <nickc@redhat.com> - 2.40-12
|
||||
- Spec File: migrated to SPDX license. (#2222113)
|
||||
|
||||
* Mon Jul 17 2023 Nick Clifton <nickc@redhat.com> - 2.40-11
|
||||
- Spec File: Change License field to use SPDX notation. (#2222113)
|
||||
|
||||
* Wed Jun 21 2023 Nick Clifton <nickc@redhat.com> - 2.40-10
|
||||
- Spec File: Add defines to enable rwx and execstack warnings.
|
||||
|
||||
|
|
|
@ -11,5 +11,5 @@ product_versions:
|
|||
- rhel-9
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.gate-build-fast-lane.functional}
|
||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.gate-build-slow-lane.functional}
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
#
|
||||
# Build/PR gating tests for binutils
|
||||
#
|
||||
|
||||
/common:
|
||||
plan:
|
||||
import:
|
||||
url: https://src.fedoraproject.org/tests/binutils.git
|
||||
ref: main
|
||||
name: /plans/build-gating/common
|
||||
|
||||
/kernel-rebuild:
|
||||
plan:
|
||||
import:
|
||||
url: https://src.fedoraproject.org/tests/binutils.git
|
||||
ref: main
|
||||
name: /plans/build-gating/kernel-rebuild
|
||||
|
||||
adjust+:
|
||||
- because: "Plan to be ran when executed locally, or executed by CI system to gate a build or PR."
|
||||
# `commit` is used by Fedora CI, CentOS Stream CI, `build` by BaseOS CI
|
||||
when: >-
|
||||
trigger is defined
|
||||
and trigger != commit
|
||||
and trigger != build
|
||||
enabled: false
|
|
@ -1,5 +0,0 @@
|
|||
summary: CI Gating Plan
|
||||
discover:
|
||||
how: fmf
|
||||
execute:
|
||||
how: tmt
|
|
@ -0,0 +1,18 @@
|
|||
#
|
||||
# Build/PR gating tests for binutils
|
||||
#
|
||||
|
||||
/common:
|
||||
plan:
|
||||
import:
|
||||
url: https://src.fedoraproject.org/tests/binutils.git
|
||||
ref: main
|
||||
name: /plans/regression
|
||||
|
||||
adjust+:
|
||||
- because: "Plan to be ran when executed locally, or executed by CI system after updating an erratum/bodhi update."
|
||||
# `build` is used by Bodhi
|
||||
when: >-
|
||||
trigger is defined
|
||||
and trigger != build
|
||||
enabled: false
|
2
sources
2
sources
|
@ -1,2 +1,2 @@
|
|||
SHA512 (binutils-2.40.tar.xz) = a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925
|
||||
SHA512 (binutils-2.42.tar.xz) = 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6
|
||||
SHA512 (binutils-2.19.50.0.1-output-format.sed) = 2f8686b0c8af13c98cda056824c2820416f6e2d003f70b78ccf5314525b9ee3684d421dfa83e638a2d42d06ea4d4bdaf5226b64d6ec26f7ff59c44ffb2a23dd2
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
The test's Makefiles are not used in Fedora CI infrastructure. But are kept here
|
||||
for backward compatibility with traditional beakerlib test harness in RHEL.
|
|
@ -1,62 +0,0 @@
|
|||
# Copyright (c) 2009 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# Testcases for this bugzilla were provided by Jakub Jelinek <jakub@redhat.com>
|
||||
# I've only wrapped them to RHTS
|
||||
|
||||
TOPLEVEL_NAMESPACE=/tools
|
||||
PACKAGE_NAME=binutils
|
||||
RELATIVE_PATH=bugzillas/241252
|
||||
|
||||
export TESTVERSION=1.0
|
||||
|
||||
export TEST=$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH)
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
FILES=$(METADATA) \
|
||||
runtest.sh \
|
||||
Makefile \
|
||||
x.i \
|
||||
y.i
|
||||
|
||||
run: $(FILES) #build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
chmod a+x ./runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@touch $(METADATA)
|
||||
@echo "Owner: Michal Nowak <mnowak@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Description: Regression test for bz241252." >> $(METADATA)
|
||||
@echo "TestTime: 3m" >> $(METADATA)
|
||||
@echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
@echo "Requires: $(PACKAGE_NAME) gcc" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "Releases: -RHEL4" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,12 +0,0 @@
|
|||
summary: Regression test for bz241252.
|
||||
contact: Michal Nowak <mnowak@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
- gcc
|
||||
duration: 3m
|
||||
extra-summary: /tools/binutils/bugzillas/241252
|
||||
extra-task: /tools/binutils/bugzillas/241252
|
|
@ -1,62 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2009 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include rhts environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="binutils"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup Setup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlShowRunningKernel
|
||||
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
cp x.i y.i $TmpDir
|
||||
rlRun "pushd $TmpDir"
|
||||
|
||||
rlRun "gcc -c -O2 -fpic -o x.o x.i -g" 0 "Compile test case 'x'"
|
||||
rlRun "gcc -c -O2 -fpic -o y.o y.i -g" 0 "Compile test case 'y'"
|
||||
rlRun "gcc -Wl,--unique -o x [xy].o" 0 "Link 'x' and 'y'"
|
||||
|
||||
# Note: debug_ranges replaced by debug_rnglist (since DWARF 5 in Fedora 34)
|
||||
rlLogInfo 'x.o + y.o:'
|
||||
rlLogInfo "$( readelf -WS [xy].o | grep debug_rnglist | grep PROGBITS )"
|
||||
rlLogInfo 'x:'
|
||||
rlLogInfo "$( readelf -WS x | grep debug_rnglist )"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest Testing
|
||||
if [ $( readelf -WS [xy].o | grep debug_rnglist | grep PROGBITS | wc -l ) -eq 2 ] \
|
||||
&& [ $( readelf -WS x | grep debug_rnglist | wc -l ) -eq 1 ]; then
|
||||
rlPass "Debug ranges sections were merged"
|
||||
else
|
||||
rlFail "Debug ranges sections were not merged"
|
||||
fi
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup Cleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir $rlRun_LOG" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,62 +0,0 @@
|
|||
extern void __assert_fail (const char *, const char *, unsigned int, const char *)
|
||||
__attribute__ ((__nothrow__, __noreturn__));
|
||||
|
||||
struct gst;
|
||||
struct gs;
|
||||
|
||||
extern void bar (void *) __attribute__ ((__nothrow__));
|
||||
|
||||
typedef int (*gf) (struct gst *, struct gs *,
|
||||
const unsigned char **, const unsigned char *,
|
||||
unsigned char **, unsigned long *, int, int);
|
||||
|
||||
struct gst
|
||||
{
|
||||
gf fct;
|
||||
int min_needed_from;
|
||||
};
|
||||
|
||||
struct gs
|
||||
{
|
||||
unsigned char *outbuf;
|
||||
unsigned char *outbufend;
|
||||
int flags;
|
||||
int invocation_counter;
|
||||
int internal_use;
|
||||
};
|
||||
|
||||
typedef struct gi
|
||||
{
|
||||
unsigned long nsteps;
|
||||
struct gst *steps;
|
||||
struct gs data [10];
|
||||
} *gt;
|
||||
|
||||
int
|
||||
foo (gt cd, const unsigned char **inbuf,
|
||||
const unsigned char *inbufend, unsigned char **outbuf,
|
||||
unsigned char *outbufend, unsigned long *irreversible)
|
||||
{
|
||||
unsigned long last_step;
|
||||
int result;
|
||||
last_step = cd->nsteps - 1;
|
||||
*irreversible = 0;
|
||||
cd->data[last_step].outbuf = outbuf != ((void *)0) ? *outbuf : ((void *)0);
|
||||
cd->data[last_step].outbufend = outbufend;
|
||||
gf fct = cd->steps->fct;
|
||||
if (inbuf == ((void *)0) || *inbuf == ((void *)0))
|
||||
result = (bar ((void *) (fct)), (*(fct)) (cd->steps, cd->data, ((void *)0), ((void *)0), ((void *)0), irreversible, cd->data[last_step].outbuf == ((void *)0) ? 2 : 1, 0));
|
||||
else
|
||||
{
|
||||
const unsigned char *last_start;
|
||||
((outbuf != ((void *)0) && *outbuf != ((void *)0)) ? (void) (0) : __assert_fail ("outbuf != ((void *)0) && *outbuf != ((void *)0)", "gconv.c", 67, "foo"));
|
||||
do
|
||||
{
|
||||
last_start = *inbuf;
|
||||
result = (bar ((void *) (fct)), (*(fct)) (cd->steps, cd->data, inbuf, inbufend, ((void *)0), irreversible, 0, 0));
|
||||
}
|
||||
while (result == 4 && last_start != *inbuf
|
||||
&& *inbuf + cd->steps->min_needed_from <= inbufend);
|
||||
}
|
||||
return result;
|
||||
}
|
|
@ -1,71 +0,0 @@
|
|||
extern void __assert_fail (const char *, const char *, unsigned int, const char *)
|
||||
__attribute__ ((__nothrow__, __noreturn__));
|
||||
|
||||
struct gst;
|
||||
struct gs;
|
||||
|
||||
extern void bar (void *) __attribute__ ((__nothrow__));
|
||||
|
||||
void bar (void *x)
|
||||
{
|
||||
}
|
||||
|
||||
typedef int (*gf) (struct gst *, struct gs *,
|
||||
const unsigned char **, const unsigned char *,
|
||||
unsigned char **, unsigned long *, int, int);
|
||||
|
||||
struct gst
|
||||
{
|
||||
gf fct;
|
||||
int min_needed_from;
|
||||
};
|
||||
|
||||
struct gs
|
||||
{
|
||||
unsigned char *outbuf;
|
||||
unsigned char *outbufend;
|
||||
int flags;
|
||||
int invocation_counter;
|
||||
int internal_use;
|
||||
};
|
||||
|
||||
typedef struct gi
|
||||
{
|
||||
unsigned long nsteps;
|
||||
struct gst *steps;
|
||||
struct gs data [10];
|
||||
} *gt;
|
||||
|
||||
int
|
||||
baz (gt cd, const unsigned char **inbuf,
|
||||
const unsigned char *inbufend, unsigned char **outbuf,
|
||||
unsigned char *outbufend, unsigned long *irreversible)
|
||||
{
|
||||
unsigned long last_step;
|
||||
int result;
|
||||
last_step = cd->nsteps - 1;
|
||||
*irreversible = 0;
|
||||
cd->data[last_step].outbuf = outbuf != ((void *)0) ? *outbuf : ((void *)0);
|
||||
cd->data[last_step].outbufend = outbufend;
|
||||
gf fct = cd->steps->fct;
|
||||
if (inbuf == ((void *)0) || *inbuf == ((void *)0))
|
||||
result = (bar ((void *) (fct)), (*(fct)) (cd->steps, cd->data, ((void *)0), ((void *)0), ((void *)0), irreversible, cd->data[last_step].outbuf == ((void *)0) ? 2 : 1, 0));
|
||||
else
|
||||
{
|
||||
const unsigned char *last_start;
|
||||
((outbuf != ((void *)0) && *outbuf != ((void *)0)) ? (void) (0) : __assert_fail ("outbuf != ((void *)0) && *outbuf != ((void *)0)", "gconv.c", 67, "foo"));
|
||||
do
|
||||
{
|
||||
last_start = *inbuf;
|
||||
result = (bar ((void *) (fct)), (*(fct)) (cd->steps, cd->data, inbuf, inbufend, ((void *)0), irreversible, 0, 0));
|
||||
}
|
||||
while (result == 4 && last_start != *inbuf
|
||||
&& *inbuf + cd->steps->min_needed_from <= inbufend);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
}
|
|
@ -1,82 +0,0 @@
|
|||
#
|
||||
# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||
# is made available to anyone wishing to use, modify, copy, or
|
||||
# redistribute it subject to the terms and conditions of the GNU General
|
||||
# Public License v.2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# Author: Michal Nowak <mnowak@redhat.com>
|
||||
|
||||
# The toplevel namespace within which the test lives.
|
||||
TOPLEVEL_NAMESPACE=tools
|
||||
|
||||
# The name of the package under test:
|
||||
PACKAGE_NAME=binutils
|
||||
|
||||
# The path of the test below the package:
|
||||
RELATIVE_PATH=Sanity/430856-libbfd.a-not-compiled-with-fPIC
|
||||
|
||||
# Version of the Test. Used with make tag.
|
||||
export TESTVERSION=1.1
|
||||
|
||||
# The combined namespace of the test.
|
||||
export TEST=/$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH)
|
||||
|
||||
|
||||
# A phony target is one that is not really the name of a file.
|
||||
# It is just a name for some commands to be executed when you
|
||||
# make an explicit request. There are two reasons to use a
|
||||
# phony target: to avoid a conflict with a file of the same
|
||||
# name, and to improve performance.
|
||||
.PHONY: all install download clean
|
||||
|
||||
# executables to be built should be added here, they will be generated on the system under test.
|
||||
BUILT_FILES=
|
||||
|
||||
# data files, .c files, scripts anything needed to either compile the test and/or run it.
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE bz430856.tar.gz
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
chmod a+x ./runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ *.rpm $(BUILT_FILES)
|
||||
|
||||
# You may need to add other targets e.g. to build executables from source code
|
||||
# Add them here:
|
||||
|
||||
|
||||
# Include Common Makefile
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
# Generate the testinfo.desc here:
|
||||
$(METADATA): Makefile
|
||||
@touch $(METADATA)
|
||||
# Change to the test owner's name
|
||||
@echo "Owner: Michal Nowak <mnowak@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Description: libbfd.a not compiled with -fPIC">> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
# add any other packages for which your test ought to run here
|
||||
@echo "Requires: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
@echo "Requires: $(PACKAGE_NAME)-devel" >> $(METADATA)
|
||||
@echo "Requires: gcc glibc-headers" >> $(METADATA)
|
||||
# add any other requirements for the script to run here
|
||||
|
||||
# You may need other fields here; see the documentation
|
||||
rhts-lint $(METADATA)
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
Would it be possible to have /usr/lib64/libbfd.a in binutils
|
||||
compiled with -fPIC? Otherwise, shared apps can't link against
|
||||
libbfd. In binutils.spec, libiberty.a is already recreated
|
||||
with -fPIC, is there some reason the same isn't done for
|
||||
libbfd?
|
||||
|
||||
From binutils.spec:
|
||||
|
||||
# Rebuild libiberty.a with -fPIC
|
||||
make -C libiberty clean
|
||||
make CFLAGS="-g -fPIC $RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64" -C libiberty
|
|
@ -1,20 +0,0 @@
|
|||
summary: libbfd.a not compiled with -fPIC
|
||||
description: "Would it be possible to have /usr/lib64/libbfd.a in binutils\ncompiled\
|
||||
\ with -fPIC? Otherwise, shared apps can't link against\nlibbfd. In binutils.spec,\
|
||||
\ libiberty.a is already recreated \nwith -fPIC, is there some reason the same\
|
||||
\ isn't done for \nlibbfd?\n\nFrom binutils.spec:\n\n # Rebuild libiberty.a with\
|
||||
\ -fPIC\n make -C libiberty clean\n make CFLAGS=\"-g -fPIC $RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64\"\
|
||||
\ -C libiberty\n"
|
||||
contact: Michal Nowak <mnowak@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
- binutils-devel
|
||||
- gcc
|
||||
- glibc-headers
|
||||
duration: 5m
|
||||
extra-summary: /tools/binutils/Sanity/430856-libbfd.a-not-compiled-with-fPIC
|
||||
extra-task: /tools/binutils/Sanity/430856-libbfd.a-not-compiled-with-fPIC
|
|
@ -1,21 +0,0 @@
|
|||
CC=gcc
|
||||
CFLAGS=-g -Wall
|
||||
|
||||
all: test
|
||||
|
||||
libbfdtest.so bfdtest: Makefile
|
||||
|
||||
libbfdtest.so: libbfdtest.c libbfdtest.h
|
||||
$(CC) $(CFLAGS) -shared -o $@ -fPIC $< -lbfd -liberty
|
||||
|
||||
bfdtest: bfdtest.c libbfdtest.h libbfdtest.so
|
||||
$(CC) -o $@ $< -L. -Wl,-rpath,. -lbfdtest -ldl
|
||||
|
||||
.PHONY: test
|
||||
test: bfdtest
|
||||
./$<
|
||||
@echo OK
|
||||
|
||||
clean:
|
||||
$(RM) libbfdtest.so bfdtest
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
#include "libbfdtest.h"
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
return libbfdtest () ? 0 : 1;
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
#include <bfd.h>
|
||||
|
||||
#include "libbfdtest.h"
|
||||
|
||||
int
|
||||
libbfdtest (void)
|
||||
{
|
||||
bfd_set_error (bfd_error_no_error);
|
||||
return bfd_get_error () == bfd_error_no_error;
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
extern int libbfdtest (void);
|
|
@ -1,49 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2009 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include rhts environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="binutils"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlShowPackageVersion $PACKAGE
|
||||
rlShowRunningKernel
|
||||
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
cp reproducer/* $TmpDir
|
||||
rlRun "pushd $TmpDir"
|
||||
rlRun "make clean" 0 "Make clean"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "make" 0 "Build the files"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,85 +0,0 @@
|
|||
# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material
|
||||
# is made available to anyone wishing to use, modify, copy, or
|
||||
# redistribute it subject to the terms and conditions of the GNU General
|
||||
# Public License v.2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# Author: Michal Nowak <mnowak@redhat.com>
|
||||
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
|
||||
# Example Makefile for RHTS #
|
||||
# This example is geared towards a test for a specific package #
|
||||
# It does most of the work for you, but may require further coding #
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
|
||||
|
||||
# The toplevel namespace within which the test lives.
|
||||
TOPLEVEL_NAMESPACE=tools
|
||||
|
||||
# The name of the package under test:
|
||||
PACKAGE_NAME=binutils
|
||||
|
||||
# The path of the test below the package:
|
||||
RELATIVE_PATH=Sanity/435078-output-of-strings-0-n-is-incorrect
|
||||
|
||||
# Version of the Test. Used with make tag.
|
||||
export TESTVERSION=1.1
|
||||
|
||||
# The combined namespace of the test.
|
||||
export TEST=/$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH)
|
||||
|
||||
|
||||
# A phony target is one that is not really the name of a file.
|
||||
# It is just a name for some commands to be executed when you
|
||||
# make an explicit request. There are two reasons to use a
|
||||
# phony target: to avoid a conflict with a file of the same
|
||||
# name, and to improve performance.
|
||||
.PHONY: all install download clean
|
||||
|
||||
# executables to be built should be added here, they will be generated on the system under test.
|
||||
BUILT_FILES=
|
||||
|
||||
# data files, .c files, scripts anything needed to either compile the test and/or run it.
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
chmod a+x ./runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ *.rpm $(BUILT_FILES)
|
||||
|
||||
# You may need to add other targets e.g. to build executables from source code
|
||||
# Add them here:
|
||||
|
||||
|
||||
# Include Common Makefile
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
# Generate the testinfo.desc here:
|
||||
$(METADATA): Makefile
|
||||
@touch $(METADATA)
|
||||
# Change to the test owner's name
|
||||
@echo "Owner: Michal Nowak <mnowak@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Description: The output of "strings -0 file" is in loop and "-n 0xA" cannot be correctly recognized">> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
# add any other packages for which your test ought to run here
|
||||
@echo "Requires: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
# add any other requirements for the script to run here
|
||||
|
||||
# You may need other fields here; see the documentation
|
||||
rhts-lint $(METADATA)
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Use "strings -0 file", the output will be in loop.
|
||||
And "strings -n 0xA file" will report error as "invalid number 0xA"
|
|
@ -1,14 +0,0 @@
|
|||
summary: The output of strings -0 file is in loop and -n 0xA cannot be correctly recognized
|
||||
description: |
|
||||
Use "strings -0 file", the output will be in loop.
|
||||
And "strings -n 0xA file" will report error as "invalid number 0xA"
|
||||
contact: Michal Nowak <mnowak@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
duration: 5m
|
||||
extra-summary: /tools/binutils/Sanity/435078-output-of-strings-0-n-is-incorrect
|
||||
extra-task: /tools/binutils/Sanity/435078-output-of-strings-0-n-is-incorrect
|
|
@ -1,56 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2009 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include rhts environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="binutils"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup Setup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlShowPackageVersion $PACKAGE
|
||||
rlShowRunningKernel
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlRun "echo -e \"asdjkhsd\nsdsdsdssd\n\nsdsd\n\" > tstfile" 0 "Generating test file tstfile"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest TestingOne
|
||||
rlRun "strings -0 tstfile > errorfile 2>&1 &"
|
||||
rlRun "sleep 5"
|
||||
rlRun "jobs"
|
||||
rlRun "kill -9 %1" 1 "strings in the loop"
|
||||
rlAssertGrep "minim" errorfile
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest TestingTwo
|
||||
rlRun "strings -n 0xA tstfile" 0 "echo \"PASS: tstfile processed.\""
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup Cleanup
|
||||
rlBundleLogs "binutils-outputs" errorfile tstfile
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir $rlRun_LOG" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,60 +0,0 @@
|
|||
# Copyright (c) 2009 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author: Michal Nowak <mnowak@redhat.com>
|
||||
|
||||
|
||||
TOPLEVEL_NAMESPACE=/tools
|
||||
PACKAGE_NAME=binutils
|
||||
RELATIVE_PATH=Sanity/480009-when-mistaking-argument-of-strings
|
||||
|
||||
export TEST=$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH)
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
chmod a+x ./runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
|
||||
$(METADATA): Makefile
|
||||
@touch $(METADATA)
|
||||
@echo "Owner: Michal Nowak <mnowak@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Description: When mistaking the argument of strings command , the same error message is output." >> $(METADATA)
|
||||
@echo "Bug: 480009" >> $(METADATA)
|
||||
@echo "Type: Sanity" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
@echo "Requires: $(PACKAGE_NAME)" >> $(METADATA)
|
||||
@echo "License: GPLv3+" >> $(METADATA)
|
||||
@echo "Releases: -RHEL4 -RHEL5" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,27 +0,0 @@
|
|||
[RHEL5.2]
|
||||
# strings -n file1
|
||||
strings: invalid integer argument file1
|
||||
|
||||
# strings --bytes file1
|
||||
strings: invalid integer argument file1
|
||||
|
||||
# strings -n 0
|
||||
strings: invalid number 0
|
||||
|
||||
# strings --bytes 0
|
||||
strings: invalid number 0
|
||||
|
||||
|
||||
[RHEL5.3]
|
||||
# strings -n file1
|
||||
strings: invalid minimum string length 0
|
||||
|
||||
# strings --bytes file1
|
||||
strings: invalid minimum string length 0
|
||||
|
||||
# strings -n 0
|
||||
strings: invalid minimum string length 0
|
||||
|
||||
# strings --bytes 0
|
||||
strings: invalid minimum string length 0
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
summary: When mistaking the argument of strings command , the same error message is
|
||||
output.
|
||||
description: |+
|
||||
[RHEL5.2]
|
||||
# strings -n file1
|
||||
strings: invalid integer argument file1
|
||||
|
||||
# strings --bytes file1
|
||||
strings: invalid integer argument file1
|
||||
|
||||
# strings -n 0
|
||||
strings: invalid number 0
|
||||
|
||||
# strings --bytes 0
|
||||
strings: invalid number 0
|
||||
|
||||
|
||||
[RHEL5.3]
|
||||
# strings -n file1
|
||||
strings: invalid minimum string length 0
|
||||
|
||||
# strings --bytes file1
|
||||
strings: invalid minimum string length 0
|
||||
|
||||
# strings -n 0
|
||||
strings: invalid minimum string length 0
|
||||
|
||||
# strings --bytes 0
|
||||
strings: invalid minimum string length 0
|
||||
|
||||
contact: Michal Nowak <mnowak@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
duration: 5m
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=480009
|
||||
extra-summary: /tools/binutils/Sanity/480009-when-mistaking-argument-of-strings
|
||||
extra-task: /tools/binutils/Sanity/480009-when-mistaking-argument-of-strings
|
|
@ -1,49 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
#
|
||||
# Copyright (c) 2009 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Author: Michal Nowak <mnowak@redhat.com>
|
||||
|
||||
# source the test script helpers
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE=binutils
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlShowPackageVersion $PACKAGE
|
||||
rlShowRunningKernel
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "#1: strings -n file1"
|
||||
rlRun "strings -n file1 2>&1 | grep 'invalid integer argument file1'" 0 "Produced expected error msg: 'strings: invalid integer argument file1'"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "#2: strings --bytes file1"
|
||||
rlRun "strings --bytes file1 2>&1 | grep 'invalid integer argument file1'" 0 "Produced expected error msg: 'strings: invalid integer argument file1'"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "#3: strings -n 0"
|
||||
rlRun "strings -n 0 2>&1 | grep 'invalid minimum string length 0'" 0 "Produced expected error msg: 'strings: invalid minimum string length 0'"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "#4: strings --bytes 0"
|
||||
rlRun "strings --bytes 0 2>&1 | grep 'invalid minimum string length 0'" 0 "Produced expected error msg: 'strings: invalid minimum string length 0'"
|
||||
rlPhaseEnd
|
||||
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,59 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2009 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/tools/binutils/Regressions/readelf/509124-holes-in-debuginfo
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE ascend.C test.c
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
chmod a+x ./runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Michal Nowak <mnowak@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: holes in debuginfo" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 15m" >> $(METADATA)
|
||||
@echo "RunFor: binutils" >> $(METADATA)
|
||||
@echo "Requires: binutils gcc44 gcc gcc44-c++ gcc-c++" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 509124 499164" >> $(METADATA)
|
||||
@echo "Releases: -RHEL4 -RHEL5" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,14 +0,0 @@
|
|||
(1) readelf fix now posted upstream:
|
||||
http://sourceware.org/ml/binutils/2009-07/msg00123.html
|
||||
QA: New testcase: binutils-all/testranges.s
|
||||
|
||||
(2) gcc has been fixed based on this bugreport by Jakub upstream:
|
||||
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40713
|
||||
gcc44 backport request for RHEL-5.5 is: Bug 510958
|
||||
|
||||
(3) Going to be backported for RHEL-5.5 readelf.
|
||||
It has been already fixed by Nick Clifton upstream:
|
||||
http://sourceware.org/ml/binutils/2009-06/msg00418.html
|
||||
http://sourceware.org/ml/binutils-cvs/2009-06/msg00158.html
|
||||
QA: RHEL-only new testcase: binutils-all/testloc.S
|
||||
as a part of binutils-all/readelf.exp (not shown when PASSing)
|
|
@ -1,15 +0,0 @@
|
|||
class A {
|
||||
public:
|
||||
A();
|
||||
void f(){}
|
||||
};
|
||||
|
||||
class C {
|
||||
C();
|
||||
};
|
||||
|
||||
C::C() {
|
||||
A* p = new A;
|
||||
p->f();
|
||||
}
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
summary: holes in debuginfo
|
||||
description: "(1) readelf fix now posted upstream:\n http://sourceware.org/ml/binutils/2009-07/msg00123.html\n\
|
||||
QA: New testcase: binutils-all/testranges.s\n\n(2) gcc has been fixed based on\
|
||||
\ this bugreport by Jakub upstream:\n http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40713\n\
|
||||
\ gcc44 backport request for RHEL-5.5 is: Bug 510958\n\n(3) Going to be backported\
|
||||
\ for RHEL-5.5 readelf.\n It has been already fixed by Nick Clifton upstream:\n\
|
||||
\ http://sourceware.org/ml/binutils/2009-06/msg00418.html\n http://sourceware.org/ml/binutils-cvs/2009-06/msg00158.html\n\
|
||||
QA: RHEL-only new testcase: binutils-all/testloc.S\n as a part of binutils-all/readelf.exp\
|
||||
\ (not shown when PASSing) \n"
|
||||
contact: Michal Nowak <mnowak@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
- gcc44
|
||||
- gcc
|
||||
- gcc44-c++
|
||||
- gcc-c++
|
||||
duration: 15m
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=509124
|
||||
extra-summary: /tools/binutils/Regressions/readelf/509124-holes-in-debuginfo
|
||||
extra-task: /tools/binutils/Regressions/readelf/509124-holes-in-debuginfo
|
|
@ -1,73 +0,0 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2009 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# Author: Michal Nowak <mnowak@redhat.com>
|
||||
#
|
||||
# Include rhts environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="binutils"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup Setup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlShowPackageVersion $PACKAGE
|
||||
rlShowRunningKernel
|
||||
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
cp ascend.C test.c $TmpDir
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
for gcc in $( ls /usr/bin/gcc{,44} 2> /dev/null ); do
|
||||
for opt in s $( seq 0 3 ); do
|
||||
rlPhaseStartTest "ascend.C: gcc=$gcc opt=$opt"
|
||||
rlRun "$gcc -O${opt} ascend.C -c -g"
|
||||
rlAssertExists "ascend.o"
|
||||
# kinda weird running readelf on .o file, but...
|
||||
rlRun "readelf -a -w -W ./ascend.o > /dev/less 2> readelf.errout.g++" 0 "[gcc] Generating readelf output"
|
||||
rlLog "$( cat readelf.errout.g++ )"
|
||||
rlAssertNotGrep "readelf" readelf.errout.g++
|
||||
rm -f ./ascend.o
|
||||
rlPhaseEnd
|
||||
done
|
||||
done
|
||||
|
||||
for gcc in $( ls /usr/bin/gcc{,44} 2> /dev/null ); do
|
||||
for opt in s $( seq 0 3 ); do
|
||||
rlPhaseStartTest "test.c: gcc=$gcc opt=$opt"
|
||||
rlRun "$gcc -O${opt} test.c -c -g"
|
||||
rlAssertExists "test.o"
|
||||
# kinda weird running readelf on .o file, but...
|
||||
rlRun "readelf -a -w -W ./test.o > /dev/less 2> readelf.errout.g++" 0 "[gcc] Generating readelf output"
|
||||
rlLog "$( cat readelf.errout.g++ )"
|
||||
rlAssertNotGrep "readelf" readelf.errout.g++
|
||||
rm -f ./test.o
|
||||
rlPhaseEnd
|
||||
done
|
||||
done
|
||||
|
||||
rlPhaseStartCleanup Cleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,14 +0,0 @@
|
|||
void f(int i) {
|
||||
k(i);
|
||||
}
|
||||
|
||||
void g(int i) {
|
||||
int j[65537];
|
||||
l(i,j);
|
||||
}
|
||||
|
||||
struct s {
|
||||
void (*m)(int i);
|
||||
void (*n)(int i);
|
||||
} t={f,g};
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2009 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/tools/binutils/Regressions/ld/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE bar.c foo.c
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
chmod a+x ./runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Michal Nowak <mnowak@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: ld fails to merge different visibility for the same symbol in distinct object files" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: binutils binutils220" >> $(METADATA)
|
||||
@echo "Requires: binutils binutils220 gcc44 gcc" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 531269" >> $(METADATA)
|
||||
@echo "Architectures: i386 x86_64" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,19 +0,0 @@
|
|||
int foo __attribute__ ((section (".gnu.linkonce.d.1"),
|
||||
visibility ("hidden"))) = 1;
|
||||
int
|
||||
__attribute__ ((section (".gnu.linkonce.t.1"), visibility ("hidden")))
|
||||
bar ()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
int
|
||||
get_foo ()
|
||||
{
|
||||
return foo;
|
||||
}
|
||||
int
|
||||
get_bar ()
|
||||
{
|
||||
return bar ();
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
int foo __attribute__ ((section (".gnu.linkonce.d.1"))) = 1;
|
||||
int
|
||||
__attribute__ ((section (".gnu.linkonce.t.1")))
|
||||
bar ()
|
||||
{
|
||||
return 1;
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
summary: ld fails to merge different visibility for the same symbol in distinct object
|
||||
files
|
||||
description: ''
|
||||
contact: Michal Nowak <mnowak@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
- binutils220
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
- binutils220
|
||||
- gcc44
|
||||
- gcc
|
||||
duration: 5m
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=531269
|
||||
extra-summary: /tools/binutils/Regressions/ld/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol
|
||||
extra-task: /tools/binutils/Regressions/ld/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol
|
|
@ -1,57 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2009 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# Author: Michal Nowak <mnowak@redhat.com>
|
||||
#
|
||||
# Include rhts environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="binutils"
|
||||
|
||||
# Choose the compiler.
|
||||
GCC=${GCC:-gcc}
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlShowPackageVersion $PACKAGE
|
||||
rlShowRunningKernel
|
||||
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
cp foo.c bar.c $TmpDir
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "gcc=$GCC Testing"
|
||||
rlRun "$GCC -fPIC -c -o foo.o foo.c" 0 "Compile foo.c => foo.o"
|
||||
rlRun "$GCC -fPIC -c -o bar.o bar.c" 0 "Compile bar.c => bar.o"
|
||||
rlRun "ld -shared -o foobar.so foo.o bar.o" 0 "Link foo.o & bar.o => foobar.so"
|
||||
rlAssertExists foobar.so
|
||||
rm foobar.so foo.o bar.o
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup Cleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,63 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /tools/binutils/Regression/RELRO-protection-effective
|
||||
# Description: bz1174826
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2014 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/tools/binutils/Regression/RELRO-protection-effective
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: bz1174826" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: binutils" >> $(METADATA)
|
||||
@echo "Requires: binutils gcc" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2+" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 1174826" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,34 +0,0 @@
|
|||
PURPOSE of /tools/binutils/Regression/RELRO-protection-effective
|
||||
Description: bz1174826
|
||||
Author: Martin Cermak <mcermak@redhat.com>
|
||||
Bug summary: RELRO is not read-only on PowerLE
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1174826
|
||||
|
||||
/*
|
||||
* Test to exercise PIE and RELRO provided by Roland McGrath <roland@redhat.com>.
|
||||
*
|
||||
* Description:
|
||||
* Simple test for RELRO, which happens to be a PIE too, but that's only
|
||||
* because this kind of example has to be in PIC code to make RELRO relevant,
|
||||
* and PIE makes it simpler to write a standalone one-file test than writing
|
||||
* a DSO.
|
||||
*
|
||||
* The "const" makes "foo" .rodata material, and the init to an external symbol
|
||||
* reference makes it require a data relocation. Enabling -z relro for this
|
||||
* link puts that .rodata into a RELRO area. This program will crash because
|
||||
* the page containing "foo" has been made read-only when "main" runs.
|
||||
* Without RELRO, it would let you modify "foo" even though it's supposed to
|
||||
* be const.
|
||||
*
|
||||
* Test with RELRO should fail:
|
||||
* $ gcc -pie -fPIE -g -Wl,-z,relro -o relro relro.c
|
||||
* $ ./relro
|
||||
* Segmentation fault (core dumped)
|
||||
*
|
||||
* Test without RELRO should pass:
|
||||
* $ gcc -pie -fPIE -g -Wl,-z,norelro -o no-relro relro.c
|
||||
* $ ./no-relro
|
||||
*
|
||||
**/
|
||||
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
summary: bz1174826
|
||||
description: "Bug summary: RELRO is not read-only on PowerLE\nBugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1174826\n\
|
||||
\n/* \
|
||||
\ \n * Test to exercise PIE and RELRO provided by Roland McGrath <roland@redhat.com>.\n\
|
||||
\ * \
|
||||
\ \n * Description: \
|
||||
\ \n * Simple test for RELRO, which happens to be a PIE too,\
|
||||
\ but that's only \n * because this kind of example has to be in PIC\
|
||||
\ code to make RELRO relevant, \n * and PIE makes it simpler to write a standalone\
|
||||
\ one-file test than writing \n * a DSO. \
|
||||
\ \n * \
|
||||
\ \n * The \"const\" makes \"\
|
||||
foo\" .rodata material, and the init to an external symbol\n * reference makes\
|
||||
\ it require a data relocation. Enabling -z relro for this \n * link puts\
|
||||
\ that .rodata into a RELRO area. This program will crash because \n * the\
|
||||
\ page containing \"foo\" has been made read-only when \"main\" runs. \
|
||||
\ \n * Without RELRO, it would let you modify \"foo\" even though it's supposed\
|
||||
\ to \n * be const. \
|
||||
\ \n * \
|
||||
\ \n * Test with RELRO should fail: \
|
||||
\ \n * $ gcc -pie -fPIE -g -Wl,-z,relro -o relro\
|
||||
\ relro.c \n * $ ./relro \
|
||||
\ \n * Segmentation fault (core\
|
||||
\ dumped) \n * \
|
||||
\ \n * Test without\
|
||||
\ RELRO should pass: \n * $\
|
||||
\ gcc -pie -fPIE -g -Wl,-z,norelro -o no-relro relro.c \
|
||||
\ \n * $ ./no-relro \
|
||||
\ \n * \
|
||||
\ \n**/\n\n\n"
|
||||
contact: Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
- gcc
|
||||
duration: 5m
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1174826
|
||||
extra-summary: /tools/binutils/Regression/RELRO-protection-effective
|
||||
extra-task: /tools/binutils/Regression/RELRO-protection-effective
|
|
@ -1,65 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/binutils/Regression/RELRO-protection-effective
|
||||
# Description: bz1174826
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2014 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="binutils"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
touch /tmp/disable-qe-abrt
|
||||
rlRun "TMPD=\$(mktemp -d)"
|
||||
rlRun "pushd $TMPD"
|
||||
cat > relro.c <<-EOF
|
||||
#include <stdio.h>
|
||||
|
||||
void *const foo = &stdout;
|
||||
|
||||
int main (void)
|
||||
{
|
||||
*(void **) &foo = &stderr;
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
rlRun "gcc -pie -fPIE -g -Wl,-z,relro -o relro relro.c"
|
||||
rlRun "gcc -pie -fPIE -g -Wl,-z,norelro -o no-relro relro.c"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "./relro" 139
|
||||
rlRun "./no-relro"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TMPD"
|
||||
rm -f /tmp/disable-qe-abrt
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,63 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /tools/binutils/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot
|
||||
# Description: Test for BZ#1080077 ([RFE] - Please configure ld.bfd to allow --sysroot)
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2014 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/tools/binutils/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for BZ#1080077 ([RFE] - Please configure ld.bfd to allow --sysroot)" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: binutils" >> $(METADATA)
|
||||
@echo "Requires: binutils" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2+" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 1080077" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,5 +0,0 @@
|
|||
PURPOSE of /tools/binutils/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot
|
||||
Description: Test for BZ#1080077 ([RFE] - Please configure ld.bfd to allow --sysroot)
|
||||
Author: Martin Cermak <mcermak@redhat.com>
|
||||
Bug summary: [RFE] - Please configure ld.bfd to allow --sysroot
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1080077
|
|
@ -1,16 +0,0 @@
|
|||
summary: Test for BZ#1080077 ([RFE] - Please configure ld.bfd to allow --sysroot)
|
||||
description: |
|
||||
Bug summary: [RFE] - Please configure ld.bfd to allow --sysroot
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1080077
|
||||
contact: Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
duration: 5m
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1080077
|
||||
extra-summary: /tools/binutils/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot
|
||||
extra-task: /tools/binutils/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot
|
|
@ -1,39 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/binutils/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot
|
||||
# Description: Test for BZ#1080077 ([RFE] - Please configure ld.bfd to allow --sysroot)
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2014 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartTest
|
||||
LD_BDF=$(which ld.bfd)
|
||||
RPM=$(rpm -qf $LD_BDF)
|
||||
rlLogInfo "ld.bfd is $LD_BDF of $RPM"
|
||||
rlRun "ld.bfd --sysroot=/tmp |& grep 'not configured to use sysroots'" 1
|
||||
rlRun "ld.bfd --sysroot=/tmp |& grep 'no input files'"
|
||||
rlPhaseEnd
|
||||
rlJournalEnd
|
|
@ -1,65 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /tools/binutils/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED
|
||||
# Description: Test for BZ#1117458 (ld from devtoolset copies SONAME to DT_NEEDED)
|
||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2014 Red Hat, Inc.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/tools/binutils/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE libtest.tar.gz
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Milos Prchlik <mprchlik@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for BZ#1117458 (ld from devtoolset copies SONAME to DT_NEEDED)" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: binutils" >> $(METADATA)
|
||||
@echo "Requires: binutils" >> $(METADATA)
|
||||
@echo "Requires: devtoolset-3.0-tools-devtoolset-3.0-Install-latest" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: yes" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 1117458" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,5 +0,0 @@
|
|||
PURPOSE of /tools/binutils/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED
|
||||
Description: Test for BZ#1117458 (ld from devtoolset copies SONAME to DT_NEEDED)
|
||||
Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
Bug summary: ld from devtoolset copies SONAME to DT_NEEDED without checking if it’s empty
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1117458
|
|
@ -1,3 +0,0 @@
|
|||
int foo(void) {
|
||||
return 10;
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
summary: Test for BZ#1117458 (ld from devtoolset copies SONAME to DT_NEEDED)
|
||||
description: |
|
||||
Bug summary: ld from devtoolset copies SONAME to DT_NEEDED without checking if it’s empty
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1117458
|
||||
contact: Milos Prchlik <mprchlik@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
- gcc
|
||||
duration: 5m
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1117458
|
||||
extra-summary: /tools/binutils/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED
|
||||
extra-task: /tools/binutils/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED
|
|
@ -1,63 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/binutils/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED
|
||||
# Description: Test for BZ#1117458 (ld from devtoolset copies SONAME to DT_NEEDED)
|
||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2014 Red Hat, Inc.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="binutils"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "cp user.c libfoo.c $TmpDir/"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "gcc -fPIC -g -c libfoo.c"
|
||||
rlAssertExists "libfoo.o"
|
||||
rlRun "gcc -shared -Wl,-soname, -o libfoo.so -lc libfoo.o 2>&1 | tee out" 0
|
||||
rlAssertExists "libfoo.so"
|
||||
rlLogInfo "gcc output:"
|
||||
rlLogInfo "$(cat out)"
|
||||
rlAssertGrep "SONAME must not be empty string; ignored" out
|
||||
rlRun "objdump -p libfoo.so | grep SONAME | awk '{print \$2}' > soname"
|
||||
if [ "`stat -c '%s' soname`" != "0" ]; then
|
||||
rlLogInfo "SONAME='$(cat soname)'"
|
||||
rlFail "Detected SONAME is empty"
|
||||
fi
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd" # $TmpDir
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,9 +0,0 @@
|
|||
#include <stdio.h>
|
||||
|
||||
extern int foo(void);
|
||||
|
||||
int main(void) {
|
||||
int a = foo();
|
||||
printf("a is %d\n", a);
|
||||
return 0;
|
||||
}
|
|
@ -1,65 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /tools/binutils/Regression/bz1172766-ppc64-segv-in-libbfd
|
||||
# Description: Test for BZ#1172766 (ppc64 segv in libbfd)
|
||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2015 Red Hat, Inc.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/tools/binutils/Regression/bz1172766-ppc64-segv-in-libbfd
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Milos Prchlik <mprchlik@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for BZ#1172766 (ppc64 segv in libbfd)" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 30m" >> $(METADATA)
|
||||
@echo "RunFor: binutils" >> $(METADATA)
|
||||
@echo "Requires: binutils kernel-debuginfo xz" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: yes" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 1172766" >> $(METADATA)
|
||||
@echo "Releases: RHEL7" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,5 +0,0 @@
|
|||
PURPOSE of /tools/binutils/Regression/bz1172766-ppc64-segv-in-libbfd
|
||||
Description: Test for BZ#1172766 (ppc64 segv in libbfd)
|
||||
Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
Bug summary: ppc64: segv in libbfd
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1172766
|
|
@ -1,20 +0,0 @@
|
|||
summary: Test for BZ#1172766 (ppc64 segv in libbfd)
|
||||
description: |
|
||||
Bug summary: ppc64: segv in libbfd
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1172766
|
||||
contact: Milos Prchlik <mprchlik@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
- elfutils
|
||||
- koji
|
||||
- kernel-debuginfo
|
||||
- xz
|
||||
duration: 30m
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1172766
|
||||
extra-summary: /tools/binutils/Regression/bz1172766-ppc64-segv-in-libbfd
|
||||
extra-task: /tools/binutils/Regression/bz1172766-ppc64-segv-in-libbfd
|
|
@ -1,85 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/binutils/Regression/bz1172766-ppc64-segv-in-libbfd
|
||||
# Description: Test for BZ#1172766 (ppc64 segv in libbfd)
|
||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2015 Red Hat, Inc.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGES="binutils"
|
||||
REQUIRES="${REQUIRES:-kernel-debuginfo}"
|
||||
|
||||
__have_kernel_debuginfo () {
|
||||
local RELEASE ARCH TEMPDIR
|
||||
rlRun "RELEASE=$(uname -r)"
|
||||
rlRun "ARCH=$(uname -i)"
|
||||
if ! rpm -q kernel-debuginfo-$RELEASE &>/dev/null; then
|
||||
rlLogInfo 'kernel-debuginfo not present, trying to install it'
|
||||
rlRun "TEMPDIR=$(mktemp -d -p $HOME)" # $HOME to avoid "small" tmpfs
|
||||
rlRun "pushd '$TEMPDIR'"
|
||||
rlRun "koji download-build -q --debuginfo kernel-$RELEASE --arch $ARCH"
|
||||
rlRun "dnf -y install ./kernel-debuginfo-*.rpm"
|
||||
rlRun 'popd'
|
||||
rlRun "rm -rf '$TEMPDIR'"
|
||||
fi
|
||||
rlAssertRpm kernel-debuginfo-$RELEASE
|
||||
}
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlLogInfo "PACKAGES=$PACKAGES"
|
||||
rlLogInfo "REQUIRES=$REQUIRES"
|
||||
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
||||
rlLogInfo "KERNEL=$(uname -a)"
|
||||
|
||||
__have_kernel_debuginfo
|
||||
|
||||
rlAssertRpm --all
|
||||
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
|
||||
rlRun "KERNEL_RELEASE=$(uname -r)"
|
||||
rlRun "KMOD=/usr/lib/modules/$KERNEL_RELEASE/kernel/fs/nfsd/nfsd.ko"
|
||||
rlRun "KMOD_XZ=$KMOD.xz"
|
||||
rlRun "KMOD_DEBUG=/usr/lib/debug/$KMOD.debug"
|
||||
rlAssertExists "$KMOD_DEBUG"
|
||||
rlAssertExists "$KMOD_XZ"
|
||||
[[ -e "$KMOD" ]] || rlRun "unxz -k $KMOD_XZ"
|
||||
rlAssertExists "$KMOD"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "eu-unstrip $KMOD $KMOD_DEBUG --output=$TmpDir/unstripped.ko"
|
||||
rlRun "objdump -drS $TmpDir/unstripped.ko &> /dev/null"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,66 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /tools/binutils/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat
|
||||
# Description: Test for BZ#1226864 (ld crashes on ppc64 when being used with --oformat)
|
||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2015 Red Hat, Inc.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/tools/binutils/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE ldtest.S
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Milos Prchlik <mprchlik@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for BZ#1226864 (ld crashes on ppc64 when being used with --oformat)" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 15m" >> $(METADATA)
|
||||
@echo "RunFor: binutils" >> $(METADATA)
|
||||
@echo "Requires: binutils" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: yes" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 1226864" >> $(METADATA)
|
||||
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
|
||||
@echo "Architectures: x86_64 ppc64 ppc64le s390x" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,5 +0,0 @@
|
|||
PURPOSE of /tools/binutils/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat
|
||||
Description: Test for BZ#1226864 (ld crashes on ppc64 when being used with --oformat)
|
||||
Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
Bug summary: ld crashes on ppc64 when being used with --oformat binary
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1226864
|
|
@ -1,3 +0,0 @@
|
|||
.org 0x100
|
||||
nop
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
summary: Test for BZ#1226864 (ld crashes on ppc64 when being used with --oformat)
|
||||
description: |
|
||||
Bug summary: ld crashes on ppc64 when being used with --oformat binary
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1226864
|
||||
contact: Milos Prchlik <mprchlik@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
- gcc
|
||||
duration: 15m
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1226864
|
||||
extra-summary: /tools/binutils/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat
|
||||
extra-task: /tools/binutils/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat
|
|
@ -1,79 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/binutils/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat
|
||||
# Description: Test for BZ#1226864 (ld crashes on ppc64 when being used with --oformat)
|
||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2015 Red Hat, Inc.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
LD="${LD:-$(which ld)}"
|
||||
GCC="${GCC:-$(which gcc)}"
|
||||
PACKAGE=$(rpm --qf '%{name}\n' -qf $(which $LD) | head -1)
|
||||
REQUIRES="${REQUIRES:-$(rpm --qf '%{name}\n' -qf $(which $GCC) | head -1)}"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlLogInfo "PACKAGES=$PACKAGES"
|
||||
rlLogInfo "REQUIRES=$REQUIRES"
|
||||
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
||||
rlLogInfo "GCC=$GCC"
|
||||
rlLogInfo "LD=$LD"
|
||||
|
||||
rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK"
|
||||
|
||||
# We optionally need to skip checking for the presence of the metapackage
|
||||
# because that would pull in all the dependent toolset subrpms. We do not
|
||||
# always want that, especially in CI.
|
||||
_COLLECTIONS="$COLLECTIONS"
|
||||
if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then
|
||||
for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do
|
||||
rlLogInfo "ignoring metapackage check for collection $c"
|
||||
export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/})
|
||||
done
|
||||
fi
|
||||
|
||||
rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS"
|
||||
|
||||
rlAssertRpm --all
|
||||
|
||||
export COLLECTIONS="$_COLLECTIONS"
|
||||
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "cp ldtest.S $TmpDir/"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlRun "gcc -c -o ldtest.o ldtest.S"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "ld --oformat=binary -o ldtest.bin ldtest.o"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,64 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /tools/binutils/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit
|
||||
# Description: Test for BZ#1243559 ([aarch64][binutils] relocation truncated to fit)
|
||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2016 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/tools/binutils/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE reproducer.c
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Milos Prchlik <mprchlik@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for BZ#1243559 ([aarch64][binutils] relocation truncated to fit)" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 15m" >> $(METADATA)
|
||||
@echo "RunFor: binutils" >> $(METADATA)
|
||||
@echo "Requires: binutils gcc" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2+" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 1243559" >> $(METADATA)
|
||||
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,5 +0,0 @@
|
|||
PURPOSE of /tools/binutils/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit
|
||||
Description: Test for BZ#1243559 ([aarch64][binutils] relocation truncated to fit)
|
||||
Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
Bug summary: [aarch64][binutils] relocation truncated to fit: R_AARCH64_CALL26 (veneers not inserted)
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1243559
|
|
@ -1,15 +0,0 @@
|
|||
summary: Test for BZ#1243559 ([aarch64][binutils] relocation truncated to fit)
|
||||
description: |
|
||||
Bug summary: [aarch64][binutils] relocation truncated to fit: R_AARCH64_CALL26 (veneers not inserted)
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1243559
|
||||
contact: Milos Prchlik <mprchlik@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
- gcc
|
||||
duration: 15m
|
||||
extra-summary: /tools/binutils/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit
|
||||
extra-task: /tools/binutils/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit
|
|
@ -1,2 +0,0 @@
|
|||
void foo ();
|
||||
int main () {foo();}
|
|
@ -1,74 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/binutils/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit
|
||||
# Description: Test for BZ#1243559 ([aarch64][binutils] relocation truncated to fit)
|
||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2016 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="binutils"
|
||||
PACKAGES="${PACKAGES:-binutils}"
|
||||
REQUIRES="${REQUIRES:-}"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlLogInfo "PACKAGES=$PACKAGES"
|
||||
rlLogInfo "REQUIRES=$REQUIRES"
|
||||
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
||||
|
||||
rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK"
|
||||
|
||||
# We optionally need to skip checking for the presence of the metapackage
|
||||
# because that would pull in all the dependent toolset subrpms. We do not
|
||||
# always want that, especially in CI.
|
||||
_COLLECTIONS="$COLLECTIONS"
|
||||
if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then
|
||||
for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do
|
||||
rlLogInfo "ignoring metapackage check for collection $c"
|
||||
export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/})
|
||||
done
|
||||
fi
|
||||
|
||||
rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS"
|
||||
|
||||
rlAssertRpm --all
|
||||
|
||||
export COLLECTIONS="$_COLLECTIONS"
|
||||
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "cp reproducer.c $TmpDir/"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "gcc -Wl,--defsym=foo=0x80000000 -o reproducer reproducer.c"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,66 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /tools/binutils/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto
|
||||
# Description: Test for BZ#1248929 (ar SEGFAULT when creating static library with lto)
|
||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2015 Red Hat, Inc.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/tools/binutils/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE a.cpp
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Milos Prchlik <mprchlik@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for BZ#1248929 (ar SEGFAULT when creating static library with lto)" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 15m" >> $(METADATA)
|
||||
@echo "RunFor: binutils" >> $(METADATA)
|
||||
@echo "Requires: binutils" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: yes" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 1248929" >> $(METADATA)
|
||||
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
|
||||
@echo "Architectures: x86_64" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,8 +0,0 @@
|
|||
PURPOSE of /tools/binutils/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto
|
||||
Description: Test for BZ#1248929 (ar SEGFAULT when creating static library with lto)
|
||||
Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
Bug summary: ar SEGFAULT when creating static library with lto
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1248929
|
||||
|
||||
Relevancy:
|
||||
collection = devtoolset-4: PACKAGES=devtoolset-4-binutils REQUIRES=devtoolset-4-gcc
|
|
@ -1,4 +0,0 @@
|
|||
int f()
|
||||
{
|
||||
return 0;
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
summary: Test for BZ#1248929 (ar SEGFAULT when creating static library with lto)
|
||||
description: |
|
||||
Bug summary: ar SEGFAULT when creating static library with lto
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1248929
|
||||
|
||||
Relevancy:
|
||||
collection = devtoolset-4: PACKAGES=devtoolset-4-binutils REQUIRES=devtoolset-4-gcc
|
||||
contact: Milos Prchlik <mprchlik@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
- gcc
|
||||
- gcc-c++
|
||||
duration: 15m
|
||||
extra-summary: /tools/binutils/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto
|
||||
extra-task: /tools/binutils/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto
|
|
@ -1,77 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/binutils/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto
|
||||
# Description: Test for BZ#1248929 (ar SEGFAULT when creating static library with lto)
|
||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2015 Red Hat, Inc.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
AR="${AR:-$(which ar)}"
|
||||
GPP="${GPP:-$(which g++)}"
|
||||
PACKAGES="${PACKAGES:-$(rpm --qf '%{name}\n' -qf $(which $AR) | head -1)}"
|
||||
REQUIRES="${REQUIRES:-$(rpm --qf '%{name}\n' -qf $(which $GPP) | head -1)}"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlLogInfo "AR=$AR"
|
||||
rlLogInfo "GPP=$GPP"
|
||||
rlLogInfo "PACKAGES=$PACKAGES"
|
||||
rlLogInfo "REQUIRES=$REQUIRES"
|
||||
rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK"
|
||||
|
||||
# We optionally need to skip checking for the presence of the metapackage
|
||||
# because that would pull in all the dependent toolset subrpms. We do not
|
||||
# always want that, especially in CI.
|
||||
_COLLECTIONS="$COLLECTIONS"
|
||||
if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then
|
||||
for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do
|
||||
rlLogInfo "ignoring metapackage check for collection $c"
|
||||
export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/})
|
||||
done
|
||||
fi
|
||||
|
||||
rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS"
|
||||
|
||||
rlAssertRpm --all
|
||||
|
||||
export COLLECTIONS="$_COLLECTIONS"
|
||||
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "cp a.cpp $TmpDir/"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "g++ -march=native -O3 -flto -c a.cpp"
|
||||
rlRun "gcc-ar cq a.a a.o"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,64 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /tools/binutils/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow
|
||||
# Description: Test for BZ#1311352 (objdump -S disassembly code doesn't follow)
|
||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2016 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/tools/binutils/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Milos Prchlik <mprchlik@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for BZ#1311352 (objdump -S disassembly code doesn't follow)" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 15m" >> $(METADATA)
|
||||
@echo "RunFor: binutils" >> $(METADATA)
|
||||
@echo "Requires: binutils strace nscd glibc-debuginfo" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2+" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 1311352" >> $(METADATA)
|
||||
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,5 +0,0 @@
|
|||
PURPOSE of /tools/binutils/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow
|
||||
Description: Test for BZ#1311352 (objdump -S disassembly code doesn't follow)
|
||||
Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
Bug summary: objdump -S disassembly code doesn't follow /usr/lib/debug/.... conventions, so can't find sources
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1311352
|
|
@ -1,16 +0,0 @@
|
|||
summary: Test for BZ#1311352 (objdump -S disassembly code doesn't follow)
|
||||
description: |
|
||||
Bug summary: objdump -S disassembly code doesn't follow /usr/lib/debug/.... conventions, so can't find sources
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1311352
|
||||
contact: Milos Prchlik <mprchlik@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
- strace
|
||||
- coreutils
|
||||
duration: 15m
|
||||
extra-summary: /tools/binutils/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow
|
||||
extra-task: /tools/binutils/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow
|
|
@ -1,86 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/binutils/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow
|
||||
# Description: Test for BZ#1311352 (objdump -S disassembly code doesn't follow)
|
||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2016 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
OBJDUMP="${OBJDUMP:-$(which objdump)}"
|
||||
PACKAGES="${PACKAGES:-$(rpm --qf '%{name}\n' -qf $(which $OBJDUMP) | head -1)}"
|
||||
REQUIRES="${REQUIRES:-}"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlLogInfo "OBJDUMP=$OBJDUMP"
|
||||
rlLogInfo "PACKAGES=$PACKAGES"
|
||||
rlLogInfo "REQUIRES=$REQUIRES"
|
||||
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
||||
rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK"
|
||||
rlRun "ARCH=$(arch)"
|
||||
|
||||
# We optionally need to skip checking for the presence of the metapackage
|
||||
# because that would pull in all the dependent toolset subrpms. We do not
|
||||
# always want that, especially in CI.
|
||||
_COLLECTIONS="$COLLECTIONS"
|
||||
if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then
|
||||
for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do
|
||||
rlLogInfo "ignoring metapackage check for collection $c"
|
||||
export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/})
|
||||
done
|
||||
fi
|
||||
|
||||
rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS"
|
||||
|
||||
for i in glibc coreutils; do
|
||||
rpm -q ${i}-debuginfo.${ARCH} &>/dev/null || rlRun "debuginfo-install -y ${i}.${ARCH}"
|
||||
done
|
||||
|
||||
rlAssertRpm --all
|
||||
|
||||
export COLLECTIONS="$_COLLECTIONS"
|
||||
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "strace -e trace=open,openat -o strace.out $OBJDUMP -drS /usr/bin/ls &> out"
|
||||
rlRun "grep '/usr/lib/debug' strace.out"
|
||||
|
||||
# Check whether objdump output contains source code snippets.
|
||||
# ls sources can change in time, but it's likely there always
|
||||
# will be at least one "int i;".
|
||||
rlRun "grep 'int i' out > /dev/null" 0 "Checking for source code snippets in objdump output"
|
||||
|
||||
rlLogInfo "$(head -n20 out)"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
|
@ -1,63 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /tools/binutils/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains
|
||||
# Description: Test for BZ#1366145 (dwz applied to a dts-compiled binary complains)
|
||||
# Author: Sergey Kolosov <skolosov@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2016 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/tools/binutils/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains
|
||||
export TESTVERSION=1.1
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Sergey Kolosov <skolosov@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for BZ#1366145 (dwz applied to a dts-compiled binary complains)" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 2h" >> $(METADATA)
|
||||
@echo "RunFor: binutils" >> $(METADATA)
|
||||
@echo "Requires: binutils dwz gcc" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2+" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 1366145" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
|
@ -1,18 +0,0 @@
|
|||
PURPOSE of /tools/binutils/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains
|
||||
Description: Test for BZ#1366145 (dwz applied to a dts-compiled binary complains)
|
||||
Author: Sergey Kolosov <skolosov@redhat.com>
|
||||
Bug summary: dwz applied to a dts-compiled binary complains about section offsets not monotonically increasing
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1366145
|
||||
|
||||
Needs a bit more complicated relevancy settings. DWZ is not available in RHEL-6 - unless
|
||||
you have DTS installed, then you can use (and test) dwz from devtoolset-N-dwz package.
|
||||
|
||||
# First two lines result in "True" when (RHEL6 && DTS).
|
||||
distro = rhel-6 && collection = devtoolset-6: REQUIRES="devtoolset-6-gcc devtoolset-6-dwz"
|
||||
distro = rhel-6 && collection = devtoolset-4: REQUIRES="devtoolset-4-gcc devtoolset-4-dwz"
|
||||
|
||||
# No DTS? No dwz then.
|
||||
distro = rhel-6: False
|
||||
|
||||
# Only RHEL7 remains, and default REQUIRES is good enough for logging. Drop every other distro.
|
||||
distro != rhel-7: False
|
|
@ -1,29 +0,0 @@
|
|||
summary: Test for BZ#1366145 (dwz applied to a dts-compiled binary complains)
|
||||
description: |
|
||||
Bug summary: dwz applied to a dts-compiled binary complains about section offsets not monotonically increasing
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1366145
|
||||
|
||||
Needs a bit more complicated relevancy settings. DWZ is not available in RHEL-6 - unless
|
||||
you have DTS installed, then you can use (and test) dwz from devtoolset-N-dwz package.
|
||||
|
||||
# First two lines result in "True" when (RHEL6 && DTS).
|
||||
distro = rhel-6 && collection = devtoolset-6: REQUIRES="devtoolset-6-gcc devtoolset-6-dwz"
|
||||
distro = rhel-6 && collection = devtoolset-4: REQUIRES="devtoolset-4-gcc devtoolset-4-dwz"
|
||||
|
||||
# No DTS? No dwz then.
|
||||
distro = rhel-6: False
|
||||
|
||||
# Only RHEL7 remains, and default REQUIRES is good enough for logging. Drop every other distro.
|
||||
distro != rhel-7: False
|
||||
contact: Sergey Kolosov <skolosov@redhat.com>
|
||||
component:
|
||||
- binutils
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- binutils
|
||||
- dwz
|
||||
- gcc
|
||||
duration: 2h
|
||||
extra-summary: /tools/binutils/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains
|
||||
extra-task: /tools/binutils/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains
|
|
@ -1,64 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/binutils/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains
|
||||
# Description: Test for BZ#1366145 (dwz applied to a dts-compiled binary complains)
|
||||
# Author: Sergey Kolosov <skolosov@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2016 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
LD="${LD:-$(which ld)}"
|
||||
PACKAGE=$(rpm --qf '%{name}\n' -qf $(which $LD) | head -1)
|
||||
PACKAGES=${PACKAGE}
|
||||
REQUIRES="${REQUIRES:-gcc dwz}"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlLogInfo "PACKAGES=$PACKAGES"
|
||||
rlLogInfo "REQUIRES=$REQUIRES"
|
||||
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
||||
rlLogInfo "LD=$LD"
|
||||
rlLogInfo "$(type gcc)"
|
||||
rlAssertRpm --all
|
||||
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "echo 'int main(void){return 0;}' > test.c" 0 "Generating simple source"
|
||||
rlRun "gcc test.c -g -o test"
|
||||
rlRun "md5sum ./test > t_before_dwz"
|
||||
rlRun "./test" 0 "Test binary is running"
|
||||
rlRun "dwz ./test" 0 "DWZ returns correct result"
|
||||
rlRun "md5sum ./test > t_after_dwz"
|
||||
rlAssertDiffer t_before_dwz t_after_dwz
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue