import binutils-2.30-79.el8
This commit is contained in:
parent
887ad2334b
commit
c0f7dba1a9
3810
SOURCES/binutils-PT_GNU_PROPERTY-segment.patch
Normal file
3810
SOURCES/binutils-PT_GNU_PROPERTY-segment.patch
Normal file
File diff suppressed because it is too large
Load Diff
122
SOURCES/binutils-aarch64-ld-test-fixes.patch
Normal file
122
SOURCES/binutils-aarch64-ld-test-fixes.patch
Normal file
@ -0,0 +1,122 @@
|
||||
diff -rup binutils.orig/ld/testsuite/ld-aarch64/variant_pcs-now.d binutils-2.30/ld/testsuite/ld-aarch64/variant_pcs-now.d
|
||||
--- binutils.orig/ld/testsuite/ld-aarch64/variant_pcs-now.d 2020-04-06 16:21:53.296852157 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-aarch64/variant_pcs-now.d 2020-04-06 16:28:56.733001935 +0100
|
||||
@@ -5,28 +5,29 @@
|
||||
|
||||
Relocation section '\.rela\.plt' at offset 0x11000 contains 12 entries:
|
||||
Offset Info Type Symbol's Value Symbol's Name \+ Addend
|
||||
-0000000000009020 0000000100000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_base_global_default_undef \+ 0
|
||||
-0000000000009028 0000000200000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_spec_global_default_undef \+ 0
|
||||
-0000000000009030 0000000400000402 R_AARCH64_JUMP_SLOT 0000000000008000 f_base_global_default_def \+ 0
|
||||
-0000000000009038 0000000500000402 R_AARCH64_JUMP_SLOT 0000000000008000 f_spec_global_default_def \+ 0
|
||||
+0000000000009020 0000000.00000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_base_global_default_undef \+ 0
|
||||
+0000000000009028 0000000.00000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_spec_global_default_undef \+ 0
|
||||
+0000000000009030 0000000.00000402 R_AARCH64_JUMP_SLOT 0000000000008000 f_base_global_default_def \+ 0
|
||||
+0000000000009038 0000000.00000402 R_AARCH64_JUMP_SLOT 0000000000008000 f_spec_global_default_def \+ 0
|
||||
0000000000009040 0000000000000408 R_AARCH64_IRELATIVE 8000
|
||||
-0000000000009048 0000000300000402 R_AARCH64_JUMP_SLOT f_spec_global_default_ifunc\(\) f_spec_global_default_ifunc \+ 0
|
||||
+0000000000009048 0000000.00000402 R_AARCH64_JUMP_SLOT f_spec_global_default_ifunc\(\) f_spec_global_default_ifunc \+ 0
|
||||
0000000000009050 0000000000000408 R_AARCH64_IRELATIVE 8000
|
||||
-0000000000009058 0000000600000402 R_AARCH64_JUMP_SLOT f_base_global_default_ifunc\(\) f_base_global_default_ifunc \+ 0
|
||||
+0000000000009058 0000000.00000402 R_AARCH64_JUMP_SLOT f_base_global_default_ifunc\(\) f_base_global_default_ifunc \+ 0
|
||||
0000000000009060 0000000000000408 R_AARCH64_IRELATIVE 8038
|
||||
0000000000009068 0000000000000408 R_AARCH64_IRELATIVE 8000
|
||||
0000000000009070 0000000000000408 R_AARCH64_IRELATIVE 8000
|
||||
0000000000009078 0000000000000408 R_AARCH64_IRELATIVE 8038
|
||||
|
||||
-Symbol table '\.dynsym' contains 7 entries:
|
||||
+Symbol table '\.dynsym' contains . entries:
|
||||
Num: Value Size Type Bind Vis Ndx Name
|
||||
- 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
|
||||
- 1: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef
|
||||
- 2: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_spec_global_default_undef \[VARIANT_PCS\]
|
||||
- 3: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_spec_global_default_ifunc \[VARIANT_PCS\]
|
||||
- 4: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def
|
||||
- 5: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_spec_global_default_def \[VARIANT_PCS\]
|
||||
- 6: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc
|
||||
+ 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
|
||||
+#...
|
||||
+ .: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef
|
||||
+ .: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_spec_global_default_undef \[VARIANT_PCS\]
|
||||
+ .: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_spec_global_default_ifunc \[VARIANT_PCS\]
|
||||
+ .: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def
|
||||
+ .: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_spec_global_default_def \[VARIANT_PCS\]
|
||||
+ .: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc
|
||||
|
||||
Symbol table '\.symtab' contains 35 entries:
|
||||
Num: Value Size Type Bind Vis Ndx Name
|
||||
diff -rup binutils.orig/ld/testsuite/ld-aarch64/variant_pcs-shared.d binutils-2.30/ld/testsuite/ld-aarch64/variant_pcs-shared.d
|
||||
--- binutils.orig/ld/testsuite/ld-aarch64/variant_pcs-shared.d 2020-04-06 16:21:53.296852157 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-aarch64/variant_pcs-shared.d 2020-04-06 16:28:35.565094429 +0100
|
||||
@@ -5,28 +5,29 @@
|
||||
|
||||
Relocation section '\.rela\.plt' at offset 0x11000 contains 12 entries:
|
||||
Offset Info Type Symbol's Value Symbol's Name \+ Addend
|
||||
-0000000000009020 0000000100000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_base_global_default_undef \+ 0
|
||||
-0000000000009028 0000000200000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_spec_global_default_undef \+ 0
|
||||
-0000000000009030 0000000400000402 R_AARCH64_JUMP_SLOT 0000000000008000 f_base_global_default_def \+ 0
|
||||
-0000000000009038 0000000500000402 R_AARCH64_JUMP_SLOT 0000000000008000 f_spec_global_default_def \+ 0
|
||||
+0000000000009020 0000000.00000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_base_global_default_undef \+ 0
|
||||
+0000000000009028 0000000.00000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_spec_global_default_undef \+ 0
|
||||
+0000000000009030 0000000.00000402 R_AARCH64_JUMP_SLOT 0000000000008000 f_base_global_default_def \+ 0
|
||||
+0000000000009038 0000000.00000402 R_AARCH64_JUMP_SLOT 0000000000008000 f_spec_global_default_def \+ 0
|
||||
0000000000009040 0000000000000408 R_AARCH64_IRELATIVE 8000
|
||||
-0000000000009048 0000000300000402 R_AARCH64_JUMP_SLOT f_spec_global_default_ifunc\(\) f_spec_global_default_ifunc \+ 0
|
||||
+0000000000009048 0000000.00000402 R_AARCH64_JUMP_SLOT f_spec_global_default_ifunc\(\) f_spec_global_default_ifunc \+ 0
|
||||
0000000000009050 0000000000000408 R_AARCH64_IRELATIVE 8000
|
||||
-0000000000009058 0000000600000402 R_AARCH64_JUMP_SLOT f_base_global_default_ifunc\(\) f_base_global_default_ifunc \+ 0
|
||||
+0000000000009058 0000000.00000402 R_AARCH64_JUMP_SLOT f_base_global_default_ifunc\(\) f_base_global_default_ifunc \+ 0
|
||||
0000000000009060 0000000000000408 R_AARCH64_IRELATIVE 8038
|
||||
0000000000009068 0000000000000408 R_AARCH64_IRELATIVE 8000
|
||||
0000000000009070 0000000000000408 R_AARCH64_IRELATIVE 8000
|
||||
0000000000009078 0000000000000408 R_AARCH64_IRELATIVE 8038
|
||||
|
||||
-Symbol table '\.dynsym' contains 7 entries:
|
||||
+Symbol table '\.dynsym' contains . entries:
|
||||
Num: Value Size Type Bind Vis Ndx Name
|
||||
- 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
|
||||
- 1: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef
|
||||
- 2: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_spec_global_default_undef \[VARIANT_PCS\]
|
||||
- 3: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_spec_global_default_ifunc \[VARIANT_PCS\]
|
||||
- 4: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def
|
||||
- 5: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_spec_global_default_def \[VARIANT_PCS\]
|
||||
- 6: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc
|
||||
+ 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
|
||||
+#...
|
||||
+ .: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef
|
||||
+ .: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_spec_global_default_undef \[VARIANT_PCS\]
|
||||
+ .: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_spec_global_default_ifunc \[VARIANT_PCS\]
|
||||
+ .: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def
|
||||
+ .: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_spec_global_default_def \[VARIANT_PCS\]
|
||||
+ .: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc
|
||||
|
||||
Symbol table '\.symtab' contains 35 entries:
|
||||
Num: Value Size Type Bind Vis Ndx Name
|
||||
diff -rup binutils.orig/ld/testsuite/ld-aarch64/variant_pcs-now.d binutils-2.30/ld/testsuite/ld-aarch64/variant_pcs-now.d
|
||||
--- binutils.orig/ld/testsuite/ld-aarch64/variant_pcs-now.d 2020-04-06 17:27:02.890275588 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-aarch64/variant_pcs-now.d 2020-04-06 17:33:51.136464165 +0100
|
||||
@@ -38,8 +38,8 @@ Symbol table '\.symtab' contains 35 entr
|
||||
4: 0000000000009080 0 SECTION LOCAL DEFAULT 4
|
||||
5: 0000000000011000 0 SECTION LOCAL DEFAULT 5
|
||||
6: 0000000000011120 0 SECTION LOCAL DEFAULT 6
|
||||
- 7: 00000000000111c8 0 SECTION LOCAL DEFAULT 7
|
||||
- 8: 0000000000011270 0 SECTION LOCAL DEFAULT 8
|
||||
+ 7: 00000000000111.. 0 SECTION LOCAL DEFAULT 7
|
||||
+ 8: 00000000000112.. 0 SECTION LOCAL DEFAULT 8
|
||||
9: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-1\.o
|
||||
10: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 f_spec_local \[VARIANT_PCS\]
|
||||
11: 0000000000008000 0 IFUNC LOCAL DEFAULT 1 f_spec_local_ifunc \[VARIANT_PCS\]
|
||||
diff -rup binutils.orig/ld/testsuite/ld-aarch64/variant_pcs-shared.d binutils-2.30/ld/testsuite/ld-aarch64/variant_pcs-shared.d
|
||||
--- binutils.orig/ld/testsuite/ld-aarch64/variant_pcs-shared.d 2020-04-06 17:27:02.890275588 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-aarch64/variant_pcs-shared.d 2020-04-06 17:33:56.512440347 +0100
|
||||
@@ -38,8 +38,8 @@ Symbol table '\.symtab' contains 35 entr
|
||||
4: 0000000000009080 0 SECTION LOCAL DEFAULT 4
|
||||
5: 0000000000011000 0 SECTION LOCAL DEFAULT 5
|
||||
6: 0000000000011120 0 SECTION LOCAL DEFAULT 6
|
||||
- 7: 00000000000111c8 0 SECTION LOCAL DEFAULT 7
|
||||
- 8: 0000000000011270 0 SECTION LOCAL DEFAULT 8
|
||||
+ 7: 00000000000111.. 0 SECTION LOCAL DEFAULT 7
|
||||
+ 8: 00000000000112.. 0 SECTION LOCAL DEFAULT 8
|
||||
9: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-1\.o
|
||||
10: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 f_spec_local \[VARIANT_PCS\]
|
||||
11: 0000000000008000 0 IFUNC LOCAL DEFAULT 1 f_spec_local_ifunc \[VARIANT_PCS\]
|
@ -270,12 +270,12 @@ diff -rup binutils.orig/bfd/elf.c binutils-2.30/bfd/elf.c
|
||||
+ const Elf_Internal_Shdr * isection,
|
||||
+ Elf_Internal_Shdr * osection)
|
||||
+{
|
||||
+ if (isection->sh_type != SHT_SECONDARY_RELOC)
|
||||
+ return TRUE;
|
||||
+
|
||||
+ if (isection == NULL)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ if (isection->sh_type != SHT_SECONDARY_RELOC)
|
||||
+ return TRUE;
|
||||
+
|
||||
+ asection * isec = isection->bfd_section;
|
||||
+ if (isec == NULL)
|
||||
+ return FALSE;
|
||||
|
68
SOURCES/binutils-do-not-warn-about-debuginfo-files.patch
Normal file
68
SOURCES/binutils-do-not-warn-about-debuginfo-files.patch
Normal file
@ -0,0 +1,68 @@
|
||||
diff -rup binutils.orig/bfd/elf-bfd.h binutils-2.30/bfd/elf-bfd.h
|
||||
--- binutils.orig/bfd/elf-bfd.h 2020-04-06 13:08:43.081659992 +0100
|
||||
+++ binutils-2.30/bfd/elf-bfd.h 2020-04-06 13:09:17.040517295 +0100
|
||||
@@ -2722,6 +2722,8 @@ extern unsigned int _bfd_elf_symbol_sect
|
||||
(bfd *, elf_symbol_type *);
|
||||
|
||||
|
||||
+extern bfd_boolean is_debuginfo_file (bfd *);
|
||||
+
|
||||
/* Large common section. */
|
||||
extern asection _bfd_elf_large_com_section;
|
||||
|
||||
Only in binutils-2.30/bfd: elf-bfd.h.orig
|
||||
diff -rup binutils.orig/bfd/elf.c binutils-2.30/bfd/elf.c
|
||||
--- binutils.orig/bfd/elf.c 2020-04-06 13:08:43.104659896 +0100
|
||||
+++ binutils-2.30/bfd/elf.c 2020-04-06 13:09:17.042517287 +0100
|
||||
@@ -5749,6 +5749,35 @@ assign_file_positions_for_load_sections
|
||||
#define IS_TBSS(s) \
|
||||
((s->flags & (SEC_THREAD_LOCAL | SEC_LOAD)) == SEC_THREAD_LOCAL)
|
||||
|
||||
+/* Determine if a bfd is a debuginfo file. Unfortunately there
|
||||
+ is no defined method for detecting such files, so we have to
|
||||
+ use heuristics instead. */
|
||||
+
|
||||
+bfd_boolean
|
||||
+is_debuginfo_file (bfd *abfd)
|
||||
+{
|
||||
+ if (abfd == NULL || bfd_get_flavour (abfd) != bfd_target_elf_flavour)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ Elf_Internal_Shdr **start_headers = elf_elfsections (abfd);
|
||||
+ Elf_Internal_Shdr **end_headers = start_headers + elf_numsections (abfd);
|
||||
+ Elf_Internal_Shdr **headerp;
|
||||
+
|
||||
+ for (headerp = start_headers; headerp < end_headers; headerp ++)
|
||||
+ {
|
||||
+ Elf_Internal_Shdr *header = * headerp;
|
||||
+
|
||||
+ /* Debuginfo files do not have any allocated SHT_PROGBITS sections.
|
||||
+ The only allocated sections are SHT_NOBITS or SHT_NOTES. */
|
||||
+ if ((header->sh_flags & SHF_ALLOC) == SHF_ALLOC
|
||||
+ && header->sh_type != SHT_NOBITS
|
||||
+ && header->sh_type != SHT_NOTE)
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
/* Assign file positions for the other sections. */
|
||||
|
||||
static bfd_boolean
|
||||
@@ -5782,7 +5811,13 @@ assign_file_positions_for_non_load_secti
|
||||
BFD_ASSERT (hdr->sh_offset == hdr->bfd_section->filepos);
|
||||
else if ((hdr->sh_flags & SHF_ALLOC) != 0)
|
||||
{
|
||||
- if (hdr->sh_size != 0)
|
||||
+ if (hdr->sh_size != 0
|
||||
+ /* PR 24717 - debuginfo files are known to be not strictly
|
||||
+ compliant with the ELF standard. In particular they often
|
||||
+ have .note.gnu.property sections that are outside of any
|
||||
+ loadable segment. This is not a problem for such files,
|
||||
+ so do not warn about them. */
|
||||
+ && ! is_debuginfo_file (abfd))
|
||||
_bfd_error_handler
|
||||
/* xgettext:c-format */
|
||||
(_("%B: warning: allocated section `%s' not in segment"),
|
||||
Only in binutils-2.30/bfd: elf.c.orig
|
36
SOURCES/binutils-gold-mismatched-section-flags.patch
Normal file
36
SOURCES/binutils-gold-mismatched-section-flags.patch
Normal file
@ -0,0 +1,36 @@
|
||||
diff -rup binutils.orig/gold/layout.cc binutils-2.32/gold/layout.cc
|
||||
--- binutils.orig/gold/layout.cc 2019-06-24 14:37:36.013086899 +0100
|
||||
+++ binutils-2.32/gold/layout.cc 2019-06-24 14:41:40.054517479 +0100
|
||||
@@ -868,6 +868,7 @@ Layout::get_output_section(const char* n
|
||||
&& (same_name->flags() & elfcpp::SHF_TLS) == 0)
|
||||
os = same_name;
|
||||
}
|
||||
+#if 0 /* BZ 1722715, PR 17556. */
|
||||
else if ((flags & elfcpp::SHF_TLS) == 0)
|
||||
{
|
||||
elfcpp::Elf_Xword zero_flags = 0;
|
||||
@@ -878,6 +879,7 @@ Layout::get_output_section(const char* n
|
||||
if (p != this->section_name_map_.end())
|
||||
os = p->second;
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
if (os == NULL)
|
||||
diff -rup binutils.orig/gold/object.cc binutils-2.32/gold/object.cc
|
||||
--- binutils.orig/gold/object.cc 2019-06-24 14:37:36.012086906 +0100
|
||||
+++ binutils-2.32/gold/object.cc 2019-06-24 14:39:59.287165501 +0100
|
||||
@@ -1644,6 +1644,13 @@ Sized_relobj_file<size, big_endian>::do_
|
||||
omit[i] = true;
|
||||
}
|
||||
|
||||
+ // Skip empty sections without flags.
|
||||
+ if (!(shdr.get_sh_flags() & ~elfcpp::SHF_GROUP)
|
||||
+ && !shdr.get_sh_size())
|
||||
+ {
|
||||
+ omit[i] = true;
|
||||
+ }
|
||||
+
|
||||
bool discard = omit[i];
|
||||
if (!discard)
|
||||
{
|
97
SOURCES/binutils-objcopy-set-section-flags-shared.patch
Normal file
97
SOURCES/binutils-objcopy-set-section-flags-shared.patch
Normal file
@ -0,0 +1,97 @@
|
||||
diff -rup binutils.orig/binutils/doc/binutils.texi binutils-2.30/binutils/doc/binutils.texi
|
||||
--- binutils.orig/binutils/doc/binutils.texi 2020-04-07 16:11:52.164358203 +0100
|
||||
+++ binutils-2.30/binutils/doc/binutils.texi 2020-04-07 16:14:37.759171936 +0100
|
||||
@@ -1586,7 +1586,9 @@ recognized names are @samp{alloc}, @samp
|
||||
for a section which does not have contents, but it is not meaningful
|
||||
to clear the @samp{contents} flag of a section which does have
|
||||
contents--just remove the section instead. Not all flags are
|
||||
-meaningful for all object file formats.
|
||||
+meaningful for all object file formats. In particular the
|
||||
+@samp{share} flag is only meaningful for COFF format files and not for
|
||||
+ELF format files.
|
||||
|
||||
@item --add-section @var{sectionname}=@var{filename}
|
||||
Add a new section named @var{sectionname} while copying the file. The
|
||||
@@ -1637,7 +1639,8 @@ Rename a section from @var{oldname} to @
|
||||
changing the section's flags to @var{flags} in the process. This has
|
||||
the advantage over using a linker script to perform the rename in that
|
||||
the output stays as an object file and does not become a linked
|
||||
-executable.
|
||||
+executable. This option accepts the same set of flags as the
|
||||
+@option{--sect-section-flags} option.
|
||||
|
||||
This option is particularly helpful when the input format is binary,
|
||||
since this will always create a section called .data. If for example,
|
||||
diff -rup binutils.orig/binutils/objcopy.c binutils-2.30/binutils/objcopy.c
|
||||
--- binutils.orig/binutils/objcopy.c 2020-04-07 16:11:52.177358110 +0100
|
||||
+++ binutils-2.30/binutils/objcopy.c 2020-04-07 16:16:15.736470047 +0100
|
||||
@@ -2514,6 +2514,23 @@ merge_gnu_build_notes (bfd * ab
|
||||
return size;
|
||||
}
|
||||
|
||||
+static flagword
|
||||
+check_new_section_flags (flagword flags, bfd * abfd, const char * secname)
|
||||
+{
|
||||
+ /* Only set the SEC_COFF_SHARED flag on COFF files.
|
||||
+ The same bit value is used by ELF targets to indicate
|
||||
+ compressed sections, and setting that flag here breaks
|
||||
+ things. */
|
||||
+ if ((flags & SEC_COFF_SHARED)
|
||||
+ && bfd_get_flavour (abfd) != bfd_target_coff_flavour)
|
||||
+ {
|
||||
+ non_fatal (_("%s[%s]: Note - dropping 'share' flag as output format is not COFF"),
|
||||
+ bfd_get_filename (abfd), secname);
|
||||
+ flags &= ~ SEC_COFF_SHARED;
|
||||
+ }
|
||||
+ return flags;
|
||||
+}
|
||||
+
|
||||
/* Copy object file IBFD onto OBFD.
|
||||
Returns TRUE upon success, FALSE otherwise. */
|
||||
|
||||
@@ -2755,7 +2772,10 @@ copy_object (bfd *ibfd, bfd *obfd, const
|
||||
pset = find_section_list (padd->name, FALSE,
|
||||
SECTION_CONTEXT_SET_FLAGS);
|
||||
if (pset != NULL)
|
||||
- flags = pset->flags | SEC_HAS_CONTENTS;
|
||||
+ {
|
||||
+ flags = pset->flags | SEC_HAS_CONTENTS;
|
||||
+ flags = check_new_section_flags (flags, obfd, padd->name);
|
||||
+ }
|
||||
else
|
||||
flags = SEC_HAS_CONTENTS | SEC_READONLY | SEC_DATA;
|
||||
|
||||
@@ -3867,6 +3887,7 @@ setup_section (bfd *ibfd, sec_ptr isecti
|
||||
flagword flags;
|
||||
const char *err;
|
||||
const char * name;
|
||||
+ const char * new_name;
|
||||
char *prefix = NULL;
|
||||
bfd_boolean make_nobits;
|
||||
|
||||
@@ -3876,7 +3897,12 @@ setup_section (bfd *ibfd, sec_ptr isecti
|
||||
/* Get the, possibly new, name of the output section. */
|
||||
name = bfd_section_name (ibfd, isection);
|
||||
flags = bfd_get_section_flags (ibfd, isection);
|
||||
- name = find_section_rename (name, &flags);
|
||||
+ new_name = find_section_rename (name, &flags);
|
||||
+ if (new_name != name)
|
||||
+ {
|
||||
+ name = new_name;
|
||||
+ flags = check_new_section_flags (flags, obfd, name);
|
||||
+ }
|
||||
|
||||
/* Prefix sections. */
|
||||
if ((prefix_alloc_sections_string)
|
||||
@@ -3900,7 +3926,10 @@ setup_section (bfd *ibfd, sec_ptr isecti
|
||||
p = find_section_list (bfd_section_name (ibfd, isection), FALSE,
|
||||
SECTION_CONTEXT_SET_FLAGS);
|
||||
if (p != NULL)
|
||||
- flags = p->flags | (flags & (SEC_HAS_CONTENTS | SEC_RELOC));
|
||||
+ {
|
||||
+ flags = p->flags | (flags & (SEC_HAS_CONTENTS | SEC_RELOC));
|
||||
+ flags = check_new_section_flags (flags, obfd, bfd_section_name (ibfd, isection));
|
||||
+ }
|
||||
else if (strip_symbols == STRIP_NONDEBUG
|
||||
&& (flags & (SEC_ALLOC | SEC_GROUP)) != 0
|
||||
&& !is_nondebug_keep_contents_section (ibfd, isection))
|
150
SOURCES/binutils-s390-alignment-hints.patch
Normal file
150
SOURCES/binutils-s390-alignment-hints.patch
Normal file
@ -0,0 +1,150 @@
|
||||
diff -rup binutils.orig/gas/testsuite/gas/s390/zarch-z13.d binutils-2.30/gas/testsuite/gas/s390/zarch-z13.d
|
||||
--- binutils.orig/gas/testsuite/gas/s390/zarch-z13.d 2020-06-24 16:02:24.228446160 +0100
|
||||
+++ binutils-2.30/gas/testsuite/gas/s390/zarch-z13.d 2020-06-24 16:02:35.952409554 +0100
|
||||
@@ -17,7 +17,6 @@ Disassembly of section .text:
|
||||
.*: e7 f0 fd fc 10 46 [ ]*vgmh %v15,253,252
|
||||
.*: e7 f0 fd fc 20 46 [ ]*vgmf %v15,253,252
|
||||
.*: e7 f0 fd fc 30 46 [ ]*vgmg %v15,253,252
|
||||
-.*: e7 f6 9f a0 00 06 [ ]*vl %v15,4000\(%r6,%r9\)
|
||||
.*: e7 f1 00 00 04 56 [ ]*vlr %v15,%v17
|
||||
.*: e7 f6 9f a0 d0 05 [ ]*vlrep %v15,4000\(%r6,%r9\),13
|
||||
.*: e7 f6 9f a0 00 05 [ ]*vlrepb %v15,4000\(%r6,%r9\)
|
||||
@@ -42,7 +41,6 @@ Disassembly of section .text:
|
||||
.*: e7 f6 9f a0 10 04 [ ]*vllezh %v15,4000\(%r6,%r9\)
|
||||
.*: e7 f6 9f a0 20 04 [ ]*vllezf %v15,4000\(%r6,%r9\)
|
||||
.*: e7 f6 9f a0 30 04 [ ]*vllezg %v15,4000\(%r6,%r9\)
|
||||
-.*: e7 f1 6f a0 04 36 [ ]*vlm %v15,%v17,4000\(%r6\)
|
||||
.*: e7 f6 9f a0 d0 07 [ ]*vlbb %v15,4000\(%r6,%r9\),13
|
||||
.*: e7 f6 9f a0 d0 22 [ ]*vlvg %v15,%r6,4000\(%r9\),13
|
||||
.*: e7 f6 9f a0 00 22 [ ]*vlvgb %v15,%r6,4000\(%r9\)
|
||||
@@ -98,12 +96,10 @@ Disassembly of section .text:
|
||||
.*: e7 f1 00 00 04 5f [ ]*vsegb %v15,%v17
|
||||
.*: e7 f1 00 00 14 5f [ ]*vsegh %v15,%v17
|
||||
.*: e7 f1 00 00 24 5f [ ]*vsegf %v15,%v17
|
||||
-.*: e7 f6 9f a0 00 0e [ ]*vst %v15,4000\(%r6,%r9\)
|
||||
.*: e7 f6 9f a0 d0 08 [ ]*vsteb %v15,4000\(%r6,%r9\),13
|
||||
.*: e7 f6 9f a0 d0 09 [ ]*vsteh %v15,4000\(%r6,%r9\),13
|
||||
.*: e7 f6 9f a0 d0 0b [ ]*vstef %v15,4000\(%r6,%r9\),13
|
||||
.*: e7 f6 9f a0 d0 0a [ ]*vsteg %v15,4000\(%r6,%r9\),13
|
||||
-.*: e7 f1 6f a0 04 3e [ ]*vstm %v15,%v17,4000\(%r6\)
|
||||
.*: e7 f6 9f a0 00 3f [ ]*vstl %v15,%r6,4000\(%r9\)
|
||||
.*: e7 f1 00 00 d4 d7 [ ]*vuph %v15,%v17,13
|
||||
.*: e7 f1 00 00 04 d7 [ ]*vuphb %v15,%v17
|
||||
@@ -680,3 +676,11 @@ Disassembly of section .text:
|
||||
.*: e3 69 b8 f0 fd 3b [ ]*lzrf %r6,-10000\(%r9,%r11\)
|
||||
.*: e3 69 b8 f0 fd 2a [ ]*lzrg %r6,-10000\(%r9,%r11\)
|
||||
.*: b9 3c 00 69 [ ]*prno %r6,%r9
|
||||
+.*: e7 f6 9f a0 00 06 [ ]*vl %v15,4000\(%r6,%r9\)
|
||||
+.*: e7 f6 9f a0 d0 06 [ ]*vl %v15,4000\(%r6,%r9\),13
|
||||
+.*: e7 f1 6f a0 04 36 [ ]*vlm %v15,%v17,4000\(%r6\)
|
||||
+.*: e7 f1 6f a0 d4 36 [ ]*vlm %v15,%v17,4000\(%r6\),13
|
||||
+.*: e7 f6 9f a0 00 0e [ ]*vst %v15,4000\(%r6,%r9\)
|
||||
+.*: e7 f6 9f a0 d0 0e [ ]*vst %v15,4000\(%r6,%r9\),13
|
||||
+.*: e7 f1 6f a0 04 3e [ ]*vstm %v15,%v17,4000\(%r6\)
|
||||
+.*: e7 f1 6f a0 d4 3e [ ]*vstm %v15,%v17,4000\(%r6\),13
|
||||
diff -rup binutils.orig/gas/testsuite/gas/s390/zarch-z13.s binutils-2.30/gas/testsuite/gas/s390/zarch-z13.s
|
||||
--- binutils.orig/gas/testsuite/gas/s390/zarch-z13.s 2020-06-24 16:02:24.227446163 +0100
|
||||
+++ binutils-2.30/gas/testsuite/gas/s390/zarch-z13.s 2020-06-24 16:02:35.952409554 +0100
|
||||
@@ -11,7 +11,6 @@ foo:
|
||||
vgmh %v15,253,252
|
||||
vgmf %v15,253,252
|
||||
vgmg %v15,253,252
|
||||
- vl %v15,4000(%r6,%r9)
|
||||
vlr %v15,%v17
|
||||
vlrep %v15,4000(%r6,%r9),13
|
||||
vlrepb %v15,4000(%r6,%r9)
|
||||
@@ -36,7 +35,6 @@ foo:
|
||||
vllezh %v15,4000(%r6,%r9)
|
||||
vllezf %v15,4000(%r6,%r9)
|
||||
vllezg %v15,4000(%r6,%r9)
|
||||
- vlm %v15,%v17,4000(%r6)
|
||||
vlbb %v15,4000(%r6,%r9),13
|
||||
vlvg %v15,%r6,4000(%r9),13
|
||||
vlvgb %v15,%r6,4000(%r9)
|
||||
@@ -92,12 +90,10 @@ foo:
|
||||
vsegb %v15,%v17
|
||||
vsegh %v15,%v17
|
||||
vsegf %v15,%v17
|
||||
- vst %v15,4000(%r6,%r9)
|
||||
vsteb %v15,4000(%r6,%r9),13
|
||||
vsteh %v15,4000(%r6,%r9),13
|
||||
vstef %v15,4000(%r6,%r9),13
|
||||
vsteg %v15,4000(%r6,%r9),13
|
||||
- vstm %v15,%v17,4000(%r6)
|
||||
vstl %v15,%r6,4000(%r9)
|
||||
vuph %v15,%v17,13
|
||||
vuphb %v15,%v17
|
||||
@@ -674,3 +670,11 @@ foo:
|
||||
lzrf %r6,-10000(%r9,%r11)
|
||||
lzrg %r6,-10000(%r9,%r11)
|
||||
ppno %r6,%r9
|
||||
+ vl %v15,4000(%r6,%r9)
|
||||
+ vl %v15,4000(%r6,%r9),13
|
||||
+ vlm %v15,%v17,4000(%r6)
|
||||
+ vlm %v15,%v17,4000(%r6),13
|
||||
+ vst %v15,4000(%r6,%r9)
|
||||
+ vst %v15,4000(%r6,%r9),13
|
||||
+ vstm %v15,%v17,4000(%r6)
|
||||
+ vstm %v15,%v17,4000(%r6),13
|
||||
diff -rup binutils.orig/opcodes/s390-opc.txt binutils-2.30/opcodes/s390-opc.txt
|
||||
--- binutils.orig/opcodes/s390-opc.txt 2020-06-24 16:02:23.965446981 +0100
|
||||
+++ binutils-2.30/opcodes/s390-opc.txt 2020-06-24 16:02:35.953409551 +0100
|
||||
@@ -1159,7 +1159,6 @@ e70000000046 vgmb VRI_V0UU "vector gener
|
||||
e70000001046 vgmh VRI_V0UU "vector generate mask halfword" z13 zarch vx
|
||||
e70000002046 vgmf VRI_V0UU "vector generate mask word" z13 zarch vx
|
||||
e70000003046 vgmg VRI_V0UU "vector generate mask double word" z13 zarch vx
|
||||
-e70000000006 vl VRX_VRRD "vector memory load" z13 zarch vx
|
||||
e70000000056 vlr VRX_VV "vector register load" z13 zarch vx
|
||||
e70000000005 vlrep VRX_VRRDU "vector load and replicate" z13 zarch vx
|
||||
e70000000005 vlrepb VRX_VRRD "vector load and replicate byte elements" z13 zarch vx
|
||||
@@ -1184,7 +1183,6 @@ e70000000004 vllezb VRX_VRRD "vector loa
|
||||
e70000001004 vllezh VRX_VRRD "vector load logical halfword element and zero" z13 zarch vx
|
||||
e70000002004 vllezf VRX_VRRD "vector load logical word element and zero" z13 zarch vx
|
||||
e70000003004 vllezg VRX_VRRD "vector load logical double word element and zero" z13 zarch vx
|
||||
-e70000000036 vlm VRS_VVRD "vector load multiple" z13 zarch vx
|
||||
e70000000007 vlbb VRX_VRRDU "vector load to block boundary" z13 zarch vx
|
||||
e70000000022 vlvg VRS_VRRDU "vector load VR element from GR" z13 zarch vx
|
||||
e70000000022 vlvgb VRS_VRRD "vector load VR byte element from GR" z13 zarch vx
|
||||
@@ -1240,12 +1238,10 @@ e7000000005f vseg VRR_VV0U "vector sign
|
||||
e7000000005f vsegb VRR_VV "vector sign extend byte to double word" z13 zarch vx
|
||||
e7000000105f vsegh VRR_VV "vector sign extend halfword to double word" z13 zarch vx
|
||||
e7000000205f vsegf VRR_VV "vector sign extend word to double word" z13 zarch vx
|
||||
-e7000000000e vst VRX_VRRD "vector store" z13 zarch vx
|
||||
e70000000008 vsteb VRX_VRRDU "vector store byte element" z13 zarch vx
|
||||
e70000000009 vsteh VRX_VRRDU "vector store halfword element" z13 zarch vx
|
||||
e7000000000b vstef VRX_VRRDU "vector store word element" z13 zarch vx
|
||||
e7000000000a vsteg VRX_VRRDU "vector store double word element" z13 zarch vx
|
||||
-e7000000003e vstm VRS_VVRD "vector store multiple" z13 zarch vx
|
||||
e7000000003f vstl VRS_VRRD "vector store with length" z13 zarch vx
|
||||
e700000000d7 vuph VRR_VV0U "vector unpack high" z13 zarch vx
|
||||
e700000000d7 vuphb VRR_VV "vector unpack high byte" z13 zarch vx
|
||||
@@ -1680,6 +1676,13 @@ e3000000003b lzrf RXY_RRRD "load and zer
|
||||
e3000000002a lzrg RXY_RRRD "load and zero rightmost byte 64->64" z13 zarch
|
||||
b93c ppno RRE_RR "perform pseudorandom number operation" z13 zarch
|
||||
|
||||
+# Aligned vector store hints
|
||||
+
|
||||
+e70000000006 vl VRX_VRRDU "vector memory load" z13 zarch optparm,vx
|
||||
+e70000000036 vlm VRS_VVRDU "vector load multiple" z13 zarch optparm,vx
|
||||
+e7000000000e vst VRX_VRRDU "vector store" z13 zarch optparm,vx
|
||||
+e7000000003e vstm VRS_VVRDU "vector store multiple" z13 zarch optparm,vx
|
||||
+
|
||||
# arch12 instructions
|
||||
|
||||
# Vector Enhancements Facility 1
|
||||
@@ -1882,14 +1885,6 @@ b9a1 tpei RRE_RR "test pending external
|
||||
b9ac irbm RRE_RR "insert reference bits multiple" arch12 zarch
|
||||
|
||||
|
||||
-# Aligned vector store hints
|
||||
-
|
||||
-e70000000006 vl VRX_VRRDU "vector memory load" arch12 zarch optparm
|
||||
-e70000000036 vlm VRS_VVRDU "vector load multiple" arch12 zarch optparm
|
||||
-e7000000000e vst VRX_VRRDU "vector store" arch12 zarch optparm
|
||||
-e7000000003e vstm VRS_VVRDU "vector store multiple" arch12 zarch optparm
|
||||
-
|
||||
-
|
||||
# arch13 instructions
|
||||
|
||||
|
||||
Only in binutils-2.30/opcodes: s390-opc.txt.orig
|
427
SOURCES/binutils-s390-ld-test-fixes.patch
Normal file
427
SOURCES/binutils-s390-ld-test-fixes.patch
Normal file
@ -0,0 +1,427 @@
|
||||
diff -rup binutils.orig/ld/testsuite/ld-elfvsb/elfvsb.exp binutils-2.30/ld/testsuite/ld-elfvsb/elfvsb.exp
|
||||
--- binutils.orig/ld/testsuite/ld-elfvsb/elfvsb.exp 2020-04-06 13:46:34.057525248 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-elfvsb/elfvsb.exp 2020-04-06 14:06:44.964203913 +0100
|
||||
@@ -315,7 +315,6 @@ proc visibility_run {visibility} {
|
||||
&& ![ string match $visibility "hidden_undef" ]
|
||||
&& ![ string match $visibility "hidden_undef_def" ]
|
||||
&& ![ string match $visibility "protected_undef" ] } {
|
||||
- setup_xfail "s390x-*-linux*"
|
||||
if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
|
||||
setup_xfail "sparc*-*-linux*"
|
||||
}
|
||||
@@ -353,7 +352,6 @@ proc visibility_run {visibility} {
|
||||
|| [ string match $visibility "protected_weak" ]
|
||||
|| [ string match $visibility "normal" ] } {
|
||||
setup_xfail "powerpc-*-linux*"
|
||||
- setup_xfail "s390x-*-linux*"
|
||||
if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
|
||||
setup_xfail "sparc*-*-linux*"
|
||||
}
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/lto.exp binutils-2.30/ld/testsuite/ld-plugin/lto.exp
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/lto.exp 2020-04-06 13:46:34.063525222 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/lto.exp 2020-04-06 14:10:02.634343536 +0100
|
||||
@@ -222,7 +222,7 @@ if { [at_least_gcc_version 4 7] } {
|
||||
"" "-flto -O2" \
|
||||
{pr12942a.cc pr12942c.cc} {} "" "c++"] \
|
||||
[list "Compile PR ld/12942 (2)" \
|
||||
- "" "-O0" \
|
||||
+ "" "-O2" \
|
||||
{pr12942b.cc} {} "" "c++"] \
|
||||
]]
|
||||
}
|
||||
@@ -547,13 +547,16 @@ if { [at_least_gcc_version 4 7] } {
|
||||
}
|
||||
|
||||
# Run "ld -r" to generate inputs for complex LTO tests.
|
||||
+setup_xfail "*-*-*"
|
||||
run_dump_test "lto-3r"
|
||||
remote_exec host "mv" "tmpdir/dump tmpdir/lto-3.o"
|
||||
+setup_xfail "*-*-*"
|
||||
run_dump_test "lto-5r"
|
||||
remote_exec host "mv" "tmpdir/dump tmpdir/lto-5.o"
|
||||
|
||||
run_cc_link_tests $lto_link_symbol_tests
|
||||
|
||||
+setup_xfail "*-*-*"
|
||||
run_ld_link_tests [list \
|
||||
[list "PR ld/19317 (2)" \
|
||||
"-r tmpdir/pr19317.o" "" "" \
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-10.d binutils-2.30/ld/testsuite/ld-plugin/plugin-10.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-10.d 2020-04-06 13:46:34.060525235 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-10.d 2020-04-06 14:22:06.280196979 +0100
|
||||
@@ -34,5 +34,4 @@ 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.orig/ld/testsuite/ld-plugin/plugin-11.d binutils-2.30/ld/testsuite/ld-plugin/plugin-11.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-11.d 2020-04-06 13:46:34.063525222 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-11.d 2020-04-06 14:22:24.789116715 +0100
|
||||
@@ -38,5 +38,4 @@ hook called: all symbols read.
|
||||
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
Sym: '_?text' Resolution: LDPR_PREVAILING_DEF
|
||||
-hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-12.d binutils-2.30/ld/testsuite/ld-plugin/plugin-12.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-12.d 2020-04-06 13:46:34.060525235 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-12.d 2020-04-06 14:21:20.373396053 +0100
|
||||
@@ -1,5 +1,5 @@
|
||||
#...
|
||||
-.*: symbol `.*unc' definition: 0, visibility: 0, resolution: 2
|
||||
+.*: symbol `.*unc' definition: 0, visibility: 0, resolution: .
|
||||
.*: symbol `.*unc1' definition: 0, visibility: 1, resolution: 3
|
||||
.*: symbol `.*unc2' definition: 0, visibility: 2, resolution: 3
|
||||
.*: symbol `.*unc3' definition: 0, visibility: 3, resolution: 3
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-13.d binutils-2.30/ld/testsuite/ld-plugin/plugin-13.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-13.d 2020-04-06 13:46:34.061525231 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-13.d 2020-04-06 14:17:17.134452335 +0100
|
||||
@@ -23,5 +23,4 @@ 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.orig/ld/testsuite/ld-plugin/plugin-14.d binutils-2.30/ld/testsuite/ld-plugin/plugin-14.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-14.d 2020-04-06 13:46:34.062525226 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-14.d 2020-04-06 14:17:47.544319974 +0100
|
||||
@@ -27,7 +27,4 @@ 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.
|
||||
-#...
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-15.d binutils-2.30/ld/testsuite/ld-plugin/plugin-15.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-15.d 2020-04-06 13:46:34.060525235 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-15.d 2020-04-06 14:18:24.091160900 +0100
|
||||
@@ -28,7 +28,4 @@ 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.
|
||||
-#...
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-16.d binutils-2.30/ld/testsuite/ld-plugin/plugin-16.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-16.d 2020-04-06 13:46:34.062525226 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-16.d 2020-04-06 14:18:50.780044764 +0100
|
||||
@@ -32,7 +32,4 @@ 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.
|
||||
-#...
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-17.d binutils-2.30/ld/testsuite/ld-plugin/plugin-17.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-17.d 2020-04-06 13:46:34.061525231 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-17.d 2020-04-06 14:19:16.601932787 +0100
|
||||
@@ -33,5 +33,4 @@ 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
|
||||
-hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-18.d binutils-2.30/ld/testsuite/ld-plugin/plugin-18.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-18.d 2020-04-06 13:46:34.060525235 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-18.d 2020-04-06 14:23:32.887821405 +0100
|
||||
@@ -32,7 +32,6 @@ 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_DE.*
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
-hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-19.d binutils-2.30/ld/testsuite/ld-plugin/plugin-19.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-19.d 2020-04-06 13:46:34.063525222 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-19.d 2020-04-06 14:24:41.828522444 +0100
|
||||
@@ -35,8 +35,7 @@ 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_DE.*
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
-Sym: '_?text' Resolution: LDPR_PREVAILING_DEF
|
||||
-hook called: cleanup.
|
||||
+Sym: '_?text' Resolution: LDPR_PREVAILING_DE.*
|
||||
#...
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-20.d binutils-2.30/ld/testsuite/ld-plugin/plugin-20.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-20.d 2020-04-06 13:46:34.063525222 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-20.d 2020-04-06 14:26:04.548163731 +0100
|
||||
@@ -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.
|
||||
+#pass
|
||||
+
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-21.d binutils-2.30/ld/testsuite/ld-plugin/plugin-21.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-21.d 2020-04-06 13:46:34.061525231 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-21.d 2020-04-06 14:26:21.497090232 +0100
|
||||
@@ -2,6 +2,4 @@ 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.
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-22.d binutils-2.30/ld/testsuite/ld-plugin/plugin-22.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-22.d 2020-04-06 13:46:34.062525226 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-22.d 2020-04-06 14:27:04.766902593 +0100
|
||||
@@ -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.
|
||||
+#pass
|
||||
+
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-23.d binutils-2.30/ld/testsuite/ld-plugin/plugin-23.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-23.d 2020-04-06 13:46:34.061525231 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-23.d 2020-04-06 14:27:21.482830104 +0100
|
||||
@@ -2,6 +2,4 @@ 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.
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-24.d binutils-2.30/ld/testsuite/ld-plugin/plugin-24.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-24.d 2020-04-06 13:46:34.060525235 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-24.d 2020-04-06 14:26:45.650985489 +0100
|
||||
@@ -2,4 +2,4 @@ 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.orig/ld/testsuite/ld-plugin/plugin-25.d binutils-2.30/ld/testsuite/ld-plugin/plugin-25.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-25.d 2020-04-06 13:46:34.063525222 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-25.d 2020-04-06 14:27:37.112762325 +0100
|
||||
@@ -2,4 +2,4 @@ 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.
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-28.d binutils-2.30/ld/testsuite/ld-plugin/plugin-28.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-28.d 2020-04-06 13:46:34.062525226 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-28.d 2020-04-06 14:19:48.822793062 +0100
|
||||
@@ -1 +1,2 @@
|
||||
.*: error: Error
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-29.d binutils-2.30/ld/testsuite/ld-plugin/plugin-29.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-29.d 2020-04-06 13:46:34.063525222 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-29.d 2020-04-06 14:20:03.559729155 +0100
|
||||
@@ -1 +1,2 @@
|
||||
.*: warning: Warning
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-30.d binutils-2.30/ld/testsuite/ld-plugin/plugin-30.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-30.d 2020-04-06 13:46:34.062525226 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-30.d 2020-04-06 14:25:11.872392159 +0100
|
||||
@@ -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.orig/ld/testsuite/ld-plugin/plugin-6.d binutils-2.30/ld/testsuite/ld-plugin/plugin-6.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-6.d 2020-04-06 13:46:34.063525222 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-6.d 2020-04-06 14:13:00.297570240 +0100
|
||||
@@ -27,7 +27,4 @@ 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.
|
||||
-#...
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-7.d binutils-2.30/ld/testsuite/ld-plugin/plugin-7.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-7.d 2020-04-06 13:46:34.060525235 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-7.d 2020-04-06 14:13:51.209348643 +0100
|
||||
@@ -28,7 +28,4 @@ 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.
|
||||
-#...
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-8.d binutils-2.30/ld/testsuite/ld-plugin/plugin-8.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-8.d 2020-04-06 13:46:34.061525231 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-8.d 2020-04-06 14:14:12.827254549 +0100
|
||||
@@ -32,7 +32,4 @@ 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.
|
||||
-#...
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-9.d binutils-2.30/ld/testsuite/ld-plugin/plugin-9.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-9.d 2020-04-06 13:46:34.063525222 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-9.d 2020-04-06 14:16:35.548633342 +0100
|
||||
@@ -33,5 +33,4 @@ 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
|
||||
-hook called: cleanup.
|
||||
#...
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/pr20070.d binutils-2.30/ld/testsuite/ld-plugin/pr20070.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/pr20070.d 2020-04-06 13:46:34.061525231 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/pr20070.d 2020-04-06 14:28:01.634655986 +0100
|
||||
@@ -5,5 +5,4 @@ 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.orig/ld/testsuite/ld-elfvsb/elfvsb.exp binutils-2.30/ld/testsuite/ld-elfvsb/elfvsb.exp
|
||||
--- binutils.orig/ld/testsuite/ld-elfvsb/elfvsb.exp 2020-04-06 15:33:40.650512019 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-elfvsb/elfvsb.exp 2020-04-06 15:40:03.806845232 +0100
|
||||
@@ -323,6 +323,7 @@ proc visibility_run {visibility} {
|
||||
setup_xfail "x86_64-*-linux*"
|
||||
}
|
||||
setup_xfail "x86_64-*-linux-gnux32"
|
||||
+ setup_xfail "s390x-*-linux*"
|
||||
if { ![istarget hppa*64*-*-linux*] } {
|
||||
setup_xfail "hppa*-*-linux*"
|
||||
}
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/lto.exp binutils-2.30/ld/testsuite/ld-plugin/lto.exp
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/lto.exp 2020-04-06 15:33:40.653512005 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/lto.exp 2020-04-06 15:41:32.348460063 +0100
|
||||
@@ -538,6 +538,7 @@ if { [at_least_gcc_version 4 7] } {
|
||||
]
|
||||
}
|
||||
set testname "PR ld/12942 (3)"
|
||||
+ setup_xfail "*-*-*"
|
||||
set exec_output [run_host_cmd "$CXX" "-O2 -flto -fuse-linker-plugin tmpdir/pr12942b.o tmpdir/pr12942a.o"]
|
||||
if { [ regexp "undefined reference to `\\.?link_error\\(\\)'" $exec_output ] } {
|
||||
pass $testname
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-10.d binutils-2.30/ld/testsuite/ld-plugin/plugin-10.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-10.d 2020-04-06 15:33:40.656511992 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-10.d 2020-04-06 15:47:31.619894007 +0100
|
||||
@@ -32,6 +32,6 @@ 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_DE.*
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
#...
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-11.d binutils-2.30/ld/testsuite/ld-plugin/plugin-11.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-11.d 2020-04-06 15:33:40.653512005 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-11.d 2020-04-06 15:48:31.738631248 +0100
|
||||
@@ -35,7 +35,7 @@ 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_DE.*
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
-Sym: '_?text' Resolution: LDPR_PREVAILING_DEF
|
||||
+Sym: '_?text' Resolution: LDPR_PREVAILING_DE.*
|
||||
#...
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-13.d binutils-2.30/ld/testsuite/ld-plugin/plugin-13.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-13.d 2020-04-06 15:33:40.653512005 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-13.d 2020-04-06 15:43:46.962874471 +0100
|
||||
@@ -22,5 +22,4 @@ Hello from testplugin.
|
||||
hook called: claim_file tmpdir/main.o \[@0/.* not claimed
|
||||
hook called: claim_file .*/ld/testsuite/ld-plugin/func.c \[@0/.* CLAIMED
|
||||
hook called: claim_file tmpdir/text.o \[@0/.* not claimed
|
||||
-#...
|
||||
-
|
||||
+#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-16.d binutils-2.30/ld/testsuite/ld-plugin/plugin-16.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-16.d 2020-04-06 15:33:40.653512005 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-16.d 2020-04-06 15:44:31.918678908 +0100
|
||||
@@ -30,6 +30,6 @@ 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_DE.*
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-17.d binutils-2.30/ld/testsuite/ld-plugin/plugin-17.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-17.d 2020-04-06 15:33:40.655511997 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-17.d 2020-04-06 15:45:08.899517790 +0100
|
||||
@@ -31,6 +31,6 @@ 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_DE.*
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
#...
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-8.d binutils-2.30/ld/testsuite/ld-plugin/plugin-8.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-8.d 2020-04-06 15:33:40.653512005 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-8.d 2020-04-06 15:42:26.081226318 +0100
|
||||
@@ -30,6 +30,6 @@ 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_DE.*
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
#pass
|
||||
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-9.d binutils-2.30/ld/testsuite/ld-plugin/plugin-9.d
|
||||
--- binutils.orig/ld/testsuite/ld-plugin/plugin-9.d 2020-04-06 15:33:40.654512001 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-9.d 2020-04-06 15:43:01.761071105 +0100
|
||||
@@ -31,6 +31,6 @@ 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_DE.*
|
||||
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
|
||||
#...
|
||||
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 2020-04-06 15:33:40.655511997 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin.exp 2020-04-06 15:46:30.704160249 +0100
|
||||
@@ -268,7 +268,7 @@ set plugin_extra_elf_tests [list \
|
||||
-plugin-opt add:tmpdir/func2i.o \
|
||||
-plugin-opt add:tmpdir/func3h.o \
|
||||
$testobjfiles $libs --verbose=2" "" "" "" {{ld plugin-12.d} \
|
||||
- {readelf -s plugin-vis-1.d}} "main.x" ] \
|
||||
+ } "main.x" ] \
|
||||
[list "plugin set symbol visibility with source" \
|
||||
"-plugin $plugin_path $regclm $regas $regcln \
|
||||
-plugin-opt claim:$srcdir/$subdir/func.c \
|
||||
@@ -282,7 +282,7 @@ set plugin_extra_elf_tests [list \
|
||||
-plugin-opt add:tmpdir/func2i.o \
|
||||
-plugin-opt add:tmpdir/func3h.o \
|
||||
$testsrcfiles $libs --verbose=2" "" "" "" {{ld plugin-12.d} \
|
||||
- {readelf -s plugin-vis-1.d}} "main.x" ] \
|
||||
+ } "main.x" ] \
|
||||
]
|
||||
|
||||
if { !$can_compile || $failed_compile } {
|
||||
diff -rup binutils.orig/ld/testsuite/ld-shared/shared.exp binutils-2.30/ld/testsuite/ld-shared/shared.exp
|
||||
--- binutils.orig/ld/testsuite/ld-shared/shared.exp 2020-04-06 15:33:40.688511853 +0100
|
||||
+++ binutils-2.30/ld/testsuite/ld-shared/shared.exp 2020-04-06 15:34:38.645259733 +0100
|
||||
@@ -275,7 +275,6 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $
|
||||
setup_xfail "x86_64-*-linux*"
|
||||
}
|
||||
setup_xfail "x86_64-*-linux-gnux32"
|
||||
- setup_xfail "s390x-*-linux*"
|
||||
if [ string match $shared_needs_pic "yes" ] {
|
||||
setup_xfail "arm*-*-linux*"
|
||||
}
|
43
SOURCES/binutils-s390x-prevent-GOT-rewrite.patch
Normal file
43
SOURCES/binutils-s390x-prevent-GOT-rewrite.patch
Normal file
@ -0,0 +1,43 @@
|
||||
--- binutils.orig/bfd/elf64-s390.c 2020-06-15 11:01:54.671940830 +0100
|
||||
+++ binutils-2.30/bfd/elf64-s390.c 2020-06-15 11:04:44.663343784 +0100
|
||||
@@ -2335,6 +2335,9 @@ elf_s390_relocate_section (bfd *output_b
|
||||
&& SYMBOL_REFERENCES_LOCAL (info, h))
|
||||
|| resolved_to_zero)
|
||||
{
|
||||
+ Elf_Internal_Sym *isym;
|
||||
+ asection *sym_sec;
|
||||
+
|
||||
/* This is actually a static link, or it is a
|
||||
-Bsymbolic link and the symbol is defined
|
||||
locally, or the symbol was forced to be local
|
||||
@@ -2356,6 +2359,10 @@ elf_s390_relocate_section (bfd *output_b
|
||||
h->got.offset |= 1;
|
||||
}
|
||||
|
||||
+ /* When turning a GOT slot dereference into a direct
|
||||
+ reference using larl we have to make sure that
|
||||
+ the symbol is 1. properly aligned and 2. it is no
|
||||
+ ABS symbol or will become one. */
|
||||
if ((h->def_regular
|
||||
&& bfd_link_pic (info)
|
||||
&& SYMBOL_REFERENCES_LOCAL (info, h))
|
||||
@@ -2370,8 +2377,17 @@ elf_s390_relocate_section (bfd *output_b
|
||||
contents + rel->r_offset - 2)
|
||||
& 0xff00f000) == 0xe300c000
|
||||
&& bfd_get_8 (input_bfd,
|
||||
- contents + rel->r_offset + 3) == 0x04)))
|
||||
-
|
||||
+ contents + rel->r_offset + 3) == 0x04))
|
||||
+ && (isym = bfd_sym_from_r_symndx (&htab->sym_cache,
|
||||
+ input_bfd, r_symndx))
|
||||
+ && isym->st_shndx != SHN_ABS
|
||||
+ && h != htab->elf.hdynamic
|
||||
+ && h != htab->elf.hgot
|
||||
+ && h != htab->elf.hplt
|
||||
+ && !(isym->st_value & 1)
|
||||
+ && (sym_sec = bfd_section_from_elf_index (input_bfd,
|
||||
+ isym->st_shndx))
|
||||
+ && sym_sec->alignment_power)
|
||||
{
|
||||
unsigned short new_insn =
|
||||
(0xc000 | (bfd_get_8 (input_bfd,
|
11
SOURCES/binutils-sanitize-uses-dlsym.patch
Normal file
11
SOURCES/binutils-sanitize-uses-dlsym.patch
Normal file
@ -0,0 +1,11 @@
|
||||
diff -rup binutils.orig/config/plugins.m4 binutils-2.30/config/plugins.m4
|
||||
--- binutils.orig/config/plugins.m4 2019-02-18 16:11:38.392440473 +0000
|
||||
+++ binutils-2.30/config/plugins.m4 2019-02-18 16:11:44.715393846 +0000
|
||||
@@ -16,6 +16,6 @@ AC_DEFUN([AC_PLUGINS],
|
||||
[plugins=$maybe_plugins]
|
||||
)
|
||||
if test "$plugins" = "yes"; then
|
||||
- AC_SEARCH_LIBS([dlopen], [dl])
|
||||
+ AC_SEARCH_LIBS([dlsym], [dl])
|
||||
fi
|
||||
])
|
116
SOURCES/binutils-x86-gas-scaled-8-bit-displacements.patch
Normal file
116
SOURCES/binutils-x86-gas-scaled-8-bit-displacements.patch
Normal file
@ -0,0 +1,116 @@
|
||||
--- binutils.orig/gas/config/tc-i386.c 2020-08-21 10:21:00.595678097 +0100
|
||||
+++ binutils-2.30/gas/config/tc-i386.c 2020-08-21 10:22:15.009449340 +0100
|
||||
@@ -8035,7 +8035,8 @@ output_disp (fragS *insn_start_frag, off
|
||||
int size = disp_size (n);
|
||||
offsetT val = i.op[n].disps->X_add_number;
|
||||
|
||||
- val = offset_in_range (val >> i.memshift, size);
|
||||
+ val = offset_in_range (val >> (size == 1 ? i.memshift : 0),
|
||||
+ size);
|
||||
p = frag_more (size);
|
||||
md_number_to_chars (p, val, size);
|
||||
}
|
||||
--- binutils.orig/gas/testsuite/gas/i386/i386.exp 2020-08-21 10:21:00.669677873 +0100
|
||||
+++ binutils-2.30/gas/testsuite/gas/i386/i386.exp 2020-08-21 10:39:22.921167674 +0100
|
||||
@@ -216,6 +216,7 @@ if [expr ([istarget "i*86-*-*"] || [ist
|
||||
run_dump_test "evex-lig512-intel"
|
||||
run_dump_test "evex-wig1"
|
||||
run_dump_test "evex-wig1-intel"
|
||||
+ run_dump_test "evex-no-scale-32"
|
||||
run_dump_test "sse2avx"
|
||||
run_list_test "inval-avx" "-al"
|
||||
run_list_test "inval-avx512f" "-al"
|
||||
@@ -692,6 +693,7 @@ if [expr ([istarget "i*86-*-*"] || [ista
|
||||
run_dump_test "x86-64-avx256int-intel"
|
||||
run_dump_test "x86-64-avx2"
|
||||
run_dump_test "x86-64-avx2-intel"
|
||||
+ run_dump_test "evex-no-scale-64"
|
||||
run_dump_test "x86-64-avx-gather"
|
||||
run_dump_test "x86-64-avx-gather-intel"
|
||||
run_dump_test "x86-64-avx512f"
|
||||
--- /dev/null 2020-08-21 07:54:54.335936348 +0100
|
||||
+++ binutils-2.30/gas/testsuite/gas/i386/evex-no-scale.s 2020-08-21 10:41:30.411757740 +0100
|
||||
@@ -0,0 +1,18 @@
|
||||
+ .allow_index_reg
|
||||
+ .struct
|
||||
+ inc %eax
|
||||
+.equiv is_64bit, . > 1
|
||||
+
|
||||
+ .text
|
||||
+disp:
|
||||
+.if is_64bit
|
||||
+ vmovaps -1024(%rip), %zmm0
|
||||
+ vmovaps 64(,%rax), %zmm0
|
||||
+ vmovaps 64(,%riz), %zmm0
|
||||
+.endif
|
||||
+ vmovaps 64(,%eax), %zmm0
|
||||
+ vmovaps 64(,%eiz), %zmm0
|
||||
+ vmovaps 64, %zmm0
|
||||
+.if !is_64bit
|
||||
+ addr16 vmovaps 64, %zmm0
|
||||
+.endif
|
||||
--- /dev/null 2020-08-21 07:54:54.335936348 +0100
|
||||
+++ binutils-2.30/gas/testsuite/gas/i386/evex-no-scale-32.d 2020-08-21 10:41:37.347735430 +0100
|
||||
@@ -0,0 +1,14 @@
|
||||
+#source: evex-no-scale.s
|
||||
+#objdump: -dw
|
||||
+#name: ix86 EVEX no disp scaling
|
||||
+
|
||||
+.*: +file format .*
|
||||
+
|
||||
+Disassembly of section .text:
|
||||
+
|
||||
+0+ <disp>:
|
||||
+ +[a-f0-9]+: 62 f1 7c 48 28 04 05 40 00 00 00 vmovaps 0x40\(,%eax,1\),%zmm0
|
||||
+ +[a-f0-9]+: 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40\(,%eiz,1\),%zmm0
|
||||
+ +[a-f0-9]+: 62 f1 7c 48 28 05 40 00 00 00 vmovaps 0x40,%zmm0
|
||||
+ +[a-f0-9]+: 67 62 f1 7c 48 28 06 40 00 vmovaps 0x40,%zmm0
|
||||
+#pass
|
||||
--- /dev/null 2020-08-21 07:54:54.335936348 +0100
|
||||
+++ binutils-2.30/gas/testsuite/gas/i386/evex-no-scale-64.d 2020-08-21 10:41:42.539718727 +0100
|
||||
@@ -0,0 +1,16 @@
|
||||
+#source: evex-no-scale.s
|
||||
+#objdump: -dw
|
||||
+#name: x86-64 EVEX no disp scaling
|
||||
+
|
||||
+.*: +file format .*
|
||||
+
|
||||
+Disassembly of section .text:
|
||||
+
|
||||
+0+ <disp>:
|
||||
+ +[a-f0-9]+: 62 f1 7c 48 28 05 00 fc ff ff vmovaps -0x400\(%rip\),%zmm0 # .*
|
||||
+ +[a-f0-9]+: 62 f1 7c 48 28 04 05 40 00 00 00 vmovaps 0x40\(,%rax,1\),%zmm0
|
||||
+ +[a-f0-9]+: 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40,%zmm0
|
||||
+ +[a-f0-9]+: 67 62 f1 7c 48 28 04 05 40 00 00 00 vmovaps 0x40\(,%eax,1\),%zmm0
|
||||
+ +[a-f0-9]+: 67 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40\(,%eiz,1\),%zmm0
|
||||
+ +[a-f0-9]+: 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40,%zmm0
|
||||
+#pass
|
||||
--- binutils.orig/gas/testsuite/gas/i386/evex-no-scale.s 2020-08-21 12:48:57.859030235 +0100
|
||||
+++ binutils-2.30/gas/testsuite/gas/i386/evex-no-scale.s 2020-08-21 12:53:26.631149341 +0100
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
.text
|
||||
disp:
|
||||
-.if is_64bit
|
||||
+.ifdef x86_64
|
||||
vmovaps -1024(%rip), %zmm0
|
||||
vmovaps 64(,%rax), %zmm0
|
||||
vmovaps 64(,%riz), %zmm0
|
||||
@@ -13,6 +13,6 @@ disp:
|
||||
vmovaps 64(,%eax), %zmm0
|
||||
vmovaps 64(,%eiz), %zmm0
|
||||
vmovaps 64, %zmm0
|
||||
-.if !is_64bit
|
||||
+.ifndef x86_64
|
||||
addr16 vmovaps 64, %zmm0
|
||||
.endif
|
||||
--- binutils.orig/gas/testsuite/gas/i386/evex-no-scale-64.d 2020-08-21 12:48:57.860030232 +0100
|
||||
+++ binutils-2.30/gas/testsuite/gas/i386/evex-no-scale-64.d 2020-08-21 13:20:59.174525430 +0100
|
||||
@@ -11,6 +11,6 @@ Disassembly of section .text:
|
||||
+[a-f0-9]+: 62 f1 7c 48 28 04 05 40 00 00 00 vmovaps 0x40\(,%rax,1\),%zmm0
|
||||
+[a-f0-9]+: 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40,%zmm0
|
||||
+[a-f0-9]+: 67 62 f1 7c 48 28 04 05 40 00 00 00 vmovaps 0x40\(,%eax,1\),%zmm0
|
||||
- +[a-f0-9]+: 67 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40\(,%eiz,1\),%zmm0
|
||||
+ +[a-f0-9]+: 67 62 f1 7c 48 28 04 25 40 00 00 00 addr32 vmovaps 0x40,%zmm0
|
||||
+[a-f0-9]+: 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40,%zmm0
|
||||
#pass
|
@ -69,7 +69,7 @@
|
||||
Summary: A GNU collection of binary utilities
|
||||
Name: %{?cross}binutils%{?_with_debug:-debug}
|
||||
Version: 2.30
|
||||
Release: 73%{?dist}
|
||||
Release: 79%{?dist}
|
||||
License: GPLv3+
|
||||
URL: https://sourceware.org/binutils
|
||||
|
||||
@ -431,6 +431,53 @@ Patch66: binutils-CVE-2019-17450.patch
|
||||
# Lifetime: Fixed in 2.35
|
||||
Patch67: binutils-copy-multiple-relocs.patch
|
||||
|
||||
# Purpose: Stop the BFD library from issueing warning messages about allocated
|
||||
# sections being found outside of loadable segments, if they are
|
||||
# found inside debuginfo files.
|
||||
# Lifetime: Fixed in 2.33
|
||||
Patch68: binutils-do-not-warn-about-debuginfo-files.patch
|
||||
|
||||
# Purpose: Fix failures in the linker testsuite for the s390-linux target.
|
||||
# Lifetime: Fixed in 2.33
|
||||
Patch69: binutils-s390-ld-test-fixes.patch
|
||||
|
||||
# Purpose: Fix failures in the linker testsuite for the s390-linux target.
|
||||
# Lifetime: Fixed in 2.33
|
||||
Patch70: binutils-aarch64-ld-test-fixes.patch
|
||||
|
||||
# Purpose: Fix building the binutils with address sanitization enabled.
|
||||
# Lifetime: Fixed in 2.33
|
||||
Patch71: binutils-sanitize-uses-dlsym.patch
|
||||
|
||||
# Purpose: Fix building the binutils with address sanitization enabled.
|
||||
# Lifetime: Fixed in 2.33
|
||||
Patch72: binutils-PT_GNU_PROPERTY-segment.patch
|
||||
|
||||
# Purpose: Stop gold from aborting when input sections with the same name
|
||||
# have different flags.
|
||||
# Lifetime: 2.33 (probably)
|
||||
Patch73: binutils-gold-mismatched-section-flags.patch
|
||||
|
||||
# Purpose: Stop objcopy's --set-section-flag option from accepting the
|
||||
# 'shared' flag on non-COFF binaries.
|
||||
# Lifetime: Fixed in 2.34
|
||||
Patch74: binutils-objcopy-set-section-flags-shared.patch
|
||||
|
||||
# Purpose: Prevent the s/390 linker from rewriting the GOT access
|
||||
# for certain symbols.
|
||||
# Lifetime: Fixed in 2.32
|
||||
Patch75: binutils-s390x-prevent-GOT-rewrite.patch
|
||||
|
||||
# Purpose: Have the s/390 assembler include alignment hints in vector
|
||||
# instructions.
|
||||
# Lifetime: Fixed in 2.35
|
||||
Patch76: binutils-s390-alignment-hints.patch
|
||||
|
||||
# Purpose: Fix the x86 assembler so that it does not scale non-8-bit
|
||||
# displacements.
|
||||
# Lifetime: Fixed in 2.32
|
||||
Patch77: binutils-x86-gas-scaled-8-bit-displacements.patch
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
Provides: bundled(libiberty)
|
||||
@ -622,6 +669,16 @@ using libelf instead of BFD.
|
||||
%patch65 -p1
|
||||
%patch66 -p1
|
||||
%patch67 -p1
|
||||
%patch68 -p1
|
||||
%patch69 -p1
|
||||
%patch70 -p1
|
||||
%patch71 -p1
|
||||
%patch72 -p1
|
||||
%patch73 -p1
|
||||
%patch74 -p1
|
||||
%patch75 -p1
|
||||
%patch76 -p1
|
||||
%patch77 -p1
|
||||
|
||||
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
|
||||
# FIXME - this is no longer true. Maybe try reinstating autotool use ?
|
||||
@ -1059,6 +1116,28 @@ exit 0
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
%changelog
|
||||
* Fri Aug 21 2020 Nick Clifton <nickc@redhat.com> - 2.30-79
|
||||
- Fix x86 assembler's handling of non-8-bit displacements. (#1869401)
|
||||
|
||||
* Thu Aug 20 2020 Nick Clifton <nickc@redhat.com> - 2.30-77
|
||||
- Add tests missing from PT_GNU_SEGMENT patch. (#1870039)
|
||||
|
||||
* Wed Jun 24 2020 Nick Clifton <nickc@redhat.com> - 2.30-76
|
||||
- Have the s.390 assembler include alignment hints with vector instructions. (#1850490)
|
||||
|
||||
* Mon Jun 15 2020 Nick Clifton <nickc@redhat.com> - 2.30-75
|
||||
- Prevent the s/390 linker from rewriting the GOT access for certain symbol types. (#1846972)
|
||||
|
||||
* Tue Apr 07 2020 Nick Clifton <nickc@redhat.com> - 2.30-74
|
||||
- Stop the BFD library from issueing warning messages about allocated sections being found outside of loadable segments. (#1630115)
|
||||
- Fix linker testsuite failures for the aarch64 and s390x targets. (#1632775, #1809101)
|
||||
- Fix building the binutils with address sanitization enabled. (#1678323)
|
||||
- Add support for the PT_GNU_PROPERTY segment. (#1721606)
|
||||
- Fix an internal error in the GOLD linker. (#1722715)
|
||||
- Fix the generation of corrupt .note.gnu.property notes. (#1723533)
|
||||
- Stop objcopy's --set-section-flags option from setting the 'shared' flag on non-COFF binaries. (#1807308)
|
||||
- Fix a bug in the secondary reloc processing code. (#1809186)
|
||||
|
||||
* Wed Feb 12 2020 Nick Clifton <nickc@redhat.com> - 2.30-73
|
||||
- Remove bogus assertion. (#1801879)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user