jjb: binutils-gdb: add target_board axis
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 21 Mar 2022 18:38:50 +0000 (14:38 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Mon, 21 Mar 2022 19:27:59 +0000 (15:27 -0400)
Add a "target_board" testing axis.

"target board" is a DejaGNU concept that the GDB testsuite uses.  It
defines what kind of target system we are testing against.  In the case
of GDB, it defines through which means GDB debugs.  The default (when
nothing is specified) is the "unix" board, where GDB debugs against the
native system.  The GDB testsuite ships with some boards that can be
used as target boards with:

  make check RUNTESTFLAGS="--target_board=foo"

where foo is a name from gdb/testsuite/boards.  This patch adds an axis
to test each commit using the following target boards:

  - unix
  - native-gdbserver
  - native-extended-gdbserver

Unfortunately, the three axis values are completely independent, meaning
we build identical GDB three times.  In the future, if we could build it
once and run the testsuite multiple times, it would save some cycles.

Since the failures are different per target board, builds.sh defines one
"known-failures" file per target board.

Change-Id: I9531142b772dc4082d9782262d4daa18b166ac10

jobs/binutils-gdb.yaml
scripts/binutils-gdb/build.sh

index 5e3ac88679a143559e044082e53aab7cac549e75..fa88daa5bbcc2af628f87fdf1c578d951f0db214 100644 (file)
          type: slave
          name: arch
          values: '{obj:arch}'
+      - axis:
+         type: user-defined
+         name: target_board
+         values: '{obj:target_board}'
+
+    builders:
+      - shell:
+         !include-raw-escape:
+           - scripts/common/print.sh
+           - scripts/binutils-gdb/build.sh
+
+    publishers:
+      - archive:
+          artifacts: 'build/**,results/**'
+          allow-empty: false
+      - junit:
+          results: 'results/*.xml'
+      - email:
+          recipients: 'simon.marchi@efficios.com'
 
     builders:
       - shell:
@@ -71,6 +90,8 @@
     defaults: binutils-gdb
     concurrent: true
 
+    project-type: matrix
+
     scm:
       - git:
           url: https://review.lttng.org/binutils-gdb
                 - branch-compare-type: 'ANT'
                   branch-pattern: '**'
 
-    node: 'amd64'
+    node: 'master'
+    axes:
+      - axis:
+         type: slave
+         name: arch
+         values: '{obj:arch}'
+      - axis:
+         type: user-defined
+         name: target_board
+         values: '{obj:target_board}'
 
     builders:
       - shell:
     jobs:
       - 'binutils-gdb_{version}_build':
           arch: !!python/tuple [amd64]
+          target_board: !!python/tuple ["unix", "native-gdbserver", "native-extended-gdbserver"]
 
 - project:
     name: gerrit-gdb
     jobs:
-      - 'dev_gerrit_binutils-gdb_build'
+      - 'dev_gerrit_binutils-gdb_build':
+          arch: !!python/tuple [amd64]
+          target_board: !!python/tuple ["unix", "native-gdbserver", "native-extended-gdbserver"]
 
 - project:
     name: gdb-views
index 525da5b7524f7baa425411c2c88fece1121b6721..64cc0051a84f4333af5091b43225841e55a89e14 100755 (executable)
@@ -119,6 +119,7 @@ WORKSPACE=${WORKSPACE:-}
 arch=${arch:-}
 conf=${conf:-}
 build=${build:-}
+target_board=${target_board:-unix}
 
 
 SRCDIR="$WORKSPACE/src/binutils-gdb"
@@ -207,17 +208,28 @@ $MAKE -j "$($NPROC)" V=1 MAKEINFO=/bin/true
 # Install in the workspace
 $MAKE install DESTDIR="$WORKSPACE"
 
+case "$target_board" in
+unix | native-gdbserver | native-extended-gdbserver)
+    RUNTESTFLAGS="--target_board=$target_board"
+    ;;
+
+*)
+    echo "Unknown \$target_board value: $target_board"
+    exit 1
+    ;;
+esac
+
 # Run tests, don't fail now, we know that "make check" is going to fail,
 # since some tests don't pass.
-$MAKE -C gdb --keep-going check -j "$($NPROC)" || true
+$MAKE -C gdb --keep-going check -j "$($NPROC)" RUNTESTFLAGS="$RUNTESTFLAGS" FORCE_PARALLEL="1" || true
 
 # Copy the dejagnu test results for archiving before cleaning the build dir
 mkdir "${WORKSPACE}/results"
 cp gdb/testsuite/gdb.log "${WORKSPACE}/results/"
 cp gdb/testsuite/gdb.sum "${WORKSPACE}/results/"
 
-# Filter out some known failures.
-cat <<'EOF' > known-failures
+# Filter out some known failures.  There is one file per target board.
+cat <<'EOF' > known-failures-unix
 DUPLICATE: gdb.base/attach-pie-misread.exp: copy ld-2.27.so to ld-linux-x86-64.so.2
 DUPLICATE: gdb.base/attach-pie-misread.exp: copy libc-2.27.so to libc.so.6
 DUPLICATE: gdb.base/attach-pie-misread.exp: ldd attach-pie-misread
@@ -353,7 +365,605 @@ UNRESOLVED: gdb.opencl/vec_comps.exp: OpenCL support not detected
 UNRESOLVED: gdb.threads/attach-many-short-lived-threads.exp: iter 8: detach
 EOF
 
-grep --invert-match --fixed-strings --file=known-failures  "${WORKSPACE}/results/gdb.sum" > "${WORKSPACE}/results/gdb.filtered.sum"
+cat <<'EOF' > known-failures-native-gdbserver
+DUPLICATE: gdb.base/call-signal-resume.exp: dummy stack frame number
+DUPLICATE: gdb.base/call-signal-resume.exp: return
+DUPLICATE: gdb.base/call-signal-resume.exp: set confirm off
+DUPLICATE: gdb.base/complete-empty.exp: empty-input-line: cmd complete ""
+DUPLICATE: gdb.base/cond-eval-mode.exp: awatch: awatch global
+DUPLICATE: gdb.base/cond-eval-mode.exp: awatch: continue
+DUPLICATE: gdb.base/cond-eval-mode.exp: break: break foo
+DUPLICATE: gdb.base/cond-eval-mode.exp: break: continue
+DUPLICATE: gdb.base/cond-eval-mode.exp: hbreak: continue
+DUPLICATE: gdb.base/cond-eval-mode.exp: hbreak: hbreak foo
+DUPLICATE: gdb.base/cond-eval-mode.exp: rwatch: continue
+DUPLICATE: gdb.base/cond-eval-mode.exp: rwatch: rwatch global
+DUPLICATE: gdb.base/cond-eval-mode.exp: watch: continue
+DUPLICATE: gdb.base/cond-eval-mode.exp: watch: watch global
+DUPLICATE: gdb.base/corefile-buildid.exp: could not generate core file
+DUPLICATE: gdb.base/corefile-buildid.exp: could not generate core file
+DUPLICATE: gdb.base/corefile-buildid.exp: could not generate core file
+DUPLICATE: gdb.base/decl-before-def.exp: p a
+DUPLICATE: gdb.base/define-prefix.exp: define user command: ghi-prefix-cmd
+DUPLICATE: gdb.base/del.exp: info break after removing break on main
+DUPLICATE: gdb.base/dfp-exprs.exp: p 1.2dl < 1.3df
+DUPLICATE: gdb.base/dfp-test.exp: 1.23E45A is an invalid number
+DUPLICATE: gdb.base/dfp-test.exp: 1.23E45A is an invalid number
+DUPLICATE: gdb.base/dfp-test.exp: 1.23E is an invalid number
+DUPLICATE: gdb.base/dfp-test.exp: 1.23E is an invalid number
+DUPLICATE: gdb.base/exprs.exp: \$[0-9]* = red (setup)
+DUPLICATE: gdb.base/funcargs.exp: run to call2a
+DUPLICATE: gdb.base/interp.exp: interpreter-exec mi "-var-update *"
+DUPLICATE: gdb.base/miscexprs.exp: print value of !ibig.i[100]
+DUPLICATE: gdb.base/miscexprs.exp: print value of !ibig.i[100]
+DUPLICATE: gdb.base/nested-subp2.exp: continue to the STOP marker
+DUPLICATE: gdb.base/nested-subp2.exp: print c
+DUPLICATE: gdb.base/nested-subp2.exp: print count
+DUPLICATE: gdb.base/pending.exp: disable other breakpoints
+DUPLICATE: gdb.base/pie-fork.exp: test_no_detach_on_fork: continue
+DUPLICATE: gdb.base/pointers.exp: pointer assignment
+DUPLICATE: gdb.base/pretty-array.exp: print nums
+DUPLICATE: gdb.base/pretty-array.exp: print nums
+DUPLICATE: gdb.base/ptype.exp: list charfoo
+DUPLICATE: gdb.base/ptype.exp: list intfoo
+DUPLICATE: gdb.base/ptype.exp: ptype the_highest
+DUPLICATE: gdb.base/readline.exp: Simple operate-and-get-next - final prompt
+DUPLICATE: gdb.base/realname-expand.exp: set basenames-may-differ on
+DUPLICATE: gdb.base/shlib-call.exp: continue until exit
+DUPLICATE: gdb.base/shlib-call.exp: print g
+DUPLICATE: gdb.base/shlib-call.exp: set print address off
+DUPLICATE: gdb.base/shlib-call.exp: set print sevenbit-strings
+DUPLICATE: gdb.base/shlib-call.exp: set width 0
+DUPLICATE: gdb.base/stack-checking.exp: bt
+DUPLICATE: gdb.base/stack-checking.exp: bt
+DUPLICATE: gdb.base/subst.exp: unset substitute-path from, no rule entered yet
+DUPLICATE: gdb.base/ui-redirect.exp: redirect while already logging: set logging redirect off
+DUPLICATE: gdb.base/unload.exp: continuing to unloaded libfile
+DUPLICATE: gdb.base/watchpoints.exp: watchpoint hit, first time
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: mi runto main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: mi runto main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: mi runto main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: mi runto main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: mi runto main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: mi runto main
+DUPLICATE: gdb.mi/mi2-var-child.exp: get children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr
+DUPLICATE: gdb.mi/mi2-var-child.exp: get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr
+DUPLICATE: gdb.mi/mi2-var-child.exp: get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr
+DUPLICATE: gdb.mi/mi2-var-child.exp: get number of children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr
+DUPLICATE: gdb.mi/mi-catch-cpp-exceptions.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi-catch-cpp-exceptions.exp: mi runto main
+DUPLICATE: gdb.mi/mi-catch-load.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi-catch-load.exp: mi runto main
+DUPLICATE: gdb.mi/mi-language.exp: set lang ada
+DUPLICATE: gdb.mi/mi-nonstop-exit.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi-nonstop-exit.exp: mi runto main
+DUPLICATE: gdb.mi/mi-nonstop.exp: check varobj, w1, 1
+DUPLICATE: gdb.mi/mi-nonstop.exp: stacktrace of stopped thread
+DUPLICATE: gdb.mi/mi-nsthrexec.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi-syn-frame.exp: finished exec continue
+DUPLICATE: gdb.mi/mi-syn-frame.exp: list stack frames
+DUPLICATE: gdb.mi/mi-syn-frame.exp: list stack frames
+DUPLICATE: gdb.mi/mi-var-child.exp: get children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr
+DUPLICATE: gdb.mi/mi-var-child.exp: get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr
+DUPLICATE: gdb.mi/mi-var-child.exp: get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr
+DUPLICATE: gdb.mi/mi-var-child.exp: get number of children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr
+DUPLICATE: gdb.mi/mi-var-rtti.exp: list children of ptr.Base.public (with RTTI) in use_rtti_with_multiple_inheritence
+DUPLICATE: gdb.mi/mi-var-rtti.exp: list children of ptr.public (without RTTI) in skip_type_update_when_not_use_rtti
+DUPLICATE: gdb.mi/mi-var-rtti.exp: list children of ptr (without RTTI) in skip_type_update_when_not_use_rtti
+DUPLICATE: gdb.mi/mi-var-rtti.exp: list children of s.ptr.public (without RTTI) in skip_type_update_when_not_use_rtti
+DUPLICATE: gdb.mi/mi-var-rtti.exp: list children of s.ptr (without RTTI) in skip_type_update_when_not_use_rtti
+DUPLICATE: gdb.mi/mi-watch.exp: mi-mode=main: wp-type=hw: watchpoint trigger
+DUPLICATE: gdb.mi/mi-watch.exp: mi-mode=main: wp-type=sw: watchpoint trigger
+DUPLICATE: gdb.mi/mi-watch.exp: mi-mode=separate: wp-type=hw: watchpoint trigger
+DUPLICATE: gdb.mi/mi-watch.exp: mi-mode=separate: wp-type=sw: watchpoint trigger
+DUPLICATE: gdb.trace/circ.exp: check whether setting trace buffer size is supported
+DUPLICATE: gdb.trace/ftrace-lock.exp: successfully compiled posix threads test case
+DUPLICATE: gdb.trace/mi-tsv-changed.exp: create delete modify: tvariable $tvar3 modified
+DUPLICATE: gdb.trace/signal.exp: get integer valueof "counter"
+DUPLICATE: gdb.trace/status-stop.exp: buffer_full_tstart: tstart
+DUPLICATE: gdb.trace/status-stop.exp: tstart_tstop_tstart: tstart
+DUPLICATE: gdb.trace/tfind.exp: 8.17: tfind none
+DUPLICATE: gdb.trace/trace-buffer-size.exp: set tracepoint at test_function
+DUPLICATE: gdb.trace/trace-buffer-size.exp: tstart
+DUPLICATE: gdb.trace/trace-mt.exp: successfully compiled posix threads test case
+FAIL: gdb.ada/interface.exp: print s
+FAIL: gdb.ada/iwide.exp: print d_access.all
+FAIL: gdb.ada/iwide.exp: print dp_access.all
+FAIL: gdb.ada/iwide.exp: print My_Drawable
+FAIL: gdb.ada/iwide.exp: print s_access.all
+FAIL: gdb.ada/iwide.exp: print sp_access.all
+FAIL: gdb.ada/mi_interface.exp: create ggg1 varobj (unexpected output)
+FAIL: gdb.ada/mi_interface.exp: list ggg1's children (unexpected output)
+FAIL: gdb.ada/tagged_access.exp: ptype c.all
+FAIL: gdb.ada/tagged_access.exp: ptype c.menu_name
+FAIL: gdb.ada/tagged.exp: print obj
+FAIL: gdb.ada/tagged.exp: ptype obj
+FAIL: gdb.ada/task_switch_in_core.exp: save a corefile (timeout)
+FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_end
+FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_start
+FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_fatal_msg
+FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: [expr $internal_error_msg_count == 2]
+FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_end
+FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_start
+FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_fatal_msg
+FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: [expr $internal_error_msg_count == 2]
+FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_end
+FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_start
+FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_fatal_msg
+FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: [expr $internal_error_msg_count == 2]
+FAIL: gdb.base/compare-sections.exp: after reload: compare-sections
+FAIL: gdb.base/compare-sections.exp: after reload: compare-sections -r
+FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections
+FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections -r
+FAIL: gdb.base/compare-sections.exp: compare-sections .text
+FAIL: gdb.base/compare-sections.exp: read-only: compare-sections -r
+FAIL: gdb.base/interrupt-daemon.exp: bg: continue& (timeout)
+FAIL: gdb.base/interrupt-daemon.exp: bg: interrupt cmd stops process (timeout)
+FAIL: gdb.base/interrupt-daemon.exp: bg: interrupt (timeout)
+FAIL: gdb.base/interrupt-daemon.exp: fg: ctrl-c stops process (timeout)
+FAIL: gdb.cp/no-dmgl-verbose.exp: setting breakpoint at 'f(std::string)'
+FAIL: gdb.threads/forking-threads-plus-breakpoint.exp: cond_bp_target=0: detach_on_fork=on: displaced=off: inferior 1 exited (timeout)
+FAIL: gdb.threads/interrupted-hand-call.exp: continue until exit
+FAIL: gdb.threads/multiple-successive-infcall.exp: thread=3: created new thread
+FAIL: gdb.threads/multiple-successive-infcall.exp: thread=4: created new thread
+FAIL: gdb.threads/multiple-successive-infcall.exp: thread=5: created new thread
+FAIL: gdb.threads/non-ldr-exit.exp: program exits normally (timeout)
+FAIL: gdb.threads/process-dies-while-detaching.exp: single-process: continue: killed outside: continue
+FAIL: gdb.threads/process-dies-while-detaching.exp: single-process: continue: watchpoint:hw: continue (timeout)
+FAIL: gdb.threads/thread-specific-bp.exp: all-stop: continue to end (timeout)
+FAIL: gdb.threads/thread-specific-bp.exp: non-stop: continue to end (timeout)
+FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_asm_test
+FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_c_test
+FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_recursion_test 0
+FAIL: gdb.trace/change-loc.exp: 1 trace: continue to marker 2
+FAIL: gdb.trace/change-loc.exp: 1 trace: continue to marker 3
+FAIL: gdb.trace/change-loc.exp: 1 trace: tfind frame 0
+FAIL: gdb.trace/change-loc.exp: 1 trace: tracepoint with two locations - installed (unload)
+FAIL: gdb.trace/change-loc.exp: 1 trace: tracepoint with two locations - pending (unload)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 1 (the program is no longer running)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 2 (the program is no longer running)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 3 (the program is no longer running)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: run to main (the program exited)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 0
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 1
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 2
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with three locations
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with two locations - installed (unload)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with two locations - pending (unload)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tstart
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tstop
+FAIL: gdb.trace/change-loc.exp: 2 trace: continue to marker 2
+FAIL: gdb.trace/change-loc.exp: 2 trace: continue to marker 3
+FAIL: gdb.trace/change-loc.exp: 2 trace: tfind frame 2
+FAIL: gdb.trace/change-loc.exp: 2 trace: tracepoint with two locations - installed (unload)
+FAIL: gdb.trace/change-loc.exp: 2 trace: tracepoint with two locations - pending (unload)
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local char
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local double
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local float
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local int
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member char
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member double
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member float
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member int
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #0
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #1
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #2
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #3
+FAIL: gdb.trace/collection.exp: collect register locals collectively: start trace experiment
+FAIL: gdb.trace/collection.exp: collect register locals collectively: tfind test frame
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local char
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local double
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local float
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local int
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member char
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member double
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member float
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member int
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #0
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #1
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #2
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #3
+FAIL: gdb.trace/collection.exp: collect register locals individually: define actions
+FAIL: gdb.trace/mi-trace-frame-collected.exp: tfile: -trace-frame-collected (unexpected output)
+FAIL: gdb.trace/mi-trace-frame-collected.exp: tfile: -trace-frame-collected --var-print-values 2 --comp-print-values --simple-values --registers-format x --memory-contents (unexpected output)
+FAIL: gdb.trace/pending.exp: ftrace resolved: (the program exited)
+FAIL: gdb.trace/pending.exp: ftrace works: continue to marker (the program is no longer running)
+FAIL: gdb.trace/pending.exp: ftrace works: start trace experiment
+FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 0
+FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 1
+FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 2
+FAIL: gdb.trace/pending.exp: ftrace works: (the program exited)
+FAIL: gdb.trace/pending.exp: trace installed_in_trace: continue to marker 2
+FAIL: gdb.trace/pending.exp: trace installed_in_trace: tfind test frame 0
+FAIL: gdb.trace/unavailable.exp: collect globals: print object off: print derived_partial
+FAIL: gdb.trace/unavailable.exp: collect globals: print object on: print derived_partial
+FAIL: gdb.trace/unavailable.exp: collect globals: tfile: print object off: print derived_partial
+FAIL: gdb.trace/unavailable.exp: collect globals: tfile: print object on: print derived_partial
+FAIL: gdb.trace/unavailable.exp: unavailable locals: auto locals: info locals
+FAIL: gdb.trace/unavailable.exp: unavailable locals: auto locals: tfile: info locals
+FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: info locals
+FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: print locd
+FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: print locf
+FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: info locals
+FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: print locd
+FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: print locf
+FAIL: gdb.trace/unavailable.exp: unavailable locals: static locals: info locals
+FAIL: gdb.trace/unavailable.exp: unavailable locals: static locals: tfile: info locals
+UNRESOLVED: gdb.base/libsegfault.exp: gdb emits custom handler warning
+UNRESOLVED: gdb.base/readline-ask.exp: bell for more message
+UNRESOLVED: gdb.base/symbol-without-target_section.exp: list -q main
+UNRESOLVED: gdb.dwarf2/dw2-icc-opaque.exp: ptype p_struct
+FAIL: gdb.arch/ftrace-insn-reloc.exp: running to main in runto
+FAIL: gdb.dwarf2/clztest.exp: running to main in runto
+FAIL: gdb.dwarf2/dw2-inline-param.exp: running to *0x608 in runto
+FAIL: gdb.multi/multi-re-run.exp: re_run_inf=1: iter=1: running to all_started in runto
+FAIL: gdb.multi/multi-re-run.exp: re_run_inf=2: iter=1: running to all_started in runto
+KPASS: gdb.threads/process-dies-while-detaching.exp: single-process: continue: watchpoint:sw: continue (PRMS gdb/28375)
+FAIL: gdb.trace/change-loc.exp: 1 ftrace: running to main in runto
+FAIL: gdb.trace/change-loc.exp: InstallInTrace disabled: ftrace: running to main in runto
+FAIL: gdb.trace/ftrace-lock.exp: running to main in runto
+FAIL: gdb.trace/ftrace.exp: running to main in runto
+FAIL: gdb.trace/pending.exp: ftrace action_resolved: running to main in runto
+FAIL: gdb.trace/pending.exp: ftrace disconn: running to main in runto
+FAIL: gdb.trace/pending.exp: ftrace disconn_resolved: running to main in runto
+FAIL: gdb.trace/pending.exp: ftrace installed_in_trace: running to main in runto
+FAIL: gdb.trace/pending.exp: ftrace resolved_in_trace: running to main in runto
+FAIL: gdb.trace/range-stepping.exp: running to main in runto
+FAIL: gdb.trace/trace-break.exp: running to main in runto
+FAIL: gdb.trace/trace-condition.exp: running to main in runto
+FAIL: gdb.trace/trace-enable-disable.exp: test_tracepoint_enable_disable ftrace: running to main in runto
+FAIL: gdb.trace/trace-enable-disable.exp: test_tracepoint_enable_disable trace: running to main in runto
+FAIL: gdb.trace/trace-mt.exp: running to main in runto
+FAIL: gdb.trace/tspeed.exp: running to main in runto
+EOF
+
+cat <<'EOF' > known-failures-native-extended-gdbserver
+DUPLICATE: gdb.base/attach-pie-misread.exp: copy ld-2.27.so to ld-linux-x86-64.so.2
+DUPLICATE: gdb.base/attach-pie-misread.exp: copy libc-2.27.so to libc.so.6
+DUPLICATE: gdb.base/attach-pie-misread.exp: ldd attach-pie-misread
+DUPLICATE: gdb.base/attach-pie-misread.exp: ldd attach-pie-misread output contains libs
+DUPLICATE: gdb.base/call-signal-resume.exp: dummy stack frame number
+DUPLICATE: gdb.base/call-signal-resume.exp: return
+DUPLICATE: gdb.base/call-signal-resume.exp: set confirm off
+DUPLICATE: gdb.base/complete-empty.exp: empty-input-line: cmd complete ""
+DUPLICATE: gdb.base/cond-eval-mode.exp: awatch: awatch global
+DUPLICATE: gdb.base/cond-eval-mode.exp: awatch: continue
+DUPLICATE: gdb.base/cond-eval-mode.exp: break: break foo
+DUPLICATE: gdb.base/cond-eval-mode.exp: break: continue
+DUPLICATE: gdb.base/cond-eval-mode.exp: hbreak: continue
+DUPLICATE: gdb.base/cond-eval-mode.exp: hbreak: hbreak foo
+DUPLICATE: gdb.base/cond-eval-mode.exp: rwatch: continue
+DUPLICATE: gdb.base/cond-eval-mode.exp: rwatch: rwatch global
+DUPLICATE: gdb.base/cond-eval-mode.exp: watch: continue
+DUPLICATE: gdb.base/cond-eval-mode.exp: watch: watch global
+DUPLICATE: gdb.base/decl-before-def.exp: p a
+DUPLICATE: gdb.base/define-prefix.exp: define user command: ghi-prefix-cmd
+DUPLICATE: gdb.base/del.exp: info break after removing break on main
+DUPLICATE: gdb.base/dfp-exprs.exp: p 1.2dl < 1.3df
+DUPLICATE: gdb.base/dfp-test.exp: 1.23E45A is an invalid number
+DUPLICATE: gdb.base/dfp-test.exp: 1.23E45A is an invalid number
+DUPLICATE: gdb.base/dfp-test.exp: 1.23E is an invalid number
+DUPLICATE: gdb.base/dfp-test.exp: 1.23E is an invalid number
+DUPLICATE: gdb.base/exprs.exp: \$[0-9]* = red (setup)
+DUPLICATE: gdb.base/funcargs.exp: run to call2a
+DUPLICATE: gdb.base/interp.exp: interpreter-exec mi "-var-update *"
+DUPLICATE: gdb.base/miscexprs.exp: print value of !ibig.i[100]
+DUPLICATE: gdb.base/miscexprs.exp: print value of !ibig.i[100]
+DUPLICATE: gdb.base/nested-subp2.exp: continue to the STOP marker
+DUPLICATE: gdb.base/nested-subp2.exp: print c
+DUPLICATE: gdb.base/nested-subp2.exp: print count
+DUPLICATE: gdb.base/pending.exp: disable other breakpoints
+DUPLICATE: gdb.base/pie-fork.exp: test_no_detach_on_fork: continue
+DUPLICATE: gdb.base/pointers.exp: pointer assignment
+DUPLICATE: gdb.base/pretty-array.exp: print nums
+DUPLICATE: gdb.base/pretty-array.exp: print nums
+DUPLICATE: gdb.base/ptype.exp: list charfoo
+DUPLICATE: gdb.base/ptype.exp: list intfoo
+DUPLICATE: gdb.base/ptype.exp: ptype the_highest
+DUPLICATE: gdb.base/readline.exp: Simple operate-and-get-next - final prompt
+DUPLICATE: gdb.base/realname-expand.exp: set basenames-may-differ on
+DUPLICATE: gdb.base/set-cwd.exp: test_cwd_reset: continue to breakpoint: break-here
+DUPLICATE: gdb.base/shlib-call.exp: continue until exit
+DUPLICATE: gdb.base/shlib-call.exp: print g
+DUPLICATE: gdb.base/shlib-call.exp: set print address off
+DUPLICATE: gdb.base/shlib-call.exp: set print sevenbit-strings
+DUPLICATE: gdb.base/shlib-call.exp: set width 0
+DUPLICATE: gdb.base/solib-display.exp: IN: break 25
+DUPLICATE: gdb.base/solib-display.exp: IN: continue
+DUPLICATE: gdb.base/solib-display.exp: NO: break 25
+DUPLICATE: gdb.base/solib-display.exp: NO: continue
+DUPLICATE: gdb.base/solib-display.exp: SEP: break 25
+DUPLICATE: gdb.base/solib-display.exp: SEP: continue
+DUPLICATE: gdb.base/stack-checking.exp: bt
+DUPLICATE: gdb.base/stack-checking.exp: bt
+DUPLICATE: gdb.base/subst.exp: unset substitute-path from, no rule entered yet
+DUPLICATE: gdb.base/ui-redirect.exp: redirect while already logging: set logging redirect off
+DUPLICATE: gdb.base/unload.exp: continuing to unloaded libfile
+DUPLICATE: gdb.base/watchpoints.exp: watchpoint hit, first time
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: mi runto main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: mi runto main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: mi runto main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: mi runto main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: mi runto main
+DUPLICATE: gdb.mi/mi2-amd64-entry-value.exp: mi runto main
+DUPLICATE: gdb.mi/mi2-var-child.exp: get children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr
+DUPLICATE: gdb.mi/mi2-var-child.exp: get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr
+DUPLICATE: gdb.mi/mi2-var-child.exp: get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr
+DUPLICATE: gdb.mi/mi2-var-child.exp: get number of children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr
+DUPLICATE: gdb.mi/mi-catch-cpp-exceptions.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi-catch-cpp-exceptions.exp: mi runto main
+DUPLICATE: gdb.mi/mi-catch-load.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi-catch-load.exp: mi runto main
+DUPLICATE: gdb.mi/mi-language.exp: set lang ada
+DUPLICATE: gdb.mi/mi-nonstop-exit.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi-nonstop-exit.exp: mi runto main
+DUPLICATE: gdb.mi/mi-nonstop.exp: check varobj, w1, 1
+DUPLICATE: gdb.mi/mi-nonstop.exp: stacktrace of stopped thread
+DUPLICATE: gdb.mi/mi-nsthrexec.exp: breakpoint at main
+DUPLICATE: gdb.mi/mi-syn-frame.exp: finished exec continue
+DUPLICATE: gdb.mi/mi-syn-frame.exp: list stack frames
+DUPLICATE: gdb.mi/mi-syn-frame.exp: list stack frames
+DUPLICATE: gdb.mi/mi-var-child.exp: get children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr
+DUPLICATE: gdb.mi/mi-var-child.exp: get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr
+DUPLICATE: gdb.mi/mi-var-child.exp: get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr
+DUPLICATE: gdb.mi/mi-var-child.exp: get number of children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr
+DUPLICATE: gdb.mi/mi-var-rtti.exp: list children of ptr.Base.public (with RTTI) in use_rtti_with_multiple_inheritence
+DUPLICATE: gdb.mi/mi-var-rtti.exp: list children of ptr.public (without RTTI) in skip_type_update_when_not_use_rtti
+DUPLICATE: gdb.mi/mi-var-rtti.exp: list children of ptr (without RTTI) in skip_type_update_when_not_use_rtti
+DUPLICATE: gdb.mi/mi-var-rtti.exp: list children of s.ptr.public (without RTTI) in skip_type_update_when_not_use_rtti
+DUPLICATE: gdb.mi/mi-var-rtti.exp: list children of s.ptr (without RTTI) in skip_type_update_when_not_use_rtti
+DUPLICATE: gdb.mi/mi-watch.exp: mi-mode=main: wp-type=hw: watchpoint trigger
+DUPLICATE: gdb.mi/mi-watch.exp: mi-mode=main: wp-type=sw: watchpoint trigger
+DUPLICATE: gdb.mi/mi-watch.exp: mi-mode=separate: wp-type=hw: watchpoint trigger
+DUPLICATE: gdb.mi/mi-watch.exp: mi-mode=separate: wp-type=sw: watchpoint trigger
+FAIL: gdb.multi/multi-re-run.exp: re_run_inf=1: iter=2: continue until exit
+FAIL: gdb.multi/multi-re-run.exp: re_run_inf=1: iter=2: print re_run_var_1
+FAIL: gdb.multi/multi-re-run.exp: re_run_inf=2: iter=2: continue until exit
+FAIL: gdb.multi/multi-re-run.exp: re_run_inf=2: iter=2: print re_run_var_2
+DUPLICATE: gdb.threads/attach-into-signal.exp: threaded: thread apply 2 print $_siginfo.si_signo
+DUPLICATE: gdb.trace/circ.exp: check whether setting trace buffer size is supported
+DUPLICATE: gdb.trace/ftrace-lock.exp: successfully compiled posix threads test case
+DUPLICATE: gdb.trace/mi-tsv-changed.exp: create delete modify: tvariable $tvar3 modified
+DUPLICATE: gdb.trace/signal.exp: get integer valueof "counter"
+DUPLICATE: gdb.trace/status-stop.exp: buffer_full_tstart: tstart
+DUPLICATE: gdb.trace/status-stop.exp: tstart_tstop_tstart: tstart
+DUPLICATE: gdb.trace/tfind.exp: 8.17: tfind none
+DUPLICATE: gdb.trace/trace-buffer-size.exp: set tracepoint at test_function
+DUPLICATE: gdb.trace/trace-buffer-size.exp: tstart
+DUPLICATE: gdb.trace/trace-mt.exp: successfully compiled posix threads test case
+DUPLICATE: gdb.trace/tspeed.exp: advance through tracing (the program is no longer running)
+DUPLICATE: gdb.trace/tspeed.exp: advance to trace begin (the program is no longer running)
+DUPLICATE: gdb.trace/tspeed.exp: check on trace status
+DUPLICATE: gdb.trace/tspeed.exp: print iters = init_iters
+DUPLICATE: gdb.trace/tspeed.exp: start trace experiment
+FAIL: gdb.ada/interface.exp: print s
+FAIL: gdb.ada/iwide.exp: print d_access.all
+FAIL: gdb.ada/iwide.exp: print dp_access.all
+FAIL: gdb.ada/iwide.exp: print My_Drawable
+FAIL: gdb.ada/iwide.exp: print s_access.all
+FAIL: gdb.ada/iwide.exp: print sp_access.all
+FAIL: gdb.ada/mi_interface.exp: create ggg1 varobj (unexpected output)
+FAIL: gdb.ada/mi_interface.exp: list ggg1's children (unexpected output)
+FAIL: gdb.ada/tagged_access.exp: ptype c.all
+FAIL: gdb.ada/tagged_access.exp: ptype c.menu_name
+FAIL: gdb.ada/tagged.exp: print obj
+FAIL: gdb.ada/tagged.exp: ptype obj
+FAIL: gdb.base/a2-run.exp: run "a2-run" with shell (timeout)
+FAIL: gdb.base/attach.exp: do_command_attach_tests: starting with --pid
+FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=IN: binprelink=NO: binsepdebug=NO: binpie=NO: INNER: symbol-less: entry point reached (the program is no longer running)
+FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=IN: binprelink=NO: binsepdebug=NO: binpie=NO: INNER: symbol-less: reach-(_dl_debug_state|dl_main)-3: reach
+FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=IN: binprelink=NO: binsepdebug=NO: binpie=YES: INNER: symbol-less: entry point reached (the program is no longer running)
+FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=IN: binprelink=NO: binsepdebug=NO: binpie=YES: INNER: symbol-less: reach-(_dl_debug_state|dl_main)-3: reach
+FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=IN: binprelink=NO: binsepdebug=NO: binpie=YES: INNER: symbol-less: reach-(_dl_debug_state|dl_main)-3: seen displacement message as NONZERO
+FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=NO: binprelink=NO: binsepdebug=NO: binpie=NO: INNER: symbol-less: entry point reached (the program is no longer running)
+FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=NO: binprelink=NO: binsepdebug=NO: binpie=NO: INNER: symbol-less: reach-(_dl_debug_state|dl_main)-3: reach
+FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=NO: binprelink=NO: binsepdebug=NO: binpie=YES: INNER: symbol-less: entry point reached (the program is no longer running)
+FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=NO: binprelink=NO: binsepdebug=NO: binpie=YES: INNER: symbol-less: reach-(_dl_debug_state|dl_main)-3: reach
+FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=NO: binprelink=NO: binsepdebug=NO: binpie=YES: INNER: symbol-less: reach-(_dl_debug_state|dl_main)-3: seen displacement message as NONZERO
+FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=NO: symbol-less: ld.so exit
+FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=NO: symbol-less: seen displacement message as NONZERO
+FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_end
+FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_start
+FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_fatal_msg
+FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: [expr $internal_error_msg_count == 2]
+FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_end
+FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_start
+FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_fatal_msg
+FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: [expr $internal_error_msg_count == 2]
+FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_end
+FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_start
+FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_fatal_msg
+FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: [expr $internal_error_msg_count == 2]
+FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections
+FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections -r
+FAIL: gdb.base/compare-sections.exp: read-only: compare-sections -r
+FAIL: gdb.base/gdbinit-history.exp: GDBHISTFILE is empty: show commands
+FAIL: gdb.base/gdbinit-history.exp: load default history file: show commands
+FAIL: gdb.base/gdbinit-history.exp: load GDBHISTFILE history file: show commands
+FAIL: gdb.base/interrupt-daemon.exp: bg: continue& (timeout)
+FAIL: gdb.base/interrupt-daemon.exp: bg: interrupt cmd stops process (timeout)
+FAIL: gdb.base/interrupt-daemon.exp: bg: interrupt (timeout)
+FAIL: gdb.base/interrupt-daemon.exp: fg: ctrl-c stops process (timeout)
+FAIL: gdb.base/share-env-with-gdbserver.exp: strange named var: print result of getenv for 'asd ='
+FAIL: gdb.base/startup-with-shell.exp: startup_with_shell = on; run_args = $TEST: testing first argument
+FAIL: gdb.base/startup-with-shell.exp: startup_with_shell = on; run_args = *.unique-extension: first argument expanded
+FAIL: gdb.base/with.exp: repeat: reinvoke with no previous command to relaunch
+FAIL: gdb.cp/annota2.exp: annotate-quit
+FAIL: gdb.cp/annota2.exp: break at main (got interactive prompt)
+FAIL: gdb.cp/annota2.exp: continue until exit (timeout)
+FAIL: gdb.cp/annota2.exp: delete bps
+FAIL: gdb.cp/annota2.exp: set watch on a.x (timeout)
+FAIL: gdb.cp/annota2.exp: watch triggered on a.x (timeout)
+FAIL: gdb.cp/annota3.exp: continue to exit (pattern 4)
+FAIL: gdb.cp/no-dmgl-verbose.exp: setting breakpoint at 'f(std::string)'
+FAIL: gdb.gdb/unittest.exp: executable loaded: maintenance selftest, failed none
+FAIL: gdb.gdb/unittest.exp: no executable loaded: maintenance selftest, failed none
+FAIL: gdb.mi/mi-exec-run.exp: inferior-tty=separate: mi=separate: force-fail=0: breakpoint hit reported on console (timeout)
+FAIL: gdb.mi/mi-pending.exp: MI pending breakpoint on mi-pendshr.c:pendfunc2 if x==4 (unexpected output)
+FAIL: gdb.multi/multi-re-run.exp: re_run_inf=1: iter=2: continue until exit
+FAIL: gdb.multi/multi-re-run.exp: re_run_inf=1: iter=2: print re_run_var_1
+FAIL: gdb.python/py-events.exp: get current thread
+FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=: action=delete: connection to GDBserver succeeded
+FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=: action=permission: connection to GDBserver succeeded
+FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=target:: action=delete: connection to GDBserver succeeded
+FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=target:: action=permission: connection to GDBserver succeeded
+FAIL: gdb.threads/attach-into-signal.exp: threaded: thread apply 2 print $_siginfo.si_signo
+FAIL: gdb.threads/detach-step-over.exp: breakpoint-condition-evaluation=host: target-non-stop=off: non-stop=off: displaced=off: iter 1: all threads running (GDB internal error)
+FAIL: gdb.threads/detach-step-over.exp: breakpoint-condition-evaluation=target: target-non-stop=on: non-stop=off: displaced=off: iter 1: stop with SIGUSR1 (timeout)
+FAIL: gdb.threads/detach-step-over.exp: breakpoint-condition-evaluation=target: target-non-stop=on: non-stop=off: displaced=off: iter 2: all threads running
+FAIL: gdb.threads/detach-step-over.exp: breakpoint-condition-evaluation=target: target-non-stop=on: non-stop=off: displaced=off: iter 2: stop with SIGUSR1 (timeout)
+FAIL: gdb.threads/detach-step-over.exp: breakpoint-condition-evaluation=target: target-non-stop=on: non-stop=off: displaced=off: iter 3: all threads running
+FAIL: gdb.threads/detach-step-over.exp: breakpoint-condition-evaluation=target: target-non-stop=on: non-stop=off: displaced=off: iter 3: attach (got interactive prompt)
+FAIL: gdb.threads/detach-step-over.exp: breakpoint-condition-evaluation=target: target-non-stop=on: non-stop=off: displaced=off: iter 3: stop with SIGUSR1 (timeout)
+FAIL: gdb.threads/forking-threads-plus-breakpoint.exp: cond_bp_target=0: detach_on_fork=on: displaced=off: inferior 1 exited (timeout)
+FAIL: gdb.threads/multiple-successive-infcall.exp: thread=3: created new thread
+FAIL: gdb.threads/multiple-successive-infcall.exp: thread=4: created new thread
+FAIL: gdb.threads/multiple-successive-infcall.exp: thread=5: created new thread
+FAIL: gdb.threads/non-ldr-exit.exp: program exits normally (timeout)
+FAIL: gdb.threads/process-dies-while-detaching.exp: single-process: continue: killed outside: continue
+FAIL: gdb.threads/process-dies-while-detaching.exp: single-process: continue: watchpoint:hw: continue (timeout)
+FAIL: gdb.threads/thread-specific-bp.exp: all-stop: continue to end (timeout)
+FAIL: gdb.threads/tls.exp: print a_thread_local
+FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_asm_test
+FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_c_test
+FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_recursion_test 0
+FAIL: gdb.trace/change-loc.exp: 1 trace: continue to marker 2
+FAIL: gdb.trace/change-loc.exp: 1 trace: continue to marker 3
+FAIL: gdb.trace/change-loc.exp: 1 trace: tfind frame 0
+FAIL: gdb.trace/change-loc.exp: 1 trace: tracepoint with two locations - installed (unload)
+FAIL: gdb.trace/change-loc.exp: 1 trace: tracepoint with two locations - pending (unload)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 1 (the program is no longer running)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 2 (the program is no longer running)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 3 (the program is no longer running)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: run to main (the program exited)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 0
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 1
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 2
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with three locations
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with two locations - installed (unload)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with two locations - pending (unload)
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tstart
+FAIL: gdb.trace/change-loc.exp: 2 ftrace: tstop
+FAIL: gdb.trace/change-loc.exp: 2 trace: continue to marker 2
+FAIL: gdb.trace/change-loc.exp: 2 trace: continue to marker 3
+FAIL: gdb.trace/change-loc.exp: 2 trace: tfind frame 2
+FAIL: gdb.trace/change-loc.exp: 2 trace: tracepoint with two locations - installed (unload)
+FAIL: gdb.trace/change-loc.exp: 2 trace: tracepoint with two locations - pending (unload)
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local char
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local double
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local float
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local int
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member char
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member double
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member float
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member int
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #0
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #1
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #2
+FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #3
+FAIL: gdb.trace/collection.exp: collect register locals collectively: start trace experiment
+FAIL: gdb.trace/collection.exp: collect register locals collectively: tfind test frame
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local char
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local double
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local float
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local int
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member char
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member double
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member float
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member int
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #0
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #1
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #2
+FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #3
+FAIL: gdb.trace/collection.exp: collect register locals individually: define actions
+FAIL: gdb.trace/mi-trace-frame-collected.exp: tfile: -trace-frame-collected (unexpected output)
+FAIL: gdb.trace/mi-trace-frame-collected.exp: tfile: -trace-frame-collected --var-print-values 2 --comp-print-values --simple-values --registers-format x --memory-contents (unexpected output)
+FAIL: gdb.trace/pending.exp: ftrace resolved: (the program exited)
+FAIL: gdb.trace/pending.exp: ftrace works: continue to marker (the program is no longer running)
+FAIL: gdb.trace/pending.exp: ftrace works: start trace experiment
+FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 0
+FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 1
+FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 2
+FAIL: gdb.trace/pending.exp: ftrace works: (the program exited)
+FAIL: gdb.trace/pending.exp: trace installed_in_trace: continue to marker 2
+FAIL: gdb.trace/pending.exp: trace installed_in_trace: tfind test frame 0
+FAIL: gdb.trace/tspeed.exp: advance through tracing (the program is no longer running)
+FAIL: gdb.trace/tspeed.exp: advance through tracing (the program is no longer running)
+FAIL: gdb.trace/tspeed.exp: advance to trace begin (the program is no longer running)
+FAIL: gdb.trace/tspeed.exp: advance to trace begin (the program is no longer running)
+FAIL: gdb.trace/tspeed.exp: start trace experiment
+FAIL: gdb.trace/tspeed.exp: start trace experiment
+FAIL: gdb.trace/unavailable.exp: collect globals: print object off: print derived_partial
+FAIL: gdb.trace/unavailable.exp: collect globals: print object on: print derived_partial
+FAIL: gdb.trace/unavailable.exp: collect globals: tfile: print object off: print derived_partial
+FAIL: gdb.trace/unavailable.exp: collect globals: tfile: print object on: print derived_partial
+FAIL: gdb.trace/unavailable.exp: unavailable locals: auto locals: info locals
+FAIL: gdb.trace/unavailable.exp: unavailable locals: auto locals: tfile: info locals
+FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: info locals
+FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: print locd
+FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: print locf
+FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: info locals
+FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: print locd
+FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: print locf
+FAIL: gdb.trace/unavailable.exp: unavailable locals: static locals: info locals
+FAIL: gdb.trace/unavailable.exp: unavailable locals: static locals: tfile: info locals
+UNRESOLVED: gdb.base/libsegfault.exp: gdb emits custom handler warning
+UNRESOLVED: gdb.base/readline-ask.exp: bell for more message
+UNRESOLVED: gdb.base/symbol-without-target_section.exp: list -q main
+UNRESOLVED: gdb.dwarf2/dw2-icc-opaque.exp: ptype p_struct
+UNRESOLVED: gdb.mi/mi-exec-run.exp: inferior-tty=main: mi=main: force-fail=1: run failure detected (eof)
+UNRESOLVED: gdb.mi/mi-exec-run.exp: inferior-tty=main: mi=separate: force-fail=1: run failure detected (eof)
+UNRESOLVED: gdb.mi/mi-exec-run.exp: inferior-tty=separate: mi=main: force-fail=1: run failure detected (eof)
+UNRESOLVED: gdb.mi/mi-exec-run.exp: inferior-tty=separate: mi=separate: force-fail=1: run failure detected (eof)
+UNRESOLVED: gdb.threads/attach-into-signal.exp: threaded: attach (pass 2), pending signal catch
+FAIL: gdb.arch/ftrace-insn-reloc.exp: running to main in runto
+FAIL: gdb.dwarf2/dw2-inline-param.exp: running to *0x608 in runto
+FAIL: gdb.multi/remove-inferiors.exp: running to main in runto
+FAIL: gdb.threads/access-mem-running-thread-exit.exp: non-stop: second inferior: running to main in runto
+FAIL: gdb.threads/break-while-running.exp: w/ithr: always-inserted off: non-stop: running to main in runto
+FAIL: gdb.threads/break-while-running.exp: w/ithr: always-inserted on: non-stop: running to main in runto
+FAIL: gdb.threads/break-while-running.exp: wo/ithr: always-inserted off: non-stop: running to main in runto
+FAIL: gdb.threads/break-while-running.exp: wo/ithr: always-inserted on: non-stop: running to main in runto
+FAIL: gdb.threads/gcore-stale-thread.exp: running to main in runto
+FAIL: gdb.threads/multi-create-ns-info-thr.exp: running to main in runto
+FAIL: gdb.threads/non-stop-fair-events.exp: running to main in runto
+KPASS: gdb.threads/process-dies-while-detaching.exp: single-process: continue: watchpoint:sw: continue (PRMS gdb/28375)
+FAIL: gdb.threads/thread-execl.exp: non-stop: running to main in runto
+FAIL: gdb.threads/thread-specific-bp.exp: non-stop: running to main in runto
+FAIL: gdb.trace/change-loc.exp: 1 ftrace: running to main in runto
+FAIL: gdb.trace/change-loc.exp: InstallInTrace disabled: ftrace: running to main in runto
+FAIL: gdb.trace/ftrace-lock.exp: running to main in runto
+FAIL: gdb.trace/ftrace.exp: running to main in runto
+FAIL: gdb.trace/pending.exp: ftrace action_resolved: running to main in runto
+FAIL: gdb.trace/pending.exp: ftrace disconn: running to main in runto
+FAIL: gdb.trace/pending.exp: ftrace disconn_resolved: running to main in runto
+FAIL: gdb.trace/pending.exp: ftrace installed_in_trace: running to main in runto
+FAIL: gdb.trace/pending.exp: ftrace resolved_in_trace: running to main in runto
+FAIL: gdb.trace/range-stepping.exp: running to main in runto
+FAIL: gdb.trace/trace-break.exp: running to main in runto
+FAIL: gdb.trace/trace-condition.exp: running to main in runto
+FAIL: gdb.trace/trace-enable-disable.exp: test_tracepoint_enable_disable ftrace: running to main in runto
+FAIL: gdb.trace/trace-enable-disable.exp: test_tracepoint_enable_disable trace: running to main in runto
+FAIL: gdb.trace/trace-mt.exp: running to main in runto
+FAIL: gdb.trace/tspeed.exp: running to main in runto
+FAIL: gdb.trace/tspeed.exp: running to main in runto
+DUPLICATE: gdb.trace/tspeed.exp: running to main in runto
+EOF
+
+known_failures_file="known-failures-${target_board}"
+grep --invert-match --fixed-strings --file="$known_failures_file"  "${WORKSPACE}/results/gdb.sum" > "${WORKSPACE}/results/gdb.filtered.sum"
 
 # Convert results to JUnit format.
 failed_tests=0
This page took 0.032542 seconds and 4 git commands to generate.