mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-12-02 00:56:27 +00:00
* ld-scripts/sizeof.exp: New test, based on bug report from
anders.blomdell@control.lth.se. * ld-scripts/sizeof.s: New file. * ld-scripts/sizeof.t: New file.
This commit is contained in:
parent
93a0630f61
commit
1db367dae0
@ -29,6 +29,9 @@ defined.t
|
||||
script.exp
|
||||
script.s
|
||||
script.t
|
||||
sizeof.exp
|
||||
sizeof.s
|
||||
sizeof.t
|
||||
|
||||
Things-to-lose:
|
||||
|
||||
|
46
ld/testsuite/ld-scripts/sizeof.exp
Normal file
46
ld/testsuite/ld-scripts/sizeof.exp
Normal file
@ -0,0 +1,46 @@
|
||||
# Test SIZEOF in a linker script.
|
||||
# By Ian Lance Taylor, Cygnus Support
|
||||
# Based on a bug report from anders.blomdell@control.lth.se.
|
||||
|
||||
if ![ld_assemble $as $srcdir$subdir/sizeof.s tmpdir/sizeof.o] { return }
|
||||
|
||||
if ![ld_simple_link $ld tmpdir/sizeof "-T $srcdir$subdir/sizeof.t tmpdir/sizeof.o"] {
|
||||
fail SIZEOF
|
||||
return
|
||||
}
|
||||
|
||||
if ![ld_nm $nm tmpdir/sizeof] {
|
||||
fail SIZEOF
|
||||
return
|
||||
}
|
||||
|
||||
if {![info exists nm_output(text_start)] \
|
||||
|| ![info exists nm_output(text_end)] \
|
||||
|| ![info exists nm_output(data_start)] \
|
||||
|| ![info exists nm_output(data_end)] \
|
||||
|| ![info exists nm_output(sizeof_text)] \
|
||||
|| ![info exists nm_output(sizeof_data)]} {
|
||||
send_log "Bad output from nm\n"
|
||||
fail SIZEOF
|
||||
return
|
||||
}
|
||||
|
||||
if {$nm_output(text_end) - $nm_output(text_start) != $nm_output(sizeof_text)} {
|
||||
send_log "text_end - text_start != sizeof_text\n"
|
||||
fail SIZEOF
|
||||
return
|
||||
}
|
||||
|
||||
if {$nm_output(data_end) - $nm_output(data_start) != $nm_output(sizeof_data)} {
|
||||
send_log "data_end - data_start != sizeof_data\n"
|
||||
fail SIZEOF
|
||||
return
|
||||
}
|
||||
|
||||
if {$nm_output(sizeof_text) != $nm_output(sizeof_data)} {
|
||||
send_log "sizeof_text != sizeof_data\n"
|
||||
fail SIZEOF
|
||||
return
|
||||
}
|
||||
|
||||
pass SIZEOF
|
1
ld/testsuite/ld-scripts/sizeof.s
Normal file
1
ld/testsuite/ld-scripts/sizeof.s
Normal file
@ -0,0 +1 @@
|
||||
.space 16
|
17
ld/testsuite/ld-scripts/sizeof.t
Normal file
17
ld/testsuite/ld-scripts/sizeof.t
Normal file
@ -0,0 +1,17 @@
|
||||
SECTIONS {
|
||||
.text :
|
||||
{
|
||||
text_start = .;
|
||||
tmpdir/sizeof.o
|
||||
text_end = .;
|
||||
}
|
||||
.data :
|
||||
{
|
||||
data_start = .;
|
||||
. = . + SIZEOF(.text);
|
||||
data_end = .;
|
||||
}
|
||||
}
|
||||
|
||||
sizeof_text = SIZEOF(.text);
|
||||
sizeof_data = SIZEOF(.data);
|
Loading…
Reference in New Issue
Block a user