Allow gdb to find debug symbols file by build-id for PE file format also
Commit Message
Jon Turney <jon.turney@dronecode.org.uk> writes:
> + return $data
> }
> - set fi [open $tmp]
> - fconfigure $fi -translation binary
> - # Skip the NOTE header.
> - read $fi 16
> - set data [read $fi]
> - close $fi
> - file delete $tmp
> - if ![string compare $data ""] then {
> - return ""
> + else
> + {
braces and "else" are put in the different lines. It causes the tcl
error,
Running ../../../binutils-gdb/gdb/testsuite/gdb.base/break-interp.exp ...
ERROR: (DejaGnu) proc "else" does not exist.
The error code is NONE
The info on the error is:
invalid command name "else"
while executing
"::tcl_unknown else"
("uplevel" body line 1)
invoked from within
"uplevel 1 ::tcl_unknown $args"
Patch below fixes this error. I'll push it in.
Comments
On 17/06/2015 17:09, Yao Qi wrote:
> Jon Turney writes:
>
>> + return $data
>> }
>> - set fi [open $tmp]
>> - fconfigure $fi -translation binary
>> - # Skip the NOTE header.
>> - read $fi 16
>> - set data [read $fi]
>> - close $fi
>> - file delete $tmp
>> - if ![string compare $data ""] then {
>> - return ""
>> + else
>> + {
>
> braces and "else" are put in the different lines. It causes the tcl
> error,
>
> Running ../../../binutils-gdb/gdb/testsuite/gdb.base/break-interp.exp ...
> ERROR: (DejaGnu) proc "else" does not exist.
> The error code is NONE
> The info on the error is:
> invalid command name "else"
> while executing
> "::tcl_unknown else"
> ("uplevel" body line 1)
> invoked from within
> "uplevel 1 ::tcl_unknown $args"
>
> Patch below fixes this error. I'll push it in.
Thanks.
@@ -4549,9 +4549,7 @@ proc get_build_id { filename } {
return ""
}
return $data
- }
- else
- {
+ } else {
set tmp [standard_output_file "${filename}-tmp"]
set objcopy_program [gdb_find_objcopy]
set result [catch "exec $objcopy_program -j .note.gnu.build-id -O binary $filename $tmp" output]