forked from pool/binutils
7c6063bdba
- Update to binutils 2.37: * The GNU Binutils sources now requires a C99 compiler and library to build. * Support for the arm-symbianelf format has been removed. * Support for Realm Management Extension (RME) for AArch64 has been added. * A new linker option '-z report-relative-reloc' for x86 ELF targets has been added to report dynamic relative relocations. * A new linker option '-z start-stop-gc' has been added to disable special treatment of __start_*/__stop_* references when --gc-sections. * A new linker options '-Bno-symbolic' has been added which will cancel the '-Bsymbolic' and '-Bsymbolic-functions' options. * The readelf tool has a new command line option which can be used to specify how the numeric values of symbols are reported. --sym-base=0|8|10|16 tells readelf to display the values in base 8, base 10 or base 16. A sym base of 0 represents the default action of displaying values under 10000 in base 10 and values above that in base 16. * A new format has been added to the nm program. Specifying '--format=just-symbols' (or just using -j) will tell the program to only display symbol names and nothing else. * A new command line option '--keep-section-symbols' has been added to objcopy and strip. This stops the removal of unused section symbols when the file is copied. Removing these symbols saves space, but sometimes they are needed by other tools. * The '--weaken', '--weaken-symbol' and '--weaken-symbols' options supported by objcopy now make undefined symbols weak on targets that support weak symbols. * Readelf and objdump can now display and use the contents of .debug_sup OBS-URL: https://build.opensuse.org/request/show/907786 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/binutils?expand=0&rev=363
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
|
|
@@ -4312,7 +4312,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;
|
|
}
|