aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2022-08-01 16:02:39 -0700
committerH.J. Lu <hjl.tools@gmail.com>2022-08-03 13:34:01 -0700
commit59f214544c50ec7ebbca285ff2b4949f48671690 (patch)
tree4645337eb1c67bb185be11a0d0d59f8a63e0fa5a /ld
parent88c4cce8d28e6be486cb25fbbccf2b42e40da45b (diff)
downloadbinutils-59f214544c50ec7ebbca285ff2b4949f48671690.zip
binutils-59f214544c50ec7ebbca285ff2b4949f48671690.tar.gz
binutils-59f214544c50ec7ebbca285ff2b4949f48671690.tar.bz2
elf: Reset alignment for each PT_LOAD segment
Reset alignment for each PT_LOAD segment to avoid using alignment from the previous PT_LOAD segment. bfd/ PR ld/29435 * elf.c (assign_file_positions_for_load_sections): Reset alignment for each PT_LOAD segment. ld/ PR ld/29435 * testsuite/ld-elf/pr29435.d: New file. * testsuite/ld-elf/pr29435.s: Likewise.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ld-elf/pr29435.d11
-rw-r--r--ld/testsuite/ld-elf/pr29435.s6
2 files changed, 17 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elf/pr29435.d b/ld/testsuite/ld-elf/pr29435.d
new file mode 100644
index 0000000..4ca4fd0
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr29435.d
@@ -0,0 +1,11 @@
+#ld: -shared -z separate-code -z relro
+#xfail: ![check_shared_lib_support]
+#xfail: ![check_relro_support]
+#readelf: -Wl
+
+#failif
+#...
+ +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ .* 0x8000
+#...
+ +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ .* 0x8000
+#...
diff --git a/ld/testsuite/ld-elf/pr29435.s b/ld/testsuite/ld-elf/pr29435.s
new file mode 100644
index 0000000..d2d8f26
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr29435.s
@@ -0,0 +1,6 @@
+ .text
+ .balign 0x8000
+ .globl foo
+ .type foo, %function
+foo:
+ .byte 0