forked from pool/binutils
fd2a841d44
- Update to binutils 2.38: * elfedit: Add --output-abiversion option to update ABIVERSION. * Add support for the LoongArch instruction set. * Tools which display symbols or strings (readelf, strings, nm, objdump) have a new command line option which controls how unicode characters are handled. By default they are treated as normal for the tool. Using --unicode=locale will display them according to the current locale. Using --unicode=hex will display them as hex byte values, whilst --unicode=escape will display them as escape sequences. In addition using --unicode=highlight will display them as unicode escape sequences highlighted in red (if supported by the output device). * readelf -r dumps RELR relative relocations now. * Support for efi-app-aarch64, efi-rtdrv-aarch64 and efi-bsdrv-aarch64 has been added to objcopy in order to enable UEFI development using binutils. * ar: Add --thin for creating thin archives. -T is a deprecated alias without diagnostics. In many ar implementations -T has a different meaning, as specified by X/Open System Interface. * Add support for AArch64 system registers that were missing in previous releases. * Add support for the LoongArch instruction set. * Add a command-line option, -muse-unaligned-vector-move, for x86 target to encode aligned vector move as unaligned vector move. * Add support for Cortex-R52+ for Arm. * Add support for Cortex-A510, Cortex-A710, Cortex-X2 for AArch64. * Add support for Cortex-A710 for Arm. * Add support for Scalable Matrix Extension (SME) for AArch64. * The --multibyte-handling=[allow|warn|warn-sym-only] option tells the assembler what to when it encoutners multibyte characters in the input. The default is to allow them. Setting the option to "warn" will generate a warning message whenever any multibyte character is encountered. Using the There are no new CVEs fixed in the release. OBS-URL: https://build.opensuse.org/request/show/953949 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/binutils?expand=0&rev=387
57 lines
2.7 KiB
Diff
57 lines
2.7 KiB
Diff
Change default common-page-size to 64K on aarch64. This enables the use
|
|
of RELRO since we are using 64K pages.
|
|
|
|
Index: binutils-2.25.0/bfd/elfnn-aarch64.c
|
|
===================================================================
|
|
--- binutils-2.25.0.orig/bfd/elfnn-aarch64.c
|
|
+++ binutils-2.25.0/bfd/elfnn-aarch64.c
|
|
@@ -9965,7 +9965,7 @@ const struct elf_size_info elfNN_aarch64_size_info =
|
|
#define ELF_ARCH bfd_arch_aarch64
|
|
#define ELF_MACHINE_CODE EM_AARCH64
|
|
#define ELF_MAXPAGESIZE 0x10000
|
|
-#define ELF_COMMONPAGESIZE 0x1000
|
|
+#define ELF_COMMONPAGESIZE 0x10000
|
|
|
|
#define bfd_elfNN_close_and_cleanup \
|
|
elfNN_aarch64_close_and_cleanup
|
|
Index: binutils-2.25.0/gold/aarch64.cc
|
|
===================================================================
|
|
--- binutils-2.25.0.orig/gold/aarch64.cc
|
|
+++ binutils-2.25.0/gold/aarch64.cc
|
|
@@ -791,7 +791,7 @@ const Target::Target_info Target_aarch64
|
|
"/lib/ld.so.1", // program interpreter
|
|
0x400000, // default_text_segment_address
|
|
0x10000, // abi_pagesize (overridable by -z max-page-size)
|
|
- 0x1000, // common_pagesize (overridable by -z common-page-size)
|
|
+ 0x10000, // common_pagesize (overridable by -z common-page-size)
|
|
false, // isolate_execinstr
|
|
0, // rosegment_gap
|
|
elfcpp::SHN_UNDEF, // small_common_shndx
|
|
@@ -818,7 +818,7 @@ const Target::Target_info Target_aarch64
|
|
"/lib/ld.so.1", // program interpreter
|
|
0x400000, // default_text_segment_address
|
|
0x10000, // abi_pagesize (overridable by -z max-page-size)
|
|
- 0x1000, // common_pagesize (overridable by -z common-page-size)
|
|
+ 0x10000, // common_pagesize (overridable by -z common-page-size)
|
|
false, // isolate_execinstr
|
|
0, // rosegment_gap
|
|
elfcpp::SHN_UNDEF, // small_common_shndx
|
|
@@ -845,7 +845,7 @@ const Target::Target_info Target_aarch64
|
|
"/lib/ld.so.1", // program interpreter
|
|
0x400000, // default_text_segment_address
|
|
0x10000, // abi_pagesize (overridable by -z max-page-size)
|
|
- 0x1000, // common_pagesize (overridable by -z common-page-size)
|
|
+ 0x10000, // common_pagesize (overridable by -z common-page-size)
|
|
false, // isolate_execinstr
|
|
0, // rosegment_gap
|
|
elfcpp::SHN_UNDEF, // small_common_shndx
|
|
@@ -872,7 +872,7 @@ const Target::Target_info Target_aarch64
|
|
"/lib/ld.so.1", // program interpreter
|
|
0x400000, // default_text_segment_address
|
|
0x10000, // abi_pagesize (overridable by -z max-page-size)
|
|
- 0x1000, // common_pagesize (overridable by -z common-page-size)
|
|
+ 0x10000, // common_pagesize (overridable by -z common-page-size)
|
|
false, // isolate_execinstr
|
|
0, // rosegment_gap
|
|
elfcpp::SHN_UNDEF, // small_common_shndx
|