2010-03-31 Kai TIetz <kai.tietz@onevision.com>

* ld-pe/basefile1.s: New.
        * ld-pe/pe-compile.exp: Add base-file test.
This commit is contained in:
Kai Tietz 2010-03-31 16:34:12 +00:00
parent b706dc83c1
commit 1e972e651b
3 changed files with 75 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2010-03-31 Kai TIetz <kai.tietz@onevision.com>
* ld-pe/basefile1.s: New.
* ld-pe/pe-compile.exp: Add base-file test.
2010-03-31 Hans-Peter Nilsson <hp@axis.com>
PR ld/11458

View File

@ -0,0 +1,18 @@
.globl _start
.globl start
.text
_start:
start:
.long 0
.globl _d1
.globl _d2
.globl _d3
.data
_d1:
.long 1
_d2:
.secrel32 _d3
_d3:
.long 2

View File

@ -34,6 +34,47 @@ if { [which $CC] == 0 } {
return
}
proc build_basefile1_o {} {
global CC
global CFLAGS
global srcdir
global subdir
# Compile the object file.
if ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/basefile1.s tmpdir/basefile1.o] {
fail "compiling basefile1 object"
}
}
proc run_basefile_test { testname } {
global LD
global DLLTOOL
global srcdir
global subdir
global verbose
if ![ld_simple_link "$LD -e start \
--base-file=tmpdir/$testname.base \
--export-all-symbols" tmpdir/$testname.dll \
"tmpdir/basefile1.o"] {
fail "linking DLL"
return
}
if { $verbose > 2 } then { verbose "output is [file_contents tmpdir/$testname.base]" 3 }
catch "exec wc -c tmpdir/$testname.base" err
if ![string match "0 tmpdir/$testname.base" $err] then {
send_log "$err\n"
if { $verbose == 2 } then { verbose "$err" 2 }
fail $testname
return
}
pass "$testname"
}
proc build_vers_script_dll_o {} {
global CC
global CFLAGS
@ -77,6 +118,17 @@ run_ver_script_test "vers-script-2"
run_ver_script_test "vers-script-3"
run_ver_script_test "vers-script-4"
if {[istarget i*86-*-cygwin*]
|| [istarget i*86-*-pe]
|| [istarget i*86-*-mingw*]
|| [istarget x86_64-*-mingw*] } {
build_basefile1_o
run_basefile_test "basefile-secrel"
} else {
untested "PE basefile test"
}
set align_tests {
{"aligned common 1" "" "" {aligncomm-1.c}
{{nm -C aligncomm.d}} "aligncomm-1.x"}