diff --git a/binutils-2.35-branch.diff.gz b/binutils-2.35-branch.diff.gz deleted file mode 100644 index e557b27..0000000 --- a/binutils-2.35-branch.diff.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:01c7187f646b3b55357f294e88df1ebd279565701333f4550adfac928a022a99 -size 66348 diff --git a/binutils-2.35.1.tar.bz2 b/binutils-2.35.1.tar.bz2 deleted file mode 100644 index ca84470..0000000 --- a/binutils-2.35.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:320e7a1d0f46fcd9f413f1046e216cbe23bb2bce6deb6c6a63304425e48b1942 -size 32892584 diff --git a/binutils-2.35.1.tar.bz2.sig b/binutils-2.35.1.tar.bz2.sig deleted file mode 100644 index 7bdc777..0000000 --- a/binutils-2.35.1.tar.bz2.sig +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEEOiS8Ho+0CfqfFDcYE/zvid2ePE8FAl9l4ecACgkQE/zvid2e -PE9fzxAAtvtjxNFBOH/h7B4T3G4emzdNeO3KAl0swPNpeL77FfXjQwLe2FQ02lcK -IIgzsatPIG0/ov9xuLnfPSHExKtUpM1rmY4qNs9qwBU52AOsAoyfi4wWSuQOPPn/ -5PXfk7hCoJNnSDVEd0IT8gDNEVvnjKvjF/NMcyqA9WAxX08Jo5GA5HOHmzyzQKXX -SW4rJJ4JmH1Wdz2MY9TedBxSzWmgkVe/HNk5ngtkaMpV79tC0YLdDUXKxZYmgra0 -zLDs6/A64bXYrIuFaC2I+ivcDB6lVkbicUf1uuHjYc0cen0o2FT9qz8qQxFJfg2h -bva3pAKRuFg7oy2lpRa6z8ioXBD8rOuSO9Ffvp4U/wZwOC+Kv+GyRe0VQXEH/EOX -nYo2dWeZqHii2+4aM0gNeDJpgSDrSb5/67MAr+Cchwi6W4IN+zn6ETRvnIj+G1Yg -TxHjLPzJ/46K5vmPrIcDr5mpioFoHkLOcGaeLgKfkBTco9faRBbcFwUTj1jDf6cd -kOVrpmI4KCx6w613PyHzieb6KW9vQcyUmV5OveultrgLFSav8XDN06WyXAKqsvqB -aMjheu/YO4U2fzq6+6fJVy8uO+kc1AKX3GzKJH5SzAZ1irNJsFqD++5vaZ7mpJ6g -DERQZWFIwzXXt4ImLADujQE+/7aClBsENzxiDqg1dAEg2ijLyJA= -=MLVz ------END PGP SIGNATURE----- diff --git a/binutils-2.36-branch.diff.gz b/binutils-2.36-branch.diff.gz new file mode 100644 index 0000000..8319b48 --- /dev/null +++ b/binutils-2.36-branch.diff.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:235d824e08c76ba1a254afa9114d2208a3406af8a16375232667b9e5e749d2f8 +size 11683 diff --git a/binutils-2.36.tar.bz2 b/binutils-2.36.tar.bz2 new file mode 100644 index 0000000..91a8356 --- /dev/null +++ b/binutils-2.36.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:209ef690dc7ac28ca592daf7e87d6289222a61fb96104dd5d5e016133ed38e8d +size 33688521 diff --git a/binutils-2.36.tar.bz2.sig b/binutils-2.36.tar.bz2.sig new file mode 100644 index 0000000..ae6a009 --- /dev/null +++ b/binutils-2.36.tar.bz2.sig @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEOiS8Ho+0CfqfFDcYE/zvid2ePE8FAmANVqwACgkQE/zvid2e +PE99sQ/+ILZXdxDA0n+8UO1tqPyL4dUzzG7laDE6GsGmYS+idh4LER4+xTXqhjC7 +WxFESk81QUcihLHfuZEkKDSuEQWPvPkMgc0Yg5hEC24im/qjSzTYjg53g+PRa/5y +2LOGEH4KIgB0UVPIPiMknNUsUo/lpTAo7yHAE9OFARjC5gpByzXkJKSgcOHq1H6o +eHiWAAdJOwxhb30KuPxisHmIhpsFQf9m/KjcdOzg5AUJqbRpwSQt0A/YrhTVkPLX +Xehbp6C1dAjybJ0qUjsNihugSC/ZloxjgzN1TEbzgkl+NXax265L8rsSWors7L8o +vE9alFmLwAtbAi93HZdzzoVLSEYhbJGgmzcbDMgGHXHgO1WEKKfh0vwHET+isaLU +sIa77DD8/aHC+VQBBM/JpUzgEcF3jZzkrq+meJiC43fCWsZl9NdkcN6FtA/CDsj9 +sm5ab/PxINztFRdzavnw9P64d9FT2vcSSqB/Dam0ogV+Ie06vUfFCljoznAfhipz +rzwrY11g23kKSHugaZTaeZIhT3RQbLJ4qRu2huwIUYi4oOmWm5SMQyHLkiW9iCeJ +yo8g8wpouLNFdic1bcU4QV2Nko3Tr88ZYeNXe7umaMX6a2LvKEA56/EDNGJ8KX6v +OfOXrk7lsmLizUXGhF0s1ZcZw1obXybEJFBq+F2Lj9Ht1ubQmgA= +=eOF0 +-----END PGP SIGNATURE----- diff --git a/binutils-fix-relax.diff b/binutils-fix-relax.diff new file mode 100644 index 0000000..b18580f --- /dev/null +++ b/binutils-fix-relax.diff @@ -0,0 +1,20 @@ +Fix for bsc#1179341 + +the movload->movconst relaxation can be done only with REX +rewriting, and hence needs a GOTPCRELX relocation. With old object +files we might still see GOTPCREL relocs, even with REX bytes available. +We still can't do such rewriting and hence need to stay with the old +rewriting into a lea. +diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c +index 549a8be6a6..b89b0023db 100644 +--- a/bfd/elf64-x86-64.c ++++ b/bfd/elf64-x86-64.c +@@ -1731,7 +1731,7 @@ elf_x86_64_convert_load_reloc (bfd *abfd, + + if (opcode == 0x8b) + { +- if (abs_symbol && local_ref && relocx) ++ if (abs_symbol && local_ref && relocx && rex) + to_reloc_pc32 = FALSE; + + if (to_reloc_pc32) diff --git a/binutils-revert-nm-symversion.diff b/binutils-revert-nm-symversion.diff index c0ba9d6..0070b6d 100644 --- a/binutils-revert-nm-symversion.diff +++ b/binutils-revert-nm-symversion.diff @@ -8,10 +8,10 @@ Index: binutils-2.35/binutils/nm.c =================================================================== --- binutils-2.35.orig/binutils/nm.c 2020-07-24 11:12:19.000000000 +0200 +++ binutils-2.35/binutils/nm.c 2020-08-07 16:42:58.000000000 +0200 -@@ -411,7 +411,7 @@ print_symname (const char *form, struct +@@ -418,7 +418,7 @@ print_symname (const char *form, struct extended_symbol_info *info, + name = alloc; } - printf (form, name); - if (info != NULL && info->elfinfo) + if (info != NULL && info->elfinfo && 0) { diff --git a/binutils-revert-plt32-in-branches.diff b/binutils-revert-plt32-in-branches.diff index 419fe9b..506f592 100644 --- a/binutils-revert-plt32-in-branches.diff +++ b/binutils-revert-plt32-in-branches.diff @@ -9,6 +9,7 @@ around somewhat. The changes in nop-[345].d and pr22842b.S are followups to not break the testsuite because of this revert. +As are the changes to x86-64-branch-2.d and x86-64-branch-3.d. commit bd7ab16b4537788ad53521c45469a1bdae84ad4a Author: H.J. Lu @@ -79,7 +80,7 @@ Date: Tue Feb 13 07:34:22 2018 -0800 * testsuite/ld-x86-64/x86-64.exp: Run PR ld/22791 tests. diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c -index 311fb28a..5f1f0ce5 100644 +index daae52b9537..5030cc6e121 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -1834,6 +1834,24 @@ elf_x86_64_convert_load_reloc (bfd *abfd, @@ -159,10 +160,10 @@ index 311fb28a..5f1f0ce5 100644 if (fail) diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c -index ed514cf9..2fad4505 100644 +index 9a2dfc92281..885ee85b999 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c -@@ -8472,52 +8472,12 @@ output_branch (void) +@@ -8605,52 +8605,12 @@ output_branch (void) frag_var (rs_machine_dependent, 5, i.reloc[0], subtype, sym, off, p); } @@ -215,7 +216,7 @@ index ed514cf9..2fad4505 100644 if (i.tm.opcode_modifier.jump == JUMP_BYTE) { -@@ -8585,17 +8545,8 @@ output_jump (void) +@@ -8724,17 +8684,8 @@ output_jump (void) abort (); } @@ -234,7 +235,7 @@ index ed514cf9..2fad4505 100644 /* All jumps handled here are signed, but don't use a signed limit check for 32 and 16 bit jumps as we want to allow wrap around at -@@ -11889,10 +11840,6 @@ md_estimate_size_before_relax (fragS *fragP, segT segment) +@@ -12085,10 +12036,6 @@ md_estimate_size_before_relax (fragS *fragP, segT segment) reloc_type = (enum bfd_reloc_code_real) fragP->fr_var; else if (size == 2) reloc_type = BFD_RELOC_16_PCREL; @@ -246,7 +247,7 @@ index ed514cf9..2fad4505 100644 reloc_type = BFD_RELOC_32_PCREL; diff --git a/gas/testsuite/gas/i386/ilp32/reloc64.d b/gas/testsuite/gas/i386/ilp32/reloc64.d -index 78ca3fd9..a9616797 100644 +index 78ca3fd9e38..a961679754a 100644 --- a/gas/testsuite/gas/i386/ilp32/reloc64.d +++ b/gas/testsuite/gas/i386/ilp32/reloc64.d @@ -17,7 +17,7 @@ Disassembly of section \.text: @@ -259,24 +260,24 @@ index 78ca3fd9..a9616797 100644 .*[ ]+R_X86_64_GOT32[ ]+xtrn .*[ ]+R_X86_64_GOT32[ ]+xtrn diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-branch.d b/gas/testsuite/gas/i386/ilp32/x86-64-branch.d -index 5bfa2a46..46b0f809 100644 +index acf8c42ca97..57845fdc208 100644 --- a/gas/testsuite/gas/i386/ilp32/x86-64-branch.d +++ b/gas/testsuite/gas/i386/ilp32/x86-64-branch.d @@ -20,9 +20,9 @@ Disassembly of section .text: - [ ]*[a-f0-9]+: 66 ff 20 data16 jmpq \*\(%rax\) - [ ]*[a-f0-9]+: e8 00 00 00 00 callq 0x1f 1b: R_X86_64_PC32 \*ABS\*\+0x10003c - [ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 0x24 20: R_X86_64_PC32 \*ABS\*\+0x10003c --[ ]*[a-f0-9]+: 66 e8 00 00 00 00 data16 callq 0x2a 26: R_X86_64_PLT32 foo-0x4 --[ ]*[a-f0-9]+: 66 e9 00 00 00 00 data16 jmpq 0x30 2c: R_X86_64_PLT32 foo-0x4 --[ ]*[a-f0-9]+: 66 0f 82 00 00 00 00 data16 jb 0x37 33: R_X86_64_PLT32 foo-0x4 -+[ ]*[a-f0-9]+: 66 e8 00 00 00 00 data16 callq 0x2a 26: R_X86_64_PC32 foo-0x4 -+[ ]*[a-f0-9]+: 66 e9 00 00 00 00 data16 jmpq 0x30 2c: R_X86_64_PC32 foo-0x4 -+[ ]*[a-f0-9]+: 66 0f 82 00 00 00 00 data16 jb 0x37 33: R_X86_64_PC32 foo-0x4 - [ ]*[a-f0-9]+: 66 c3 data16 retq * - [ ]*[a-f0-9]+: 66 c2 08 00 data16 retq \$0x8 - [ ]*[a-f0-9]+: ff d0 callq \*%rax + [ ]*[a-f0-9]+: 66 ff 20 data16 jmp \*\(%rax\) + [ ]*[a-f0-9]+: e8 00 00 00 00 call (0x)?1f <.*> 1b: R_X86_64_PC32 \*ABS\*\+0x10003c + [ ]*[a-f0-9]+: e9 00 00 00 00 jmp (0x)?24 <.*> 20: R_X86_64_PC32 \*ABS\*\+0x10003c +-[ ]*[a-f0-9]+: 66 e8 00 00 00 00 data16 call (0x)?2a <.*> 26: R_X86_64_PLT32 foo-0x4 +-[ ]*[a-f0-9]+: 66 e9 00 00 00 00 data16 jmp (0x)?30 <.*> 2c: R_X86_64_PLT32 foo-0x4 +-[ ]*[a-f0-9]+: 66 0f 82 00 00 00 00 data16 jb (0x)?37 <.*> 33: R_X86_64_PLT32 foo-0x4 ++[ ]*[a-f0-9]+: 66 e8 00 00 00 00 data16 call (0x)?2a <.*> 26: R_X86_64_PC32 foo-0x4 ++[ ]*[a-f0-9]+: 66 e9 00 00 00 00 data16 jmp (0x)?30 <.*> 2c: R_X86_64_PC32 foo-0x4 ++[ ]*[a-f0-9]+: 66 0f 82 00 00 00 00 data16 jb (0x)?37 <.*> 33: R_X86_64_PC32 foo-0x4 + [ ]*[a-f0-9]+: 66 c3 data16 ret * + [ ]*[a-f0-9]+: 66 c2 08 00 data16 ret \$0x8 + [ ]*[a-f0-9]+: 3e 74 03[ ]+je,pt +[0-9a-fx]+ <.*> diff --git a/gas/testsuite/gas/i386/reloc64.d b/gas/testsuite/gas/i386/reloc64.d -index 540a9b77..ea16c68d 100644 +index 540a9b77d35..ea16c68de4b 100644 --- a/gas/testsuite/gas/i386/reloc64.d +++ b/gas/testsuite/gas/i386/reloc64.d @@ -20,7 +20,7 @@ Disassembly of section \.text: @@ -288,121 +289,140 @@ index 540a9b77..ea16c68d 100644 .*[ ]+R_X86_64_PC8[ ]+xtrn-0x0*1 .*[ ]+R_X86_64_GOT64[ ]+xtrn .*[ ]+R_X86_64_GOT32[ ]+xtrn +diff --git a/gas/testsuite/gas/i386/x86-64-branch-2.d b/gas/testsuite/gas/i386/x86-64-branch-2.d +index fab75a6394c..e025de90b68 100644 +--- a/gas/testsuite/gas/i386/x86-64-branch-2.d ++++ b/gas/testsuite/gas/i386/x86-64-branch-2.d +@@ -9,12 +9,12 @@ Disassembly of section .text: + + 0+ : + [ ]*[a-f0-9]+: 66 e9 00 00 jmpw 4 2: R_X86_64_PC16 foo-0x2 +-[ ]*[a-f0-9]+: 66 48 e9 00 00 00 00 data16 rex\.W jmp b 7: R_X86_64_PLT32 foo-0x4 ++[ ]*[a-f0-9]+: 66 48 e9 00 00 00 00 data16 rex\.W jmp b 7: R_X86_64_PC32 foo-0x4 + + 0+b : + [ ]*[a-f0-9]+: 89 c3 mov %eax,%ebx + [ ]*[a-f0-9]+: 66 e8 00 00 callw 11 f: R_X86_64_PC16 foo-0x2 +-[ ]*[a-f0-9]+: 66 48 e8 00 00 00 00 data16 rex\.W call 18 14: R_X86_64_PLT32 foo-0x4 ++[ ]*[a-f0-9]+: 66 48 e8 00 00 00 00 data16 rex\.W call 18 14: R_X86_64_PC32 foo-0x4 + [ ]*[a-f0-9]+: 66 c3 retw * + [ ]*[a-f0-9]+: 66 c2 08 00 retw \$0x8 + #pass diff --git a/gas/testsuite/gas/i386/x86-64-jump.d b/gas/testsuite/gas/i386/x86-64-jump.d -index 1a1521d2..b898d7d5 100644 +index 7d2c994ce26..58ad424badb 100644 --- a/gas/testsuite/gas/i386/x86-64-jump.d +++ b/gas/testsuite/gas/i386/x86-64-jump.d @@ -9,7 +9,7 @@ Disassembly of section .text: 0+ <.text>: [ ]*[a-f0-9]+: eb fe jmp (0x0|0 <.text>) --[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 0x7 3: R_X86_64_PLT32 xxx-0x4 -+[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 0x7 3: R_X86_64_PC32 xxx-0x4 - [ ]*[a-f0-9]+: ff 24 25 00 00 00 00 jmpq \*0x0 a: R_X86_64_32S xxx - [ ]*[a-f0-9]+: ff e7 jmpq \*%rdi - [ ]*[a-f0-9]+: ff 27 jmpq \*\(%rdi\) +-[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 0x7 3: R_X86_64_PLT32 xxx-0x4 ++[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 0x7 3: R_X86_64_PC32 xxx-0x4 + [ ]*[a-f0-9]+: ff 24 25 00 00 00 00 jmp \*0x0 a: R_X86_64_32S xxx + [ ]*[a-f0-9]+: ff e7 jmp \*%rdi + [ ]*[a-f0-9]+: ff 27 jmp \*\(%rdi\) @@ -18,7 +18,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: ff 2c 25 00 00 00 00 ljmp \*0x0 24: R_X86_64_32S xxx [ ]*[a-f0-9]+: 66 ff 2c 25 00 00 00 00 ljmpw \*0x0 2c: R_X86_64_32S xxx - [ ]*[a-f0-9]+: e8 cb ff ff ff callq 0x0 --[ ]*[a-f0-9]+: e8 00 00 00 00 callq 0x3a 36: R_X86_64_PLT32 xxx-0x4 -+[ ]*[a-f0-9]+: e8 00 00 00 00 callq 0x3a 36: R_X86_64_PC32 xxx-0x4 - [ ]*[a-f0-9]+: ff 14 25 00 00 00 00 callq \*0x0 3d: R_X86_64_32S xxx - [ ]*[a-f0-9]+: ff d7 callq \*%rdi - [ ]*[a-f0-9]+: ff 17 callq \*\(%rdi\) + [ ]*[a-f0-9]+: e8 cb ff ff ff call 0x0 +-[ ]*[a-f0-9]+: e8 00 00 00 00 call 0x3a 36: R_X86_64_PLT32 xxx-0x4 ++[ ]*[a-f0-9]+: e8 00 00 00 00 call 0x3a 36: R_X86_64_PC32 xxx-0x4 + [ ]*[a-f0-9]+: ff 14 25 00 00 00 00 call \*0x0 3d: R_X86_64_32S xxx + [ ]*[a-f0-9]+: ff d7 call \*%rdi + [ ]*[a-f0-9]+: ff 17 call \*\(%rdi\) diff --git a/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d b/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d -index 03e96752..9d2ec05b 100644 +index 795f3fdacc4..1d692e8f04d 100644 --- a/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d +++ b/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d @@ -23,9 +23,9 @@ Disassembly of section .text: - [ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 34 + [ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd call 34 0+34 : --[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 3a 36: R_X86_64_PLT32 foo-0x4 +-[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmp 3a 36: R_X86_64_PLT32 foo-0x4 -[ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 41 3d: R_X86_64_PLT32 foo-0x4 --[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 47 43: R_X86_64_PLT32 foo-0x4 -+[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 3a 36: R_X86_64_PC32 foo-0x4 +-[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd call 47 43: R_X86_64_PLT32 foo-0x4 ++[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmp 3a 36: R_X86_64_PC32 foo-0x4 +[ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 41 3d: R_X86_64_PC32 foo-0x4 -+[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 47 43: R_X86_64_PC32 foo-0x4 - [ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 4d 49: R_X86_64_PLT32 foo-0x4 ++[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd call 47 43: R_X86_64_PC32 foo-0x4 + [ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmp 4d 49: R_X86_64_PLT32 foo-0x4 [ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 54 50: R_X86_64_PLT32 foo-0x4 - [ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 5a 56: R_X86_64_PLT32 foo-0x4 + [ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd call 5a 56: R_X86_64_PLT32 foo-0x4 diff --git a/gas/testsuite/gas/i386/x86-64-nop-3.d b/gas/testsuite/gas/i386/x86-64-nop-3.d -index 8514c4d0..617033a8 100644 +index 1975481cc59..436487b5a99 100644 --- a/gas/testsuite/gas/i386/x86-64-nop-3.d +++ b/gas/testsuite/gas/i386/x86-64-nop-3.d @@ -18,5 +18,5 @@ Disassembly of section .text: Disassembly of section .altinstr_replacement: 0+ <.altinstr_replacement>: -- +[a-f0-9]+: e9 00 00 00 00 jmpq 5 <_start\+0x5> 1: R_X86_64_PLT32 foo-0x4 -+ +[a-f0-9]+: e9 00 00 00 00 jmpq 5 <_start\+0x5> 1: R_X86_64_PC32 foo-0x4 +- +[a-f0-9]+: e9 00 00 00 00 jmp 5 <_start\+0x5> 1: R_X86_64_PLT32 foo-0x4 ++ +[a-f0-9]+: e9 00 00 00 00 jmp 5 <_start\+0x5> 1: R_X86_64_PC32 foo-0x4 #pass diff --git a/gas/testsuite/gas/i386/x86-64-nop-4.d b/gas/testsuite/gas/i386/x86-64-nop-4.d -index 7b696624..8610fc43 100644 +index 2da858db994..e390628b335 100644 --- a/gas/testsuite/gas/i386/x86-64-nop-4.d +++ b/gas/testsuite/gas/i386/x86-64-nop-4.d @@ -21,5 +21,5 @@ Disassembly of section .altinstr_replacement: +[a-f0-9]+: 89 c0 mov %eax,%eax +[a-f0-9]+: 89 c0 mov %eax,%eax +[a-f0-9]+: 89 c0 mov %eax,%eax -- +[a-f0-9]+: e9 00 00 00 00 jmpq b <_start\+0xb> 7: R_X86_64_PLT32 foo-0x4 -+ +[a-f0-9]+: e9 00 00 00 00 jmpq b <_start\+0xb> 7: R_X86_64_PC32 foo-0x4 +- +[a-f0-9]+: e9 00 00 00 00 jmp b <_start\+0xb> 7: R_X86_64_PLT32 foo-0x4 ++ +[a-f0-9]+: e9 00 00 00 00 jmp b <_start\+0xb> 7: R_X86_64_PC32 foo-0x4 #pass diff --git a/gas/testsuite/gas/i386/x86-64-nop-5.d b/gas/testsuite/gas/i386/x86-64-nop-5.d -index b0b7854f..333263bd 100644 +index d5c84c1edf8..69820d54de8 100644 --- a/gas/testsuite/gas/i386/x86-64-nop-5.d +++ b/gas/testsuite/gas/i386/x86-64-nop-5.d @@ -24,5 +24,5 @@ Disassembly of section .altinstr_replacement: +[a-f0-9]+: 89 c0 mov %eax,%eax +[a-f0-9]+: 89 c0 mov %eax,%eax +[a-f0-9]+: 89 c0 mov %eax,%eax -- +[a-f0-9]+: e9 00 00 00 00 jmpq d <_start\+0xd> 9: R_X86_64_PLT32 foo-0x4 -+ +[a-f0-9]+: e9 00 00 00 00 jmpq d <_start\+0xd> 9: R_X86_64_PC32 foo-0x4 +- +[a-f0-9]+: e9 00 00 00 00 jmp d <_start\+0xd> 9: R_X86_64_PLT32 foo-0x4 ++ +[a-f0-9]+: e9 00 00 00 00 jmp d <_start\+0xd> 9: R_X86_64_PC32 foo-0x4 #pass diff --git a/gas/testsuite/gas/i386/x86-64-relax-2.d b/gas/testsuite/gas/i386/x86-64-relax-2.d -index 8f432dff..6c765188 100644 +index fba47c14850..0949ab23907 100644 --- a/gas/testsuite/gas/i386/x86-64-relax-2.d +++ b/gas/testsuite/gas/i386/x86-64-relax-2.d @@ -11,12 +11,12 @@ Disassembly of section .text: 0+ : [ ]*[a-f0-9]+: eb 24 jmp 26 [ ]*[a-f0-9]+: eb 1e jmp 22 --[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 9 5: R_X86_64_PLT32 global_def-0x4 -+[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 9 5: R_X86_64_PC32 global_def-0x4 - [ ]*[a-f0-9]+: e9 00 00 00 00 jmpq e a: R_X86_64_PLT32 global_def-0x4 --[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 13 f: R_X86_64_PLT32 weak_def-0x4 --[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 18 14: R_X86_64_PLT32 weak_hidden_undef-0x4 --[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 1d 19: R_X86_64_PLT32 weak_hidden_def-0x4 --[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 22 1e: R_X86_64_PLT32 hidden_undef-0x4 -+[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 13 f: R_X86_64_PC32 weak_def-0x4 -+[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 18 14: R_X86_64_PC32 weak_hidden_undef-0x4 -+[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 1d 19: R_X86_64_PC32 weak_hidden_def-0x4 -+[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 22 1e: R_X86_64_PC32 hidden_undef-0x4 +-[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 9 5: R_X86_64_PLT32 global_def-0x4 ++[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 9 5: R_X86_64_PC32 global_def-0x4 + [ ]*[a-f0-9]+: e9 00 00 00 00 jmp e a: R_X86_64_PLT32 global_def-0x4 +-[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 13 f: R_X86_64_PLT32 weak_def-0x4 +-[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 18 14: R_X86_64_PLT32 weak_hidden_undef-0x4 +-[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 1d 19: R_X86_64_PLT32 weak_hidden_def-0x4 +-[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 22 1e: R_X86_64_PLT32 hidden_undef-0x4 ++[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 13 f: R_X86_64_PC32 weak_def-0x4 ++[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 18 14: R_X86_64_PC32 weak_hidden_undef-0x4 ++[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 1d 19: R_X86_64_PC32 weak_hidden_def-0x4 ++[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 22 1e: R_X86_64_PC32 hidden_undef-0x4 0+22 : - [ ]*[a-f0-9]+: c3 retq + [ ]*[a-f0-9]+: c3 ret * diff --git a/gas/testsuite/gas/i386/x86-64-relax-3.d b/gas/testsuite/gas/i386/x86-64-relax-3.d -index bb605081..f1ffdb89 100644 +index 01df9ef340e..d16e6a55395 100644 --- a/gas/testsuite/gas/i386/x86-64-relax-3.d +++ b/gas/testsuite/gas/i386/x86-64-relax-3.d @@ -12,10 +12,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: eb 1b jmp 1f [ ]*[a-f0-9]+: eb 1b jmp 21 - [ ]*[a-f0-9]+: e9 00 00 00 00 jmpq b 7: R_X86_64_PLT32 global_def-0x4 --[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 10 c: R_X86_64_PLT32 weak_def-0x4 --[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 15 11: R_X86_64_PLT32 weak_hidden_undef-0x4 --[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 1a 16: R_X86_64_PLT32 weak_hidden_def-0x4 --[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 1f 1b: R_X86_64_PLT32 hidden_undef-0x4 -+[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 10 c: R_X86_64_PC32 weak_def-0x4 -+[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 15 11: R_X86_64_PC32 weak_hidden_undef-0x4 -+[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 1a 16: R_X86_64_PC32 weak_hidden_def-0x4 -+[ ]*[a-f0-9]+: e9 00 00 00 00 jmpq 1f 1b: R_X86_64_PC32 hidden_undef-0x4 + [ ]*[a-f0-9]+: e9 00 00 00 00 jmp b 7: R_X86_64_PLT32 global_def-0x4 +-[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 10 c: R_X86_64_PLT32 weak_def-0x4 +-[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 15 11: R_X86_64_PLT32 weak_hidden_undef-0x4 +-[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 1a 16: R_X86_64_PLT32 weak_hidden_def-0x4 +-[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 1f 1b: R_X86_64_PLT32 hidden_undef-0x4 ++[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 10 c: R_X86_64_PC32 weak_def-0x4 ++[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 15 11: R_X86_64_PC32 weak_hidden_undef-0x4 ++[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 1a 16: R_X86_64_PC32 weak_hidden_def-0x4 ++[ ]*[a-f0-9]+: e9 00 00 00 00 jmp 1f 1b: R_X86_64_PC32 hidden_undef-0x4 0+1f : - [ ]*[a-f0-9]+: c3 retq + [ ]*[a-f0-9]+: c3 ret * diff --git a/ld/testsuite/ld-x86-64/mpx1c.rd b/ld/testsuite/ld-x86-64/mpx1c.rd -index d66524c8..d3b292cb 100644 +index d66524c8834..d3b292cbdc1 100644 --- a/ld/testsuite/ld-x86-64/mpx1c.rd +++ b/ld/testsuite/ld-x86-64/mpx1c.rd @@ -1,3 +1,3 @@ @@ -412,7 +432,7 @@ index d66524c8..d3b292cb 100644 #... diff --git a/ld/testsuite/ld-x86-64/pr22791-1.err b/ld/testsuite/ld-x86-64/pr22791-1.err deleted file mode 100644 -index 8c556599..00000000 +index 8c5565992e7..00000000000 --- a/ld/testsuite/ld-x86-64/pr22791-1.err +++ /dev/null @@ -1,2 +0,0 @@ @@ -420,7 +440,7 @@ index 8c556599..00000000 -#... diff --git a/ld/testsuite/ld-x86-64/pr22791-1a.c b/ld/testsuite/ld-x86-64/pr22791-1a.c deleted file mode 100644 -index cd0130ca..00000000 +index cd0130cacdf..00000000000 --- a/ld/testsuite/ld-x86-64/pr22791-1a.c +++ /dev/null @@ -1,4 +0,0 @@ @@ -430,7 +450,7 @@ index cd0130ca..00000000 -} diff --git a/ld/testsuite/ld-x86-64/pr22791-1b.s b/ld/testsuite/ld-x86-64/pr22791-1b.s deleted file mode 100644 -index 9751db49..00000000 +index 9751db49aa5..00000000000 --- a/ld/testsuite/ld-x86-64/pr22791-1b.s +++ /dev/null @@ -1,6 +0,0 @@ @@ -442,7 +462,7 @@ index 9751db49..00000000 - .size main, .-main diff --git a/ld/testsuite/ld-x86-64/pr22791-2.rd b/ld/testsuite/ld-x86-64/pr22791-2.rd deleted file mode 100644 -index 70deb30d..00000000 +index 70deb30d84d..00000000000 --- a/ld/testsuite/ld-x86-64/pr22791-2.rd +++ /dev/null @@ -1,6 +0,0 @@ @@ -454,7 +474,7 @@ index 70deb30d..00000000 -#... diff --git a/ld/testsuite/ld-x86-64/pr22791-2a.s b/ld/testsuite/ld-x86-64/pr22791-2a.s deleted file mode 100644 -index 0a855024..00000000 +index 0a855024d74..00000000000 --- a/ld/testsuite/ld-x86-64/pr22791-2a.s +++ /dev/null @@ -1,8 +0,0 @@ @@ -468,7 +488,7 @@ index 0a855024..00000000 - .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-x86-64/pr22791-2b.c b/ld/testsuite/ld-x86-64/pr22791-2b.c deleted file mode 100644 -index 79ef27c0..00000000 +index 79ef27c0857..00000000000 --- a/ld/testsuite/ld-x86-64/pr22791-2b.c +++ /dev/null @@ -1,7 +0,0 @@ @@ -481,7 +501,7 @@ index 79ef27c0..00000000 -} diff --git a/ld/testsuite/ld-x86-64/pr22791-2c.s b/ld/testsuite/ld-x86-64/pr22791-2c.s deleted file mode 100644 -index 1460d1b8..00000000 +index 1460d1b8288..00000000000 --- a/ld/testsuite/ld-x86-64/pr22791-2c.s +++ /dev/null @@ -1,12 +0,0 @@ @@ -498,7 +518,7 @@ index 1460d1b8..00000000 - .size main, .-main - .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-x86-64/pr22842b.S b/ld/testsuite/ld-x86-64/pr22842b.S -index f0659cd9..b9dd8134 100644 +index f0659cd901e..b9dd81345b7 100644 --- a/ld/testsuite/ld-x86-64/pr22842b.S +++ b/ld/testsuite/ld-x86-64/pr22842b.S @@ -7,7 +7,7 @@ main: @@ -511,10 +531,10 @@ index f0659cd9..b9dd8134 100644 popq %rcx retq diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp -index d836f334..b8a7de1f 100644 +index 83fdaa7db65..a3bb1e9ebd6 100644 --- a/ld/testsuite/ld-x86-64/x86-64.exp +++ b/ld/testsuite/ld-x86-64/x86-64.exp -@@ -1214,44 +1214,6 @@ if { [isnative] && [check_compiler_available] } { +@@ -1250,44 +1250,6 @@ if { [isnative] && [check_compiler_available] } { {readelf -lW pr22393-3b.rd}} \ "pr22393-3-static" \ ] \ @@ -559,7 +579,7 @@ index d836f334..b8a7de1f 100644 [list \ "Build pr22842.so" \ "-shared" \ -@@ -1700,15 +1662,6 @@ if { [isnative] && [check_compiler_available] } { +@@ -1752,15 +1714,6 @@ if { [isnative] && [check_compiler_available] } { "pr22393-3-static" \ "pass.out" \ ] \ diff --git a/binutils.changes b/binutils.changes index 963439a..63df271 100644 --- a/binutils.changes +++ b/binutils.changes @@ -1,3 +1,126 @@ +------------------------------------------------------------------- +Thu Feb 4 08:40:53 UTC 2021 - Martin Liška + +- Bump 2.36 branch diff. + +------------------------------------------------------------------- +Wed Feb 3 08:39:37 UTC 2021 - Martin Liška + +- Update 2.36 branch diff which should fix PR27311 completely. + It fixes also PR27284. +- Remove temporary fix 0001-PR27311-ld.bfd-symbol-from-plugin-undefined-referenc.patch. + +------------------------------------------------------------------- +Tue Feb 2 13:07:22 UTC 2021 - Martin Liška + +- Add temporary upstream fix for PR27311 + 0001-PR27311-ld.bfd-symbol-from-plugin-undefined-referenc.patch. + +------------------------------------------------------------------- +Sun Jan 24 16:56:39 UTC 2021 - Martin Liška + +- Update to binutils 2.36: + New features in the Assembler: + General: + * When setting the link order attribute of ELF sections, it is now + possible to use a numeric section index instead of symbol name. + * Added a .nop directive to generate a single no-op instruction in + a target neutral manner. This instruction does have an effect on + DWARF line number generation, if that is active. + * Removed --reduce-memory-overheads and --hash-size as gas now + uses hash tables that can be expand and shrink automatically. + X86/x86_64: + * Add support for AVX VNNI, HRESET, UINTR, TDX, AMX and Key + Locker instructions. + * Support non-absolute segment values for lcall and ljmp. + * Add {disp16} pseudo prefix to x86 assembler. + * Configure with --enable-x86-used-note by default for Linux/x86. + ARM/AArch64: + * Add support for Cortex-A78, Cortex-A78AE and Cortex-X1, + Cortex-R82, Neoverse V1, and Neoverse N2 cores. + * Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded + Trace Extension), TRBE (Trace Buffer Extension), CSRE (Call + Stack Recorder Extension) and BRBE (Branch Record Buffer + Extension) system registers. + * Add support for Armv8-R and Armv8.7-A ISA extensions. + * Add support for DSB memory nXS barrier, WFET and WFIT + instruction for Armv8.7. + * Add support for +csre feature for -march. Add CSR PDEC + instruction for CSRE feature in AArch64. + * Add support for +flagm feature for -march in Armv8.4 AArch64. + * Add support for +ls64 feature for -march in Armv8.7 + AArch64. Add atomic 64-byte load/store instructions for this + feature. + * Add support for +pauth (Pointer Authentication) feature for + -march in AArch64. + New features in the Linker: + * Add --error-handling-script= command line option to allow + a helper script to be invoked when an undefined symbol or a + missing library is encountered. This option can be suppressed + via the configure time switch: --enable-error-handling-script=no. + * Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark + x86-64-{baseline|v[234]} ISA level as needed. + * Add -z unique-symbol to avoid duplicated local symbol names. + * The creation of PE format DLLs now defaults to using a more + secure set of DLL characteristics. + * The linker now deduplicates the types in .ctf sections. The new + command-line option --ctf-share-types describes how to do this: + its default value, share-unconflicted, produces the most compact + output. + * The linker now omits the "variable section" from .ctf sections + by default, saving space. This is almost certainly what you + want unless you are working on a project that has its own + analogue of symbol tables that are not reflected in the ELF + symtabs. + New features in other binary tools: + * The ar tool's previously unused l modifier is now used for + specifying dependencies of a static library. The arguments of + this option (or --record-libdeps long form option) will be + stored verbatim in the __.LIBDEP member of the archive, which + the linker may read at link time. + * Readelf can now display the contents of LTO symbol table + sections when asked to do so via the --lto-syms command line + option. + * Readelf now accepts the -C command line option to enable the + demangling of symbol names. In addition the --demangle=