PR ld/2404 was fixed without a testcase. This patch to add one.
PR ld/2404
* ld-elf/pr2404.out: New file.
* ld-elf/pr2404a.c: Likewise.
* ld-elf/pr2404b.c: Likewise.
* ld-elf/shared.exp (build_tests): Build libpr2404a.so and
libpr2404b.a.
(run_tests): Run pr2404.
+2014-01-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/2404
+ * ld-elf/pr2404.out: New file.
+ * ld-elf/pr2404a.c: Likewise.
+ * ld-elf/pr2404b.c: Likewise.
+
+ * ld-elf/shared.exp (build_tests): Build libpr2404a.so and
+ libpr2404b.a.
+ (run_tests): Run pr2404.
+
2014-01-20 Alan Modra <amodra@gmail.com>
* ld-scripts/pr14962-2.d,
--- /dev/null
+times: -1
+times: 20
+time: 0
+time: 10
--- /dev/null
+#include <time.h>
+#include <sys/times.h>
+
+int
+bar (void)
+{
+ struct tms buf;
+ clock_t ticks = times (&buf);
+ return ticks == 0 && time (NULL) == 0;
+}
--- /dev/null
+#include <stdio.h>
+
+extern int bar (void);
+
+int times = -1;
+int time;
+
+int
+main ()
+{
+ printf ("times: %d\n", times);
+ times = 20;
+ printf ("times: %d\n", times);
+
+ printf ("time: %d\n", time);
+ time = 10;
+ printf ("time: %d\n", time);
+ bar ();
+
+ return 0;
+}
{"Build needed2"
"tmpdir/libneeded2c.o -Wl,--as-needed tmpdir/libneeded2a.so tmpdir/libneeded2b.so" ""
{dummy.c} {} "needed2"}
+ {"Build libpr2404a.so"
+ "-shared" "-fPIC"
+ {pr2404a.c} {} "libpr2404a.so"}
+ {"Build libpr2404b.a"
+ "" ""
+ {pr2404b.c} {} "libpr2404b.a"}
}
run_cc_link_tests $build_tests
{"Run relmain"
"--no-as-needed -rpath=tmpdir -Ltmpdir -lrel" ""
{relmain.c} "relmain" "relmain.out"}
+ {"Run pr2404"
+ "tmpdir/pr2404b.o tmpdir/libpr2404a.so" ""
+ {dummy.c} "pr2404" "pr2404.out"}
}
# NetBSD ELF systems do not currently support the .*_array sections.