2006-10-18 H.J. Lu <hongjiu.lu@intel.com>

* ld-elf/dl4.c: New file.
	* ld-elf/dl4.list: Likewise.
	* ld-elf/dl4a.out: Likewise.
	* ld-elf/dl4b.out: Likewise.
	* ld-elf/dl4main.c: Likewise.
	* ld-elf/dl4xxx.c: Likewise.
	* ld-elf/dl4xxx.list: Likewise.

	* ld-elf/shared.exp (build_tests): Add libdl4a.so and
	libdl4b.so.
	(run_tests): Likewise.
This commit is contained in:
H.J. Lu 2006-10-18 16:23:24 +00:00
parent 92f5d02b57
commit c555238b1a
9 changed files with 117 additions and 0 deletions

View File

@ -1,3 +1,17 @@
2006-10-18 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/dl4.c: New file.
* ld-elf/dl4.list: Likewise.
* ld-elf/dl4a.out: Likewise.
* ld-elf/dl4b.out: Likewise.
* ld-elf/dl4main.c: Likewise.
* ld-elf/dl4xxx.c: Likewise.
* ld-elf/dl4xxx.list: Likewise.
* ld-elf/shared.exp (build_tests): Add libdl4a.so and
libdl4b.so.
(run_tests): Likewise.
2006-10-18 Richard Sandiford <richard@codesourcery.com>
* ld-mips-elf/reloc-1-n64.d: Match 16-character VMAs on LP64 hosts.

24
ld/testsuite/ld-elf/dl4.c Normal file
View File

@ -0,0 +1,24 @@
#include <stdio.h>
int foo1;
int foo2;
extern void xxx1 (void);
extern void xxx2 (void);
void
bar (int x)
{
if (foo1 == 1)
printf ("bar OK1\n");
else if (foo1 == 0)
printf ("bar OK2\n");
if (foo2 == 1)
printf ("bar OK3\n");
else if (foo2 == 0)
printf ("bar OK4\n");
foo1 = -1;
foo2 = -1;
xxx1 ();
xxx2 ();
}

View File

@ -0,0 +1,4 @@
{
foo1;
foo2;
};

View File

@ -0,0 +1,6 @@
bar OK1
bar OK3
DSO1
DSO2
OK1
OK3

View File

@ -0,0 +1,6 @@
bar OK1
bar OK3
MAIN1
MAIN2
OK1
OK3

View File

@ -0,0 +1,34 @@
#include <stdio.h>
extern int foo1;
extern int foo2;
extern void bar (void);
void
xxx1 (void)
{
printf ("MAIN1\n");
}
void
xxx2 (void)
{
printf ("MAIN2\n");
}
int
main (void)
{
foo1 = 1;
foo2 = 1;
bar ();
if (foo1 == -1)
printf ("OK1\n");
else if (foo1 == 1)
printf ("OK2\n");
if (foo2 == -1)
printf ("OK3\n");
else if (foo2 == 1)
printf ("OK4\n");
return 0;
}

View File

@ -0,0 +1,13 @@
#include <stdio.h>
void
xxx1 (void)
{
printf ("DSO1\n");
}
void
xxx2 (void)
{
printf ("DSO2\n");
}

View File

@ -0,0 +1,4 @@
{
xxx1;
xxx2;
};

View File

@ -75,6 +75,12 @@ set build_tests {
{"Build libdl2b.so with --dynamic-list=dl2.list and dl2xxx.list"
"-shared -Wl,--dynamic-list=dl2.list,--dynamic-list=dl2xxx.list" "-fPIC"
{dl2.c dl2xxx.c} {} "libdl2b.so"}
{"Build libdl4a.so with --dynamic-list=dl4.list"
"-shared -Wl,--dynamic-list=dl4.list" "-fPIC"
{dl4.c dl4xxx.c} {} "libdl4a.so"}
{"Build libdl4b.so with --dynamic-list=dl4.list and dl4xxx.list"
"-shared -Wl,--dynamic-list=dl4.list,--dynamic-list=dl4xxx.list" "-fPIC"
{dl4.c dl4xxx.c} {} "libdl4b.so"}
}
set run_tests {
@ -123,6 +129,12 @@ set run_tests {
{"Run with libdl2b.so"
"tmpdir/libdl2b.so" ""
{dl2main.c} "dl2b" "dl2b.out"}
{"Run with libdl4a.so"
"tmpdir/libdl4a.so" ""
{dl4main.c} "dl4a" "dl4a.out"}
{"Run with libdl4b.so"
"tmpdir/libdl4b.so" ""
{dl4main.c} "dl4b" "dl4b.out"}
}
run_cc_link_tests $build_tests