run + noux_gdb: fix source archiving

We do not have debug symbols in the bin/ binaries anymore. Thus, use the
debug/ binaries instead.  We now have kernel specific binary names for
ld.lib.so and some others. Adapt, to this fact as well.  For doing so
without unnecessary output, provide a new parameter "silent" at the
"kernel_specific_binary" procedure.

Ref #2398
This commit is contained in:
Martin Stein 2017-05-17 12:57:14 +02:00 committed by Christian Helmuth
parent d094ff995f
commit 228dbdd527
2 changed files with 7 additions and 3 deletions

View File

@ -34,7 +34,9 @@ proc create_binary_tar { application_name application_binaries } {
proc create_source_tar { application_name application_binaries } {
exec mkdir -p bin/${application_name}-src
foreach application_binary $application_binaries {
set source_files [ exec [cross_dev_prefix]objdump -dl bin/${application_binary} | grep "^/.*:.*" | sed -e "s/:.*//" | uniq ]
set binary debug/[kernel_specific_binary ${application_binary} silent]
puts "archive sources of $binary"
set source_files [ exec [cross_dev_prefix]objdump -dl $binary | grep "^/.*:.*" | sed -e "s/:.*//" | uniq ]
foreach source_file ${source_files} {
# resolve '..' to avoid problems with 'tar' with parts like '/a/b/../'
# where '/a' exists, but '/a/b' does not

View File

@ -451,14 +451,16 @@ proc kernel_location_from_config_file { config_file default_location } {
# case for regular binaries that appear in the boot directory under their
# original name.
#
proc kernel_specific_binary { binary } {
proc kernel_specific_binary { binary {silent ""} } {
regsub -all {\.} $binary "_" function_suffix
set function_name "binary_name_$function_suffix"
if {[info procs $function_name] == $function_name} {
set binary_name [$function_name]
puts "using '$binary_name' as '$binary'"
if {$silent != "silent"} {
puts "using '$binary_name' as '$binary'"
}
return [$function_name]
}