mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-02 23:12:56 +00:00
2004-04-20 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfweak/elfweak.exp: Add an undefined weak size change test. * ld-elfweak/size.dat: New file. * ld-elfweak/size_bar.c: Likewise. * ld-elfweak/size_foo.c: Likewise. * ld-elfweak/size_main.c: Likewise.
This commit is contained in:
parent
6482c264f4
commit
a664545d53
@ -1,3 +1,13 @@
|
||||
2004-04-20 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* ld-elfweak/elfweak.exp: Add an undefined weak size change
|
||||
test.
|
||||
|
||||
* ld-elfweak/size.dat: New file.
|
||||
* ld-elfweak/size_bar.c: Likewise.
|
||||
* ld-elfweak/size_foo.c: Likewise.
|
||||
* ld-elfweak/size_main.c: Likewise.
|
||||
|
||||
2004-04-14 Brian Ford <ford@vss.fsi.com>
|
||||
DJ Delorie <dj@redhat.com>
|
||||
|
||||
|
@ -287,7 +287,8 @@ proc build_lib {test libname objs dynsymexp} {
|
||||
return
|
||||
}
|
||||
|
||||
if {![objdump_dynsymstuff $objdump $tmpdir/$libname.so $srcdir/$subdir/$dynsymexp]} {
|
||||
if {![string match "" $dynsymexp] \
|
||||
&& ![objdump_dynsymstuff $objdump $tmpdir/$libname.so $srcdir/$subdir/$dynsymexp]} {
|
||||
fail $test
|
||||
return
|
||||
}
|
||||
@ -465,3 +466,30 @@ build_exec "ELF weak data first DSO" foo "main1.o libbar1a.so libfoo1a.so" "-Wl,
|
||||
build_exec "ELF weak data last DSO" foo "libfoo1a.so main1.o libbar1a.so" "-Wl,-rpath,." weakdata weakdata.dsym ""
|
||||
build_exec "ELF weak data first DSO common" foo "main1.o libbar1a.so libfoo1b.so" "-Wl,-rpath,." weakdata weakdata.dsym ""
|
||||
build_exec "ELF weak data last DSO common" foo "libfoo1b.so main1.o libbar1a.so" "-Wl,-rpath,." weakdata weakdata.dsym ""
|
||||
|
||||
if ![ld_compile "$CC $CFLAGS $picflag" $srcdir/$subdir/size_foo.c $tmpdir/size_foo.o] {
|
||||
unresolved "ELF weak (size)"
|
||||
return
|
||||
}
|
||||
|
||||
if ![ld_compile "$CC $CFLAGS $picflag" $srcdir/$subdir/size_bar.c $tmpdir/size_bar.o] {
|
||||
unresolved "ELF weak (size)"
|
||||
return
|
||||
}
|
||||
|
||||
build_lib "ELF DSO small bar (size)" libsize_bar "size_bar.o" ""
|
||||
build_lib "ELF DSO foo with small bar (size)" libsize_foo "size_foo.o libsize_bar.so" ""
|
||||
|
||||
if ![ld_compile "$CC $CFLAGS $picflag -DSIZE_BIG" $srcdir/$subdir/size_bar.c $tmpdir/size_bar.o] {
|
||||
unresolved "ELF weak (size)"
|
||||
return
|
||||
}
|
||||
|
||||
build_lib "ELF DSO big bar (size)" libsize_bar "size_bar.o" ""
|
||||
|
||||
if ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/size_main.c $tmpdir/size_main.o] {
|
||||
unresolved "ELF weak (size)"
|
||||
return
|
||||
}
|
||||
|
||||
build_exec "ELF weak size" size_main "size_main.o libsize_foo.so libsize_bar.so" "-Wl,-rpath,." size "" ""
|
||||
|
3
ld/testsuite/ld-elfweak/size.dat
Normal file
3
ld/testsuite/ld-elfweak/size.dat
Normal file
@ -0,0 +1,3 @@
|
||||
1
|
||||
2
|
||||
3
|
11
ld/testsuite/ld-elfweak/size_bar.c
Normal file
11
ld/testsuite/ld-elfweak/size_bar.c
Normal file
@ -0,0 +1,11 @@
|
||||
#include <stdio.h>
|
||||
|
||||
void
|
||||
bar ()
|
||||
{
|
||||
#ifdef SIZE_BIG
|
||||
printf ("1\n");
|
||||
printf ("2\n");
|
||||
printf ("3\n");
|
||||
#endif
|
||||
}
|
8
ld/testsuite/ld-elfweak/size_foo.c
Normal file
8
ld/testsuite/ld-elfweak/size_foo.c
Normal file
@ -0,0 +1,8 @@
|
||||
#pragma weak bar
|
||||
|
||||
extern void bar ();
|
||||
|
||||
foo ()
|
||||
{
|
||||
bar ();
|
||||
}
|
8
ld/testsuite/ld-elfweak/size_main.c
Normal file
8
ld/testsuite/ld-elfweak/size_main.c
Normal file
@ -0,0 +1,8 @@
|
||||
extern void foo ();
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
foo ();
|
||||
return 0;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user