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:
parent
92f5d02b57
commit
c555238b1a
|
@ -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.
|
||||
|
|
|
@ -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 ();
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
foo1;
|
||||
foo2;
|
||||
};
|
|
@ -0,0 +1,6 @@
|
|||
bar OK1
|
||||
bar OK3
|
||||
DSO1
|
||||
DSO2
|
||||
OK1
|
||||
OK3
|
|
@ -0,0 +1,6 @@
|
|||
bar OK1
|
||||
bar OK3
|
||||
MAIN1
|
||||
MAIN2
|
||||
OK1
|
||||
OK3
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
#include <stdio.h>
|
||||
|
||||
void
|
||||
xxx1 (void)
|
||||
{
|
||||
printf ("DSO1\n");
|
||||
}
|
||||
|
||||
void
|
||||
xxx2 (void)
|
||||
{
|
||||
printf ("DSO2\n");
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
xxx1;
|
||||
xxx2;
|
||||
};
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue