Add a test for PR ld/22150
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 22 Sep 2017 13:58:48 +0000 (06:58 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 22 Sep 2017 14:05:53 +0000 (07:05 -0700)
PR ld/22150
* testsuite/ld-elf/pr22150.vd: New file.
* testsuite/ld-elf/pr22150.ver: Likewise.
* testsuite/ld-elf/pr22150a.s: Likewise.
* testsuite/ld-elf/pr22150b.s: Likewise.
* testsuite/ld-elf/shared.exp: Run PR ld/22150 tests.

ld/ChangeLog
ld/testsuite/ld-elf/pr22150.vd [new file with mode: 0644]
ld/testsuite/ld-elf/pr22150.ver [new file with mode: 0644]
ld/testsuite/ld-elf/pr22150a.s [new file with mode: 0644]
ld/testsuite/ld-elf/pr22150b.s [new file with mode: 0644]
ld/testsuite/ld-elf/shared.exp

index fcb3f0f..b15d726 100644 (file)
@@ -1,3 +1,12 @@
+2017-09-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/22150
+       * testsuite/ld-elf/pr22150.vd: New file.
+       * testsuite/ld-elf/pr22150.ver: Likewise.
+       * testsuite/ld-elf/pr22150a.s: Likewise.
+       * testsuite/ld-elf/pr22150b.s: Likewise.
+       * testsuite/ld-elf/shared.exp: Run PR ld/22150 tests.
+
 2017-09-21  Alan Modra  <amodra@gmail.com>
 
        * testsuite/ld-powerpc/tlsopt5.wf: Update for reduced alignment.
diff --git a/ld/testsuite/ld-elf/pr22150.vd b/ld/testsuite/ld-elf/pr22150.vd
new file mode 100644 (file)
index 0000000..d43f7fe
--- /dev/null
@@ -0,0 +1,2 @@
+
+No version information found in this file.
diff --git a/ld/testsuite/ld-elf/pr22150.ver b/ld/testsuite/ld-elf/pr22150.ver
new file mode 100644 (file)
index 0000000..962d6d2
--- /dev/null
@@ -0,0 +1,6 @@
+BAR {
+global:
+       bar;
+local:
+       *;
+};
diff --git a/ld/testsuite/ld-elf/pr22150a.s b/ld/testsuite/ld-elf/pr22150a.s
new file mode 100644 (file)
index 0000000..051a965
--- /dev/null
@@ -0,0 +1,6 @@
+       .text
+       .globl  bar
+       .type   bar, %function
+bar:
+       .byte 0
+       .size   bar, .-bar
diff --git a/ld/testsuite/ld-elf/pr22150b.s b/ld/testsuite/ld-elf/pr22150b.s
new file mode 100644 (file)
index 0000000..dcdf509
--- /dev/null
@@ -0,0 +1,13 @@
+       .section .text._start,"ax",%progbits
+       .globl  _start
+       .type   _start, %function
+_start:
+       .byte 0
+       .size   _start, .-_start
+
+       .section .text.bar,"ax",%progbits
+       .globl  foo
+       .type   foo, %function
+foo:
+       .dc.a bar
+       .size   foo, .-foo
index eee7377..2bb0750 100644 (file)
@@ -170,6 +170,29 @@ if { [check_gc_sections_available] } {
            "pr21233-3"]]
 }
 
+if { [check_gc_sections_available] } {
+    run_ld_link_tests [list \
+       [list \
+           "Build pr22150.so" \
+           "$LFLAGS -shared --version-script pr22150.ver" \
+           "" \
+           "$AFLAGS_PIC" \
+           {pr22150a.s} \
+           {} \
+           "pr22150.so" \
+       ] \
+       [list \
+           "Build pr22150" \
+           "$LFLAGS -e _start --gc-sections" \
+           "tmpdir/pr22150.so" \
+           "" \
+           {pr22150b.s} \
+           {{readelf -V pr22150.vd}} \
+           "pr22150" \
+       ] \
+    ]
+}
+
 # Check to see if the C compiler works
 if { [which $CC] == 0 } {
     return