gdb_monitor: adapt run scripts to current staging branch

Fixes #2432
This commit is contained in:
Christian Prochaska 2017-05-29 16:50:12 +02:00 committed by Christian Helmuth
parent 428131fd28
commit 710947e0a3
7 changed files with 61 additions and 70 deletions

View File

@ -53,6 +53,7 @@ set config {
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
@ -64,7 +65,7 @@ set config {
<policy label_prefix="gdb_monitor" uart="1"/>
</config>
</start>
<start name="gdb_monitor">
<start name="gdb_monitor" caps="200">
<resource name="RAM" quantum="10M"/>
<provides><service name="Nitpicker"/></provides>
<config>
@ -77,9 +78,8 @@ set config {
</config>
</target>
<preserve name="RAM" quantum="2M"/>
<libc stdout="/dev/log" stderr="/dev/log">
<vfs> <dir name="dev"> <log/> </dir> </vfs>
</libc>
<vfs> <dir name="dev"> <log/> </dir> </vfs>
<libc stdout="/dev/log" stderr="/dev/log"/>
</config>
</start>
<start name="pointer">
@ -156,12 +156,12 @@ puts "GDB monitor is up, starting GDB in a new terminal"
source ${genode_dir}/repos/ports/run/gdb_monitor.inc
# GDB loads symbols from 'bin/ld.lib.so'
# GDB loads symbols from 'debug/ld.lib.so'
if { [have_spec nova] } {
exec ln -sf ld-nova.lib.so bin/ld.lib.so
exec ln -sf ld-nova.lib.so debug/ld.lib.so
}
if { [have_spec foc] } {
exec ln -sf ld-foc.lib.so bin/ld.lib.so
exec ln -sf ld-foc.lib.so debug/ld.lib.so
}
set gdb_target_binary "nitpicker"
@ -175,9 +175,9 @@ append gdb_cmds [gdb_initial_breakpoint_cmds $gdb_target_binary]
# ask the user for confirmations again
append gdb_cmds {-ex "set interactive-mode auto" }
puts "command: [gdb] bin/ld.lib.so $gdb_cmds"
puts "command: [gdb] debug/ld.lib.so $gdb_cmds"
exec [terminal] -e "[gdb] bin/ld.lib.so $gdb_cmds" &
exec [terminal] -e "[gdb] debug/ld.lib.so $gdb_cmds" &
interact -i [output_spawn_id]

View File

@ -27,10 +27,10 @@ proc gdb_initial_breakpoint_cmds { target_binary_name } {
append gdb_cmds {-ex "delete 1" }
# load the symbols of the test application
append gdb_cmds "-ex \"file bin/$target_binary_name\" "
append gdb_cmds "-ex \"file debug/$target_binary_name\" "
# set search path for "sharedlibrary" to bin
append gdb_cmds {-ex "set solib-search-path bin" }
# set search path for "sharedlibrary" to debug
append gdb_cmds {-ex "set solib-search-path debug" }
# load the symbols of loaded shared libraries
append gdb_cmds {-ex "sharedlibrary" }

View File

@ -65,20 +65,18 @@ set config {
<policy label_prefix="gdb_monitor" uart="1"/>
</config>
</start>
<start name="gdb_monitor" caps="1000">
<start name="gdb_monitor" caps="200">
<resource name="RAM" quantum="7M"/>
<config>
<target name="test-gdb_monitor">
<config>
<libc stdout="/dev/log" stderr="/dev/log">
<vfs> <dir name="dev"> <log/> </dir> </vfs>
</libc>
<vfs> <dir name="dev"> <log/> </dir> </vfs>
<libc stdout="/dev/log" stderr="/dev/log"/>
</config>
</target>
<preserve name="RAM" quantum="3M"/>
<libc stdout="/dev/log" stderr="/dev/log">
<vfs> <dir name="dev"> <log/> </dir> </vfs>
</libc>
<vfs> <dir name="dev"> <log/> </dir> </vfs>
<libc stdout="/dev/log" stderr="/dev/log"/>
</config>
</start>
</config>
@ -128,12 +126,9 @@ puts "GDB monitor is up, starting GDB"
source ${genode_dir}/repos/ports/run/gdb_monitor.inc
# GDB loads symbols from 'bin/ld.lib.so'
# GDB loads symbols from 'debug/ld.lib.so'
if { [have_spec nova] } {
exec ln -sf ld-nova.lib.so bin/ld.lib.so
}
if { [have_spec foc] } {
exec ln -sf ld-foc.lib.so bin/ld.lib.so
exec ln -sf ld-nova.lib.so debug/ld.lib.so
}
set gdb_target_binary "test-gdb_monitor"
@ -144,7 +139,7 @@ append gdb_cmds {-ex "target remote localhost:$local_port" }
append gdb_cmds [gdb_initial_breakpoint_cmds $gdb_target_binary]
# run GDB and redirect stderr to stdio to get the relevant output into the expect buffer
eval spawn [gdb] bin/ld.lib.so -n $gdb_cmds 2&>1
eval spawn [gdb] debug/ld.lib.so -n $gdb_cmds 2&>1
set gdb_id [list $spawn_id $genode_id]
puts ""

View File

@ -41,6 +41,7 @@ set config {
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="2M"/>
<provides> <service name="Timer"/> </provides>
@ -52,20 +53,18 @@ set config {
<policy label_prefix="gdb_monitor" uart="1"/>
</config>
</start>
<start name="gdb_monitor">
<start name="gdb_monitor" caps="200">
<resource name="RAM" quantum="7M"/>
<config>
<target name="test-gdb_monitor">
<config>
<libc stdout="/dev/log" stderr="/dev/log">
<vfs> <dir name="dev"> <log/> </dir> </vfs>
</libc>
<vfs> <dir name="dev"> <log/> </dir> </vfs>
<libc stdout="/dev/log" stderr="/dev/log"/>
</config>
</target>
<preserve name="RAM" quantum="3M"/>
<libc stdout="/dev/log" stderr="/dev/log">
<vfs> <dir name="dev"> <log/> </dir> </vfs>
</libc>
<vfs> <dir name="dev"> <log/> </dir> </vfs>
<libc stdout="/dev/log" stderr="/dev/log"/>
</config>
</start>
</config>
@ -115,12 +114,12 @@ puts "GDB monitor is up, starting GDB in a new terminal"
source ${genode_dir}/repos/ports/run/gdb_monitor.inc
# GDB loads symbols from 'bin/ld.lib.so'
# GDB loads symbols from 'debug/ld.lib.so'
if { [have_spec nova] } {
exec ln -sf ld-nova.lib.so bin/ld.lib.so
exec ln -sf ld-nova.lib.so debug/ld.lib.so
}
if { [have_spec foc] } {
exec ln -sf ld-foc.lib.so bin/ld.lib.so
exec ln -sf ld-foc.lib.so debug/ld.lib.so
}
set gdb_target_binary "test-gdb_monitor"
@ -134,9 +133,9 @@ append gdb_cmds [gdb_initial_breakpoint_cmds $gdb_target_binary]
# ask the user for confirmations again
append gdb_cmds {-ex "set interactive-mode auto" }
puts "command: [gdb] bin/ld.lib.so $gdb_cmds"
puts "command: [gdb] debug/ld.lib.so $gdb_cmds"
exec [terminal] -e "[gdb] bin/ld.lib.so $gdb_cmds" &
exec [terminal] -e "[gdb] debug/ld.lib.so $gdb_cmds" &
interact -i [output_spawn_id]

View File

@ -40,6 +40,7 @@ set config {
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
@ -51,21 +52,19 @@ set config {
<policy label_prefix="gdb_monitor" uart="1"/>
</config>
</start>
<start name="gdb_monitor">
<resource name="RAM" quantum="4M"/>
<start name="gdb_monitor" caps="200">
<resource name="RAM" quantum="8M"/>
<config>
<target name="test-gdb_monitor_target_config">
<config>
<libc stdout="/dev/log" stderr="/dev/log">
<vfs> <dir name="dev"> <log/> </dir> </vfs>
</libc>
<vfs> <dir name="dev"> <log/> </dir> </vfs>
<libc stdout="/dev/log" stderr="/dev/log"/>
<test_config_subnode/>
</config>
</target>
<preserve name="RAM" quantum="3M"/>
<libc stdout="/dev/log" stderr="/dev/log">
<vfs> <dir name="dev"> <log/> </dir> </vfs>
</libc>
<vfs> <dir name="dev"> <log/> </dir> </vfs>
<libc stdout="/dev/log" stderr="/dev/log"/>
</config>
</start>
</config>
@ -114,12 +113,12 @@ puts "GDB monitor is up, starting GDB in a new terminal"
source ${genode_dir}/repos/ports/run/gdb_monitor.inc
# GDB loads symbols from 'bin/ld.lib.so'
# GDB loads symbols from 'debug/ld.lib.so'
if { [have_spec nova] } {
exec ln -sf ld-nova.lib.so bin/ld.lib.so
exec ln -sf ld-nova.lib.so debug/ld.lib.so
}
if { [have_spec foc] } {
exec ln -sf ld-foc.lib.so bin/ld.lib.so
exec ln -sf ld-foc.lib.so debug/ld.lib.so
}
set gdb_target_binary "test-gdb_monitor_target_config"
@ -133,7 +132,7 @@ append gdb_cmds [gdb_initial_breakpoint_cmds $gdb_target_binary]
# continue execution
append gdb_cmds {-ex "c" }
exec [terminal] -e "[gdb] bin/ld.lib.so $gdb_cmds" &
exec [terminal] -e "[gdb] debug/ld.lib.so $gdb_cmds" &
interact -i [output_spawn_id]

View File

@ -20,7 +20,7 @@ proc noux_gdb_pkg_name { } {
#
proc create_binary_tar { application_name application_binaries } {
foreach application_binary ${application_binaries} {
exec tar ufv bin/${application_name}.tar -h -C bin ${application_binary}
exec tar ufv bin/${application_name}.tar -h -C debug ${application_binary}
}
}

View File

@ -48,12 +48,12 @@ append_platform_drv_build_components
build $build_components
# GDB loads symbols from 'bin/ld.lib.so'
# GDB loads symbols from 'debug/ld.lib.so'
if { [have_spec nova] } {
exec ln -sf ld-nova.lib.so bin/ld.lib.so
exec ln -sf ld-nova.lib.so debug/ld.lib.so
}
if { [have_spec foc] } {
exec ln -sf ld-foc.lib.so bin/ld.lib.so
exec ln -sf ld-foc.lib.so debug/ld.lib.so
}
# names of the binaries needed for the GDB monitor test
@ -143,29 +143,27 @@ append config {
<resource name="RAM" quantum="1M"/>
<provides> <service name="Terminal"/> </provides>
</start>
<start name="gdb_monitor">
<start name="gdb_monitor" caps="200">
<resource name="RAM" quantum="16M"/>
<route>
<service name="Terminal"><child name="terminal_gdb"/></service>
<any-service><parent/><any-child/></any-service>
</route>
<config>
<libc stdout="/dev/log" stderr="/dev/log">
<vfs> <dir name="dev"> <log/> </dir> </vfs>
</libc> }
<vfs> <dir name="dev"> <log/> </dir> </vfs>
<libc stdout="/dev/log" stderr="/dev/log"/> }
append config "
<target name=\"${gdb_target_binary_name}\"> "
append config {
<config>
<libc stdout="/dev/log" stderr="/dev/log">
<vfs> <dir name="dev"> <log/> </dir> </vfs>
</libc>
<vfs> <dir name="dev"> <log/> </dir> </vfs>
<libc stdout="/dev/log" stderr="/dev/log"/>
</config>
</target>
<preserve name="RAM" quantum="5M"/>
</config>
</start>
<start name="noux">
<start name="noux" caps="300">
<resource name="RAM" quantum="1G"/>
<route>
<service name="Terminal" label="">
@ -177,8 +175,10 @@ append config {
<any-service><parent/><any-child/></any-service>
</route>
<config>
<fstab>
<tar name="gdb.tar" at="/"/>
<fstab> }
append config "
<tar name=\"[noux_gdb_pkg_name].tar\" at=\"/\"/>"
append config {
<dir name="dev"><terminal name="gdb" label="/dev/gdb"/></dir>
<dir name="gdb"> }
append config "
@ -225,13 +225,13 @@ proc binary_name_gdbserver_platform_lib_so { } {
}
# generic modules
set boot_modules {
append boot_modules {
core init timer ld.lib.so noux terminal terminal_crosslink
libc.lib.so libm.lib.so libc_noux.lib.so ncurses.lib.so expat.lib.so
libc_pipe.lib.so libc_terminal.lib.so
posix.lib.so libc.lib.so libm.lib.so ncurses.lib.so expat.lib.so
libc_noux.lib.so libc_pipe.lib.so libc_terminal.lib.so
gdb_monitor gdbserver_platform.lib.so test-gdb_monitor
gdb.tar test-gdb_monitor.tar test-gdb_monitor-src.tar
}
test-gdb_monitor.tar test-gdb_monitor-src.tar
} [noux_gdb_pkg_name].tar
# platform-specific modules
lappend_if [have_spec linux] boot_modules fb_sdl
@ -244,6 +244,4 @@ append_platform_drv_boot_modules
build_boot_image $boot_modules
run_genode_until forever