binutils/aarch64-common-pagesize.patch
Michael Matz 809215cb87 Accepting request 580272 from home:Andreas_Schwab:Factory
- Update to binutils 2.30
  * Add --debug-dump=links option to readelf and --dwarf=links option to objdump
    which displays the contents of any .gnu_debuglink or .gnu_debugaltlink
    sections.
    Add a --debug-dump=follow-links option to readelf and a --dwarf=follow-links
    option to objdump which causes indirect links into separate debug info files
    to be followed when dumping other DWARF sections.
  * Add support for loaction views in DWARF debug line information.
  * Add -z separate-code to generate separate code PT_LOAD segment.
  * Add "-z undefs" command line option as the inverse of the "-z defs" option.
  * Add -z globalaudit command line option to force audit libraries to be run
    for every dynamic object loaded by an executable - provided that the loader
    supports this functionality.
  * Tighten linker script grammar around file name specifiers to prevent the use
    of SORT_BY_ALIGNMENT and SORT_BY_INIT_PRIORITY on filenames.  These would
    previously be accepted but had no effect.
  * The EXCLUDE_FILE directive can now be placed within any SORT_* directive
    within input section lists.
- binutils-2.30-branch.diff: 2.30 branch @4cd0043413
- riscv-wrap-relax.patch: Fix linker relaxation with --wrap
- Remove use-hashtype-both-by-default.diff, use
  --enable-default-hash-style=both instead
- Remove binutils-2.29-branch.diff, s390x-8fe09d7.diff
- Use riscv64-suse-linux as target for cross-riscv64-binutils

OBS-URL: https://build.opensuse.org/request/show/580272
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/binutils?expand=0&rev=265
2018-02-26 15:56:02 +00:00

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
@@ -7945,7 +7945,7 @@ const struct elf_size_info elfNN_aarch64
#define ELF_MACHINE_CODE EM_AARCH64
#define ELF_MAXPAGESIZE 0x10000
#define ELF_MINPAGESIZE 0x1000
-#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