summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/gold/testsuite/pr17704a_test.s
diff options
context:
space:
mode:
authorRahul Chaudhry <rahulchaudhry@google.com>2016-10-21 16:34:06 -0700
committerRahul Chaudhry <rahulchaudhry@google.com>2016-10-21 16:34:06 -0700
commitb8ff982870858c54e09105458b6955b391cc0a11 (patch)
tree4257a2c773e6288a8638f105a4ed21ccc45ff4ec /binutils-2.25/gold/testsuite/pr17704a_test.s
parent129dec3ed0e1fc07f75a4322014d770cfd642f4d (diff)
downloadtoolchain_binutils-b8ff982870858c54e09105458b6955b391cc0a11.tar.gz
toolchain_binutils-b8ff982870858c54e09105458b6955b391cc0a11.tar.bz2
toolchain_binutils-b8ff982870858c54e09105458b6955b391cc0a11.zip
gold: make icf respect section alignment requirements.
Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=628795 The upstream bug is https://sourceware.org/bugzilla/show_bug.cgi?id=17704 This patch is backported from upstream - commit ac423761af22f7858a1413cda5df3e1d5e88d4e4 Author: Gergely Nagy <ngg@tresorit.com> Date: Fri Oct 21 11:08:20 2016 -0700 Fix PR 17704. This fix keeps the section with the highest alignment when folding sections with ICF. PR gold/17704 * icf.cc (match_sections): Add new parameter section_addraligns. Check section alignment and keep the section with the strictest alignment. (find_identical_sections): New local variable section_addraligns. Store each section's alignment. * testsuite/pr17704a_test.s: New file. * testsuite/Makefile.am (pr17704a_test): New test. * testsuite/Makefile.in: Regenerate.
Diffstat (limited to 'binutils-2.25/gold/testsuite/pr17704a_test.s')
-rw-r--r--binutils-2.25/gold/testsuite/pr17704a_test.s23
1 files changed, 23 insertions, 0 deletions
diff --git a/binutils-2.25/gold/testsuite/pr17704a_test.s b/binutils-2.25/gold/testsuite/pr17704a_test.s
new file mode 100644
index 00000000..2b39e649
--- /dev/null
+++ b/binutils-2.25/gold/testsuite/pr17704a_test.s
@@ -0,0 +1,23 @@
+nop
+ .section .text.foo,"axG",@progbits,foo,comdat
+foo:
+ ret
+
+ .section .text.bar,"axG",@progbits,bar,comdat
+ .align 2
+bar:
+ ret
+
+ .section .text._start,"ax",@progbits
+ .globl _start
+_start:
+ leaq bar(%rip), %rsi
+ testb $1, %sil
+ je .L9
+ mov $1, %eax
+ mov $1, %ebx
+ int $0x80
+.L9:
+ mov $1, %eax
+ mov $0, %ebx
+ int $0x80