Add a testcase for PR ld/2404

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.
This commit is contained in:
H.J. Lu 2014-01-20 04:50:47 -08:00
parent e671835b7a
commit cec2c50d38
5 changed files with 55 additions and 0 deletions

View File

@ -1,3 +1,14 @@
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,

View File

@ -0,0 +1,4 @@
times: -1
times: 20
time: 0
time: 10

View File

@ -0,0 +1,10 @@
#include <time.h>
#include <sys/times.h>
int
bar (void)
{
struct tms buf;
clock_t ticks = times (&buf);
return ticks == 0 && time (NULL) == 0;
}

View File

@ -0,0 +1,21 @@
#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;
}

View File

@ -218,6 +218,12 @@ set build_tests {
{"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
@ -365,6 +371,9 @@ set run_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.