On Fri, Nov 23, 2012 at 06:47:06PM +0400, Konstantin Serebryany wrote:
> >> > Executing on host: addr2line -f -e
> >> > /usr/local/google/kcc/gcc-build/gcc/testsuite/gcc/memcmp-1.exe
> >> > 0x80488d1 0x8048560   (timeout = 300)
> >> > spawn addr2line -f -e
> >> > /usr/local/google/kcc/gcc-build/gcc/testsuite/gcc/memcmp-1.exe
> >> > 0x80488d1 0x8048560
> >> > BFD: Dwarf Error: found dwarf version '4', this reader only handles
> >> > version 2 and 3 information.
> >
> > Is that split into two lines, or just one line?
> 
> Attached the full log file.

Ah, reproduced with very old addr2line, the problem was that for the first
BFD: line it actually wasn't removing it completely, turned it into an
empty line instead.  Fixed thusly, tested with very old addr2line (which
doesn't handle DWARF 4 at all), old addr2line (which handles it, but doesn't
handle DW_AT_high_pc with const class form) and new addr2line, committed as
obvious.

2012-11-23  Jakub Jelinek  <ja...@redhat.com>

        * lib/asan-dg.exp (asan_symbolize): Remove all "BFD: " prefixed lines
        from the output.

--- gcc/testsuite/lib/asan-dg.exp.jj    2012-11-22 11:04:23.000000000 +0100
+++ gcc/testsuite/lib/asan-dg.exp       2012-11-23 16:52:31.547647181 +0100
@@ -128,7 +128,8 @@ proc asan_symbolize { output } {
            set status [remote_exec host "$addr2line_name" $args]
            if { [lindex $status 0] > 0 } continue
            regsub -all "\r\n" [lindex $status 1] "\n" addr2line_output
-           regsub -all "(^|\n|\r)BFD: \[^\n\r\]*" $addr2line_output "" 
addr2line_output
+           regsub -all "\[\n\r\]BFD: \[^\n\r\]*" $addr2line_output "" 
addr2line_output
+           regsub -all "^BFD: \[^\n\r\]*\[\n\r\]" $addr2line_output "" 
addr2line_output
            set addr2line_output [regexp -inline -all -line "^\[^\n\r]*" 
$addr2line_output]
            set idx 0
            foreach val $arr($key) {


        Jakub

Reply via email to