forked from pool/binutils
a121495e23
- Update to binutils 2.35: * The asseembler can now produce DWARF-5 format line number tables. * Readelf now has a "lint" mode to enable extra checks of the files it is processing. * Readelf will now display "[...]" when it has to truncate a symbol name. The old behaviour - of displaying as many characters as possible, up to the 80 column limit - can be restored by the use of the --silent-truncation option. * The linker can now produce a dependency file listing the inputs that it has processed, much like the -M -MP option supported by the compiler. - Regenerate add-ulp-section.diff with -p1 due to a fuzzing issue. - Remove binutils-2.34-branch.diff.gz. - Regenerate binutils-build-as-needed.diff due to a fuzzing issue. - Regenerate binutils-fix-invalid-op-errata.diff as one hunk was upstreamed. - Remove upstreamed patch binutils-pr25593.diff. - Regenerate unit-at-a-time.patch due to a fuzzing issue. - Regenerate binutils-revert-plt32-in-branches.diff. OBS-URL: https://build.opensuse.org/request/show/822679 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/binutils?expand=0&rev=338
26 lines
1.0 KiB
Diff
26 lines
1.0 KiB
Diff
Also reported as PR25210. There's a problem when using the two
|
|
linker options '--fix-cortex-a53-835769 --fix-cortex-a53-843419'
|
|
together. This is the default in our distro, but not upstream so
|
|
it went unnoticed.
|
|
|
|
Leads to an error while linking any code that sports one of the
|
|
sequences that triggers the errata fixup (gcc being one of those),
|
|
namely:
|
|
ld: can not size stub section: invalid operation
|
|
ld: warning: cannot find entry symbol _start; defaulting to 0000000000400078
|
|
ld: linker stubs: file class ELFCLASSNONE incompatible with ELFCLASS64
|
|
ld: final link failed: file in wrong format
|
|
|
|
--- bfd/elfnn-aarch64.c.mm 2019-09-09 13:19:43.000000000 +0000
|
|
+++ bfd/elfnn-aarch64.c 2019-11-20 11:44:00.000000000 +0000
|
|
@@ -4313,7 +4313,8 @@ elfNN_aarch64_size_stubs (bfd *output_bfd,
|
|
|| (input_bfd->flags & BFD_LINKER_CREATED) != 0)
|
|
continue;
|
|
|
|
- if (!_bfd_aarch64_erratum_835769_scan (input_bfd, info,
|
|
+ if (input_bfd != stub_bfd
|
|
+ && !_bfd_aarch64_erratum_835769_scan (input_bfd, info,
|
|
&num_erratum_835769_fixes))
|
|
return FALSE;
|
|
}
|