diff --git a/binutils-2.26-Bsymbolic_PIE.patch b/binutils-2.26-Bsymbolic_PIE.patch deleted file mode 100644 index 552056a..0000000 --- a/binutils-2.26-Bsymbolic_PIE.patch +++ /dev/null @@ -1,146 +0,0 @@ -diff -upr binutils-2.26.orig/ld/ld.texinfo binutils-2.26/ld/ld.texinfo ---- binutils-2.26.orig/ld/ld.texinfo 2016-02-16 10:45:43.245336561 +0000 -+++ binutils-2.26/ld/ld.texinfo 2016-02-16 10:47:04.670763451 +0000 -@@ -1325,15 +1325,21 @@ libraries. - When creating a shared library, bind references to global symbols to the - definition within the shared library, if any. Normally, it is possible - for a program linked against a shared library to override the definition --within the shared library. This option is only meaningful on ELF --platforms which support shared libraries. -+within the shared library. This option can also be used with the -+@option{--export-dynamic} option, when creating a position independent -+executable, to bind references to global symbols to the definition within -+the executable. This option is only meaningful on ELF platforms which -+support shared libraries and position independent executables. - - @kindex -Bsymbolic-functions - @item -Bsymbolic-functions - When creating a shared library, bind references to global function - symbols to the definition within the shared library, if any. -+This option can also be used with the @option{--export-dynamic} option, -+when creating a position independent executable, to bind references -+to global function symbols to the definition within the executable. - This option is only meaningful on ELF platforms which support shared --libraries. -+libraries and position independent executables. - - @kindex --dynamic-list=@var{dynamic-list-file} - @item --dynamic-list=@var{dynamic-list-file} -diff -upr binutils-2.26.orig/ld/lexsup.c binutils-2.26/ld/lexsup.c ---- binutils-2.26.orig/ld/lexsup.c 2016-02-16 10:45:43.246336567 +0000 -+++ binutils-2.26/ld/lexsup.c 2016-02-16 10:47:04.671763456 +0000 -@@ -1586,15 +1586,14 @@ parse_args (unsigned argc, char **argv) - /* We may have -Bsymbolic, -Bsymbolic-functions, --dynamic-list-data, - --dynamic-list-cpp-new, --dynamic-list-cpp-typeinfo and - --dynamic-list FILE. -Bsymbolic and -Bsymbolic-functions are -- for shared libraries. -Bsymbolic overrides all others and vice -- versa. */ -+ for PIC outputs. -Bsymbolic overrides all others and vice versa. */ - switch (command_line.symbolic) - { - case symbolic_unset: - break; - case symbolic: -- /* -Bsymbolic is for shared library only. */ -- if (bfd_link_dll (&link_info)) -+ /* -Bsymbolic is for PIC output only. */ -+ if (bfd_link_pic (&link_info)) - { - link_info.symbolic = TRUE; - /* Should we free the unused memory? */ -@@ -1603,8 +1602,8 @@ parse_args (unsigned argc, char **argv) - } - break; - case symbolic_functions: -- /* -Bsymbolic-functions is for shared library only. */ -- if (bfd_link_dll (&link_info)) -+ /* -Bsymbolic-functions is for PIC output only. */ -+ if (bfd_link_pic (&link_info)) - command_line.dynamic_list = dynamic_list_data; - break; - } -diff -upr binutils-2.26.orig/ld/testsuite/ld-i386/i386.exp binutils-2.26/ld/testsuite/ld-i386/i386.exp ---- binutils-2.26.orig/ld/testsuite/ld-i386/i386.exp 2016-02-16 10:45:43.319336949 +0000 -+++ binutils-2.26/ld/testsuite/ld-i386/i386.exp 2016-02-16 10:47:04.672763461 +0000 -@@ -319,6 +319,7 @@ run_dump_test "load5a" - run_dump_test "load5b" - run_dump_test "load6" - run_dump_test "pr19175" -+run_dump_test "pr19615" - - if { !([istarget "i?86-*-linux*"] - || [istarget "i?86-*-gnu*"] ---- /dev/null 2016-02-16 08:27:18.513962320 +0000 -+++ binutils-2.26/ld/testsuite/ld-i386/pr19615.s 2016-02-16 10:56:11.886632341 +0000 -@@ -0,0 +1,13 @@ -+ .text -+ .globl _start -+ .type _start, @function -+_start: -+ ret -+ -+ .globl xyzzy /* This symbol should be exported */ -+ .type xyzzy, @function -+xyzzy: -+ ret -+ -+ .section ".xyzzy_ptr","aw",%progbits -+ .dc.a xyzzy ---- /dev/null 2016-02-16 08:27:18.513962320 +0000 -+++ binutils-2.26/ld/testsuite/ld-i386/pr19615.d 2016-02-16 10:56:11.886632341 +0000 -@@ -0,0 +1,13 @@ -+#as: --32 -+#ld: -pie -Bsymbolic -E -melf_i386 -+#readelf: -r --wide --dyn-syms -+ -+Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entries: -+ Offset Info Type Sym. Value Symbol's Name -+[0-9a-f]+ +[0-9a-f]+ +R_386_RELATIVE + -+ -+Symbol table '.dynsym' contains [0-9]+ entries: -+ Num: Value Size Type Bind Vis Ndx Name -+#... -+[ ]*[a-f0-9]+: [a-f0-9]+ 0 FUNC GLOBAL DEFAULT [a-f0-9]+ xyzzy -+#... ---- /dev/null 2016-02-16 08:27:18.513962320 +0000 -+++ binutils-2.26/ld/testsuite/ld-x86-64/pr19615.s 2016-02-16 10:57:55.386174958 +0000 -@@ -0,0 +1,13 @@ -+ .text -+ .globl _start -+ .type _start, @function -+_start: -+ ret -+ -+ .globl xyzzy /* This symbol should be exported */ -+ .type xyzzy, @function -+xyzzy: -+ ret -+ -+ .section ".xyzzy_ptr","aw",%progbits -+ .dc.a xyzzy ---- /dev/null 2016-02-16 08:27:18.513962320 +0000 -+++ binutils-2.26/ld/testsuite/ld-x86-64/pr19615.d 2016-02-16 10:57:55.386174958 +0000 -@@ -0,0 +1,13 @@ -+#as: --64 -+#ld: -pie -Bsymbolic -E -melf_x86_64 -+#readelf: -r --wide --dyn-syms -+ -+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: -+ Offset Info Type Symbol's Value Symbol's Name \+ Addend -+[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9]+ -+ -+Symbol table '.dynsym' contains [0-9]+ entries: -+ Num: Value Size Type Bind Vis Ndx Name -+#... -+[ ]*[a-f0-9]+: [a-f0-9]+ 0 FUNC GLOBAL DEFAULT [a-f0-9]+ xyzzy -+#... ---- binutils-2.26.orig/ld/testsuite/ld-x86-64/x86-64.exp 2016-02-16 10:45:43.443337600 +0000 -+++ binutils-2.26/ld/testsuite/ld-x86-64/x86-64.exp 2016-02-16 11:01:02.418162157 +0000 -@@ -353,6 +353,7 @@ run_dump_test "pr19013-x32" - run_dump_test "pr19013-nacl" - run_dump_test "pr19162" - run_dump_test "pr19175" -+run_dump_test "pr19615" - - # Add $PLT_CFLAGS if PLT is expected. - global PLT_CFLAGS diff --git a/binutils-2.26-common-definitions.patch b/binutils-2.26-common-definitions.patch deleted file mode 100644 index a26e184..0000000 --- a/binutils-2.26-common-definitions.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- binutils-2.26.orig/bfd/elflink.c 2016-03-14 17:11:13.628349614 +0000 -+++ binutils-2.26/bfd/elflink.c 2016-03-14 17:20:56.512569366 +0000 -@@ -1485,13 +1485,16 @@ _bfd_elf_merge_symbol (bfd *abfd, - represent variables; this can cause confusion in principle, but - any such confusion would seem to indicate an erroneous program or - shared library. We also permit a common symbol in a regular -- object to override a weak symbol in a shared object. */ -+ object to override a weak symbol in a shared object. A common -+ symbol in executable also overrides a symbol in a shared object. */ - - if (newdyn - && newdef - && (olddef - || (h->root.type == bfd_link_hash_common -- && (newweak || newfunc)))) -+ && (newweak -+ || newfunc -+ || (!olddyn && bfd_link_executable (info)))))) - { - *override = TRUE; - newdef = FALSE; diff --git a/binutils-2.26-fix-GOT-offset-calculation.patch b/binutils-2.26-fix-GOT-offset-calculation.patch deleted file mode 100644 index 99e8b70..0000000 --- a/binutils-2.26-fix-GOT-offset-calculation.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- binutils-2.26.orig/bfd/elf32-i386.c 2016-02-29 15:47:45.172597805 +0000 -+++ binutils-2.26/bfd/elf32-i386.c 2016-02-29 15:48:42.161904973 +0000 -@@ -4016,10 +4016,12 @@ elf_i386_relocate_section (bfd *output_b - - /* It is relative to .got.plt section. */ - if (h->got.offset != (bfd_vma) -1) -- /* Use GOT entry. */ -+ /* Use GOT entry. Mask off the least significant bit in -+ GOT offset which may be set by R_386_GOT32 processing -+ below. */ - relocation = (htab->elf.sgot->output_section->vma - + htab->elf.sgot->output_offset -- + h->got.offset - offplt); -+ + (h->got.offset & ~1) - offplt); - else - /* Use GOTPLT entry. */ - relocation = (h->plt.offset / plt_entry_size - 1 + 3) * 4; diff --git a/binutils-2.26-formatting.patch b/binutils-2.26-formatting.patch index 0eadb0c..83677d6 100644 --- a/binutils-2.26-formatting.patch +++ b/binutils-2.26-formatting.patch @@ -1,190 +1,3 @@ ---- ../binutils-2.26.orig/bfd/coff-i386.c 2016-02-04 10:31:44.684793142 +0000 -+++ bfd/coff-i386.c 2016-02-04 10:32:02.106891045 +0000 -@@ -139,41 +139,41 @@ coff_i386_reloc (bfd *abfd, - #define DOIT(x) \ - x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & howto->dst_mask)) - -- if (diff != 0) -- { -- reloc_howto_type *howto = reloc_entry->howto; -- unsigned char *addr = (unsigned char *) data + reloc_entry->address; -+ if (diff != 0) -+ { -+ reloc_howto_type *howto = reloc_entry->howto; -+ unsigned char *addr = (unsigned char *) data + reloc_entry->address; -+ -+ switch (howto->size) -+ { -+ case 0: -+ { -+ char x = bfd_get_8 (abfd, addr); -+ DOIT (x); -+ bfd_put_8 (abfd, x, addr); -+ } -+ break; - -- switch (howto->size) -+ case 1: - { -- case 0: -- { -- char x = bfd_get_8 (abfd, addr); -- DOIT (x); -- bfd_put_8 (abfd, x, addr); -- } -- break; -- -- case 1: -- { -- short x = bfd_get_16 (abfd, addr); -- DOIT (x); -- bfd_put_16 (abfd, (bfd_vma) x, addr); -- } -- break; -- -- case 2: -- { -- long x = bfd_get_32 (abfd, addr); -- DOIT (x); -- bfd_put_32 (abfd, (bfd_vma) x, addr); -- } -- break; -+ short x = bfd_get_16 (abfd, addr); -+ DOIT (x); -+ bfd_put_16 (abfd, (bfd_vma) x, addr); -+ } -+ break; - -- default: -- abort (); -+ case 2: -+ { -+ long x = bfd_get_32 (abfd, addr); -+ DOIT (x); -+ bfd_put_32 (abfd, (bfd_vma) x, addr); - } -- } -+ break; -+ -+ default: -+ abort (); -+ } -+ } - - /* Now let bfd_perform_relocation finish everything up. */ - return bfd_reloc_continue; ---- ../binutils-2.26.orig/bfd/coff-x86_64.c 2016-02-04 10:31:44.686793153 +0000 -+++ bfd/coff-x86_64.c 2016-02-04 10:33:02.044227862 +0000 -@@ -138,59 +138,61 @@ coff_amd64_reloc (bfd *abfd, - #define DOIT(x) \ - x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & howto->dst_mask)) - -- if (diff != 0) -- { -- reloc_howto_type *howto = reloc_entry->howto; -- unsigned char *addr = (unsigned char *) data + reloc_entry->address; -- -- /* FIXME: We do not have an end address for data, so we cannot -- accurately range check any addresses computed against it. -- cf: PR binutils/17512: file: 1085-1761-0.004. -- For now we do the best that we can. */ -- if (addr < (unsigned char *) data || addr > ((unsigned char *) data) + input_section->size) -+ if (diff != 0) -+ { -+ reloc_howto_type *howto = reloc_entry->howto; -+ unsigned char *addr = (unsigned char *) data + reloc_entry->address; -+ -+ /* FIXME: We do not have an end address for data, so we cannot -+ accurately range check any addresses computed against it. -+ cf: PR binutils/17512: file: 1085-1761-0.004. -+ For now we do the best that we can. */ -+ if (addr < (unsigned char *) data -+ || addr > ((unsigned char *) data) + input_section->size) -+ { -+ bfd_set_error (bfd_error_bad_value); -+ return bfd_reloc_notsupported; -+ } -+ -+ switch (howto->size) -+ { -+ case 0: - { -- bfd_set_error (bfd_error_bad_value); -- return bfd_reloc_notsupported; -+ char x = bfd_get_8 (abfd, addr); -+ DOIT (x); -+ bfd_put_8 (abfd, x, addr); - } -+ break; - -- switch (howto->size) -+ case 1: - { -- case 0: -- { -- char x = bfd_get_8 (abfd, addr); -- DOIT (x); -- bfd_put_8 (abfd, x, addr); -- } -- break; -- -- case 1: -- { -- short x = bfd_get_16 (abfd, addr); -- DOIT (x); -- bfd_put_16 (abfd, (bfd_vma) x, addr); -- } -- break; -- -- case 2: -- { -- long x = bfd_get_32 (abfd, addr); -- DOIT (x); -- bfd_put_32 (abfd, (bfd_vma) x, addr); -- } -- break; -- case 4: -- { -- long long x = bfd_get_64 (abfd, addr); -- DOIT (x); -- bfd_put_64 (abfd, (bfd_vma) x, addr); -- } -- break; -- -- default: -- bfd_set_error (bfd_error_bad_value); -- return bfd_reloc_notsupported; -+ short x = bfd_get_16 (abfd, addr); -+ DOIT (x); -+ bfd_put_16 (abfd, (bfd_vma) x, addr); - } -- } -+ break; -+ -+ case 2: -+ { -+ long x = bfd_get_32 (abfd, addr); -+ DOIT (x); -+ bfd_put_32 (abfd, (bfd_vma) x, addr); -+ } -+ break; -+ -+ case 4: -+ { -+ long long x = bfd_get_64 (abfd, addr); -+ DOIT (x); -+ bfd_put_64 (abfd, (bfd_vma) x, addr); -+ } -+ break; -+ -+ default: -+ bfd_set_error (bfd_error_bad_value); -+ return bfd_reloc_notsupported; -+ } -+ } - - /* Now let bfd_perform_relocation finish everything up. */ - return bfd_reloc_continue; --- ../binutils-2.26.orig/bfd/elf64-s390.c 2016-02-09 15:01:11.983640775 +0000 +++ bfd/elf64-s390.c 2016-02-09 15:01:37.675779605 +0000 @@ -337,10 +337,10 @@ elf_s390_reloc_name_lookup (bfd *abfd AT diff --git a/binutils-2.26-lto.patch b/binutils-2.26-lto.patch index a20757b..3705459 100644 --- a/binutils-2.26-lto.patch +++ b/binutils-2.26-lto.patch @@ -2553,100 +2553,3 @@ diff -rup binutils-2.26.orig/ld/testsuite/ld-plugin/lto.exp binutils-2.26/ld/tes run_cc_link_tests $lto_link_symbol_tests -diff -rup binutils-2.26.orig/ld/testsuite/ld-plugin/lto.exp.orig binutils-2.26/ld/testsuite/ld-plugin/lto.exp.orig ---- binutils-2.26.orig/ld/testsuite/ld-plugin/lto.exp.orig 2016-02-19 09:35:36.805003880 +0000 -+++ binutils-2.26/ld/testsuite/ld-plugin/lto.exp.orig 2016-02-19 09:35:54.929106657 +0000 -@@ -79,6 +79,15 @@ set lto_link_tests [list \ - [list "Build liblto-3.a" \ - "" "-flto $lto_fat" \ - {lto-3b.c} {} "liblto-3.a"] \ -+ [list "Compile 4a" \ -+ "" "-flto $lto_fat" \ -+ {lto-4a.c} {} ""] \ -+ [list "Compile 4b" \ -+ "" "-O2" \ -+ {lto-4b.c} {} ""] \ -+ [list "Compile 4c" \ -+ "" "-O2" \ -+ {lto-4c.c} {} ""] \ - [list "Compile 5a" \ - "" "-flto $lto_fat" \ - {lto-5a.c} {} ""] \ -@@ -94,6 +103,12 @@ set lto_link_tests [list \ - [list "Compile 9" \ - "" "-O2 -finline -flto" \ - {lto-9.cc} {} "" "c++"] \ -+ [list "Compile 10a" \ -+ "" "-O2" \ -+ {lto-10a.c} {} ""] \ -+ [list "Compile 10b" \ -+ "" "-O2 -flto $lto_fat" \ -+ {lto-10b.c} {} ""] \ - [list "Compile 11a" \ - "" "-O -flto" \ - {lto-11a.c} {} ""] \ -@@ -291,9 +306,21 @@ set lto_run_tests [list \ - [list "LTO 3c" \ - "-O2 -flto -fuse-linker-plugin tmpdir/lto-3a.o tmpdir/lto-3c.o -Wl,--whole-archive tmpdir/liblto-3.a -Wl,--no-whole-archive tmpdir/liblto-3.a" "" \ - {dummy.c} "lto-3d.exe" "lto-3.out" "" "c"] \ -+ [list "LTO 4a" \ -+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-4r-a.o" "" \ -+ {dummy.c} "lto-4a.exe" "lto-4.out" "" "c"] \ -+ [list "LTO 4c" \ -+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-4r-c.o" "" \ -+ {dummy.c} "lto-4c.exe" "lto-4.out" "" "c"] \ -+ [list "LTO 4d" \ -+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-4r-d.o" "" \ -+ {dummy.c} "lto-4d.exe" "lto-4.out" "" "c"] \ - [list "LTO 5" \ - "-O2 -flto -fuse-linker-plugin tmpdir/lto-5.o" "" \ - {dummy.c} "lto-5.exe" "lto-5.out" "" "c"] \ -+ [list "LTO 10" \ -+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-10.o" "" \ -+ {dummy.c} "lto-10.exe" "lto-10.out" "" "c"] \ - [list "LTO 11" \ - "-O -flto -fuse-linker-plugin tmpdir/liblto-11.a" "" \ - {dummy.c} "lto-11.exe" "lto-11.out" "" "c"] \ -@@ -378,6 +405,15 @@ if { [is_elf_format] && [check_lto_share - } - } - -+set testname "Build liblto-4.a" -+remote_file host delete "tmpdir/liblto-4.a" -+set catch_output [run_host_cmd "$ar" "rc tmpdir/liblto-4.a tmpdir/lto-4a.o tmpdir/lto-4b.o tmpdir/lto-4c.o"] -+if {![string match "" $catch_output]} { -+ unresolved $testname -+ restore_notify -+ return -+} -+ - set testname "Build liblto-11.a" - remote_file host delete "tmpdir/liblto-11.a" - set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"] -@@ -416,11 +452,26 @@ if { [at_least_gcc_version 4 7] } { - } - } - -+# Fedora specific binutils patches break some of the tests that follow... -+restore_notify -+return -+ -+ - # Run "ld -r" to generate inputs for complex LTO tests. - run_dump_test "lto-3r" - remote_exec host "mv" "tmpdir/dump tmpdir/lto-3.o" -+run_dump_test "lto-4r-a" -+remote_exec host "mv" "tmpdir/dump tmpdir/lto-4r-a.o" -+run_dump_test "lto-4r-b" -+remote_exec host "mv" "tmpdir/dump tmpdir/lto-4r-b.o" -+run_dump_test "lto-4r-c" -+remote_exec host "mv" "tmpdir/dump tmpdir/lto-4r-c.o" -+run_dump_test "lto-4r-d" -+remote_exec host "mv" "tmpdir/dump tmpdir/lto-4r-d.o" - run_dump_test "lto-5r" - remote_exec host "mv" "tmpdir/dump tmpdir/lto-5.o" -+run_dump_test "lto-10r" -+remote_exec host "mv" "tmpdir/dump tmpdir/lto-10.o" - - run_cc_link_tests $lto_link_symbol_tests - diff --git a/binutils-2.26-x86-PIE-relocations.patch b/binutils-2.26-x86-PIE-relocations.patch deleted file mode 100644 index c39c3aa..0000000 --- a/binutils-2.26-x86-PIE-relocations.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- binutils-2.26.orig/bfd/elf32-i386.c 2016-03-18 10:04:17.245507884 +0000 -+++ binutils-2.26/bfd/elf32-i386.c 2016-03-18 10:05:59.336070167 +0000 -@@ -1830,7 +1830,8 @@ do_size: - && (sec->flags & SEC_ALLOC) != 0 - && (r_type != R_386_PC32 - || (h != NULL -- && (! SYMBOLIC_BIND (info, h) -+ && (! (bfd_link_pie (info) -+ || SYMBOLIC_BIND (info, h)) - || h->root.type == bfd_link_hash_defweak - || !h->def_regular)))) - || (ELIMINATE_COPY_RELOCS -@@ -4287,8 +4288,8 @@ r_386_got32: - else if (h != NULL - && h->dynindx != -1 - && (r_type == R_386_PC32 -- || !bfd_link_pic (info) -- || !SYMBOLIC_BIND (info, h) -+ || !(bfd_link_executable (info) -+ || SYMBOLIC_BIND (info, h)) - || !h->def_regular)) - outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); - else ---- binutils-2.26.orig/bfd/elf64-x86-64.c 2016-03-18 10:04:17.244507878 +0000 -+++ binutils-2.26/bfd/elf64-x86-64.c 2016-03-18 10:06:46.686331624 +0000 -@@ -2029,7 +2029,8 @@ do_size: - && (sec->flags & SEC_ALLOC) != 0 - && (! IS_X86_64_PCREL_TYPE (r_type) - || (h != NULL -- && (! SYMBOLIC_BIND (info, h) -+ && (! (bfd_link_pie (info) -+ || SYMBOLIC_BIND (info, h)) - || h->root.type == bfd_link_hash_defweak - || !h->def_regular)))) - || (ELIMINATE_COPY_RELOCS -@@ -4631,8 +4632,8 @@ direct: - else if (h != NULL - && h->dynindx != -1 - && (IS_X86_64_PCREL_TYPE (r_type) -- || ! bfd_link_pic (info) -- || ! SYMBOLIC_BIND (info, h) -+ || !(bfd_link_executable (info) -+ || SYMBOLIC_BIND (info, h)) - || ! h->def_regular)) - { - outrel.r_info = htab->r_info (h->dynindx, r_type); diff --git a/binutils-rh1312151.patch b/binutils-rh1312151.patch deleted file mode 100644 index e989b86..0000000 --- a/binutils-rh1312151.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- binutils-2.26.orig/bfd/elflink.c 2016-02-26 13:21:54.134859610 +0000 -+++ binutils-2.26/bfd/elflink.c 2016-02-26 13:22:49.083168157 +0000 -@@ -555,6 +555,19 @@ bfd_elf_record_link_assignment (bfd *out - if (h == NULL) - return provide; - -+ if (h->versioned == unknown) -+ { -+ /* Set versioned if symbol version is unknown. */ -+ char *version = strrchr (name, ELF_VER_CHR); -+ if (version) -+ { -+ if (version > name && version[-1] != ELF_VER_CHR) -+ h->versioned = versioned_hidden; -+ else -+ h->versioned = versioned; -+ } -+ } -+ - switch (h->root.type) - { - case bfd_link_hash_defined: diff --git a/binutils.spec b/binutils.spec index ef2099f..7d565d5 100644 --- a/binutils.spec +++ b/binutils.spec @@ -19,8 +19,8 @@ Summary: A GNU collection of binary utilities Name: %{?cross}binutils%{?_with_debug:-debug} -Version: 2.26 -Release: 20%{?dist} +Version: 2.26.1 +Release: 1%{?dist} License: GPLv3+ Group: Development/Tools URL: http://sources.redhat.com/binutils @@ -59,20 +59,20 @@ Patch16: binutils-2.25.1-cleansweep.patch Patch17: binutils-2.26-formatting.patch Patch18: binutils-2.26-fix-compile-warnings.patch # Enable -Bsymbolic and -Bsymbolic-functions to PIE -Patch19: binutils-2.26-Bsymbolic_PIE.patch +# Patch19: binutils-2.26-Bsymbolic_PIE.patch # Import H.J.Lu's Kernel LTO patch. Patch20: binutils-2.26-lto.patch # Import fix for PR 19698 -Patch21: binutils-rh1312151.patch +# Patch21: binutils-rh1312151.patch # Import fix for PR 19601 -Patch22: binutils-2.26-fix-GOT-offset-calculation.patch +# Patch22: binutils-2.26-fix-GOT-offset-calculation.patch # Import fix for PR 19579 -Patch23: binutils-2.26-common-definitions.patch +# Patch23: binutils-2.26-common-definitions.patch # Fix compilation under broken F24 GCC, which geneerates bogus strict aliasing violations. # FIXME: Remove once GCC is fixed. Patch24: binutils-2.26-bad-aliasing.patch # Import fix for PR 19827 -Patch25: binutils-2.26-x86-PIE-relocations.patch +# Patch25: binutils-2.26-x86-PIE-relocations.patch Provides: bundled(libiberty) @@ -199,13 +199,13 @@ using libelf instead of BFD. %patch16 -p0 %patch17 -p0 %patch18 -p1 -%patch19 -p1 +# %patch19 -p1 %patch20 -p1 -%patch21 -p1 -%patch22 -p1 -%patch23 -p1 +# %patch21 -p1 +# %patch22 -p1 +# %patch23 -p1 %patch24 -p1 -%patch25 -p1 +# %patch25 -p1 # We cannot run autotools as there is an exact requirement of autoconf-2.59. @@ -525,6 +525,14 @@ exit 0 %endif # %{isnative} %changelog +* Wed Jun 29 2016 Nick Clifton 2.26.1-1 +- Rebase on FSF binutils 2.26.1 release. +- Retire: binutils-2.26-Bsymbolic_PIE.patch +- Retire: binutils-rh1312151.patch +- Retire: binutils-2.26-fix-GOT-offset-calculation.patch +- Retire: binutils-2.26-common-definitions.patch +- Retire: binutils-2.26-x86-PIE-relocations.patch + * Thu Jun 02 2016 Nick Clifton 2.26-20 - Retire the copy-osabi patch. (#1252066) diff --git a/sources b/sources index c5055f0..56f8e9f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -64146a0faa3b411ba774f47d41de239f binutils-2.26.tar.bz2 +d2b24e5b5301b7ff0207414c34c3e0fb binutils-2.26.1.tar.bz2