Allow gdb to find debug symbols file by build-id for PE file format also

Message ID 86k2v2s4f4.fsf@gmail.com
State New, archived
Headers

Commit Message

Yao Qi June 17, 2015, 4:09 p.m. UTC
  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

Jon Turney June 18, 2015, 11:05 a.m. UTC | #1
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.
  

Patch

diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 21a4638..b5928c3 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -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]