jjb: binutils-gdb: generate file with failures
[lttng-ci.git] / scripts / binutils-gdb / build.sh
CommitLineData
91ba8aa1
MJ
1#!/bin/bash
2#
3# Copyright (C) 2021 Michael Jeanson <mjeanson@efficios.com>
4#
5# This program is free software: you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation, either version 3 of the License, or
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18set -exu
19
20failed_configure() {
21 # Assume we are in the configured build directory
22 echo "#################### BEGIN config.log ####################"
23 cat config.log
24 echo "#################### END config.log ####################"
25 exit 1
26}
27
28sum2junit() {
29 local infile="$1"
30 local outfile="$2"
31
bcd0bdf1
SM
32cat <<EOF > sum2junit.py
33import sys
34from datetime import datetime
35import re
36from xml.etree.ElementTree import ElementTree, Element, SubElement
37
38line_re = re.compile(
39 r"^(PASS|XPASS|FAIL|XFAIL|KFAIL|DUPLICATE|UNTESTED|UNSUPPORTED|UNRESOLVED): (.*?\.exp): (.*)"
40)
41
42pass_count = 0
43fail_count = 0
44skip_count = 0
45error_count = 0
46now = datetime.now().isoformat(timespec="seconds")
47
48testsuites = Element(
49 "testsuites",
50 {
51 "xmlns": "https://raw.githubusercontent.com/windyroad/JUnit-Schema/master/JUnit.xsd"
52 },
53)
54testsuite = SubElement(
55 testsuites,
56 "testsuite",
57 {
58 "name": "GDB",
59 "package": "package",
60 "id": "0",
61 "time": "1",
62 "timestamp": now,
63 "hostname": "hostname",
64 },
65)
66SubElement(testsuite, "properties")
67
68for line in sys.stdin:
69 m = line_re.match(line)
70 if not m:
71 continue
72
73 state, exp_filename, test_name = m.groups()
74
75 testcase_name = "{} - {}".format(exp_filename, test_name)
76
77 testcase = SubElement(
78 testsuite,
79 "testcase",
80 {"name": testcase_name, "classname": "classname", "time": "0"},
81 )
82
83 if state in ("PASS", "XFAIL", "KFAIL"):
84 pass_count += 1
85 elif state in ("FAIL", "XPASS"):
6e30c08a 86 print("{}: {}".format(state, testcase_name), file=sys.stderr)
bcd0bdf1
SM
87 fail_count += 1
88 SubElement(testcase, "failure", {"type": state})
89 elif state in ("UNRESOLVED", "DUPLICATE"):
6e30c08a 90 print("{}: {}".format(state, testcase_name), file=sys.stderr)
bcd0bdf1
SM
91 error_count += 1
92 SubElement(testcase, "error", {"type": state})
93 elif state in ("UNTESTED", "UNSUPPORTED"):
94 skip_count += 1
95 SubElement(testcase, "skipped")
96 else:
97 assert False
98
99testsuite.attrib["tests"] = str(pass_count + fail_count + skip_count)
100testsuite.attrib["failures"] = str(fail_count)
101testsuite.attrib["skipped"] = str(skip_count)
102testsuite.attrib["errors"] = str(error_count)
103
104SubElement(testsuite, "system-out")
105SubElement(testsuite, "system-err")
106
107et = ElementTree(testsuites)
108et.write(sys.stdout, encoding="unicode")
109
110sys.exit(1 if fail_count > 0 or error_count > 0 else 0)
91ba8aa1
MJ
111EOF
112
bcd0bdf1 113 python3 sum2junit.py < "$infile" > "$outfile"
91ba8aa1
MJ
114}
115
116# Required variables
117WORKSPACE=${WORKSPACE:-}
118
e901a9db 119platform=${platform:-}
91ba8aa1
MJ
120conf=${conf:-}
121build=${build:-}
748dd275 122target_board=${target_board:-unix}
91ba8aa1
MJ
123
124
125SRCDIR="$WORKSPACE/src/binutils-gdb"
126TMPDIR="$WORKSPACE/tmp"
127PREFIX="/build"
128
129# Create tmp directory
130rm -rf "$TMPDIR"
131mkdir -p "$TMPDIR"
132
133export TMPDIR
134export CFLAGS="-O2 -fsanitize=address"
135export CXXFLAGS="-O2 -fsanitize=address -D_GLIBCXX_DEBUG=1"
136export LDFLAGS="-fsanitize=address"
137
138# Set platform variables
e901a9db 139case "$platform" in
91ba8aa1
MJ
140*)
141 export MAKE=make
142 export TAR=tar
143 export NPROC=nproc
144 ;;
145esac
146
147# Print build env details
148print_os || true
149print_tooling || true
150
151# Enter the source directory
152cd "$SRCDIR"
153
154# Run bootstrap in the source directory prior to configure
155#./bootstrap
156
157# Get source version from configure script
158#eval "$(grep '^PACKAGE_VERSION=' ./configure)"
159#PACKAGE_VERSION=${PACKAGE_VERSION//\-pre*/}
160
161# Set configure options and environment variables for each build
162# configuration.
163CONF_OPTS=("--prefix=$PREFIX")
164
165case "$conf" in
166*)
167 echo "Standard configuration"
168
169 # Use system tools
1c76805c 170 CONF_OPTS+=("--disable-binutils" "--disable-ld" "--disable-gold" "--disable-gas" "--disable-sim" "--disable-gprof" "--disable-gprofng")
91ba8aa1
MJ
171
172 # Use system libs
173 CONF_OPTS+=("--with-system-readline" "--with-system-zlib")
174
175 # Enable optional features
176 CONF_OPTS+=("--enable-targets=all" "--with-expat=yes" "--with-python=python3" "--with-guile=guile-2.2" "--enable-libctf")
177
b91b655f 178 CONF_OPTS+=("--enable-build-warnings" "--enable-gdb-build-warnings" "--enable-unit-tests" "--enable-ubsan")
91ba8aa1
MJ
179
180 ;;
181esac
182
183# Build type
184# oot : out-of-tree build
185# dist : build via make dist
186# oot-dist: build via make dist out-of-tree
187# * : normal tree build
188#
189# Make sure to move to the build directory and run configure
190# before continuing.
191case "$build" in
192*)
193 echo "Out of tree build"
194
195 # Create and enter a temporary build directory
196 builddir=$(mktemp -d)
197 cd "$builddir"
198
199 "$SRCDIR/configure" "${CONF_OPTS[@]}" || failed_configure
200 ;;
201esac
202
203# We are now inside a configured build directory
204
205# BUILD!
206$MAKE -j "$($NPROC)" V=1 MAKEINFO=/bin/true
207
208# Install in the workspace
209$MAKE install DESTDIR="$WORKSPACE"
210
748dd275
SM
211case "$target_board" in
212unix | native-gdbserver | native-extended-gdbserver)
213 RUNTESTFLAGS="--target_board=$target_board"
214 ;;
215
216*)
217 echo "Unknown \$target_board value: $target_board"
218 exit 1
219 ;;
220esac
221
bcd0bdf1
SM
222# Run tests, don't fail now, we know that "make check" is going to fail,
223# since some tests don't pass.
748dd275 224$MAKE -C gdb --keep-going check -j "$($NPROC)" RUNTESTFLAGS="$RUNTESTFLAGS" FORCE_PARALLEL="1" || true
91ba8aa1
MJ
225
226# Copy the dejagnu test results for archiving before cleaning the build dir
227mkdir "${WORKSPACE}/results"
f5dbc8e5 228cp gdb/testsuite/gdb.log "${WORKSPACE}/results/"
91ba8aa1 229cp gdb/testsuite/gdb.sum "${WORKSPACE}/results/"
bcd0bdf1 230
748dd275
SM
231# Filter out some known failures. There is one file per target board.
232cat <<'EOF' > known-failures-unix
795db243
SM
233FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_end
234FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_start
235FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_fatal_msg
236FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: [expr $internal_error_msg_count == 2]
237FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_end
238FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_start
239FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_fatal_msg
240FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: [expr $internal_error_msg_count == 2]
241FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_end
242FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_start
243FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_fatal_msg
244FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: [expr $internal_error_msg_count == 2]
245FAIL: gdb.base/share-env-with-gdbserver.exp: strange named var: print result of getenv for 'asd ='
812328f9 246FAIL: gdb.cp/no-dmgl-verbose.exp: gdb_breakpoint: set breakpoint at 'f(std::string)'
795db243 247FAIL: gdb.gdb/python-interrupts.exp: run until breakpoint at captured_command_loop
eb8ae82a 248FAIL: gdb.threads/detach-step-over.exp: breakpoint-condition-evaluation=host: target-non-stop=on: non-stop=on: displaced=off: iter 3: attach (GDB internal error)
795db243
SM
249UNRESOLVED: gdb.base/libsegfault.exp: gdb emits custom handler warning
250UNRESOLVED: gdb.base/readline-ask.exp: bell for more message
251UNRESOLVED: gdb.base/symbol-without-target_section.exp: list -q main
04047f44 252UNRESOLVED: gdb.base/symbol-without-target_section.exp: print symbol_without_target_section
795db243
SM
253UNRESOLVED: gdb.dwarf2/dw2-icc-opaque.exp: ptype p_struct
254EOF
255
748dd275 256cat <<'EOF' > known-failures-native-gdbserver
748dd275
SM
257DUPLICATE: gdb.base/cond-eval-mode.exp: awatch: awatch global
258DUPLICATE: gdb.base/cond-eval-mode.exp: awatch: continue
259DUPLICATE: gdb.base/cond-eval-mode.exp: break: break foo
260DUPLICATE: gdb.base/cond-eval-mode.exp: break: continue
261DUPLICATE: gdb.base/cond-eval-mode.exp: hbreak: continue
262DUPLICATE: gdb.base/cond-eval-mode.exp: hbreak: hbreak foo
263DUPLICATE: gdb.base/cond-eval-mode.exp: rwatch: continue
264DUPLICATE: gdb.base/cond-eval-mode.exp: rwatch: rwatch global
265DUPLICATE: gdb.base/cond-eval-mode.exp: watch: continue
266DUPLICATE: gdb.base/cond-eval-mode.exp: watch: watch global
748dd275
SM
267DUPLICATE: gdb.trace/circ.exp: check whether setting trace buffer size is supported
268DUPLICATE: gdb.trace/ftrace-lock.exp: successfully compiled posix threads test case
269DUPLICATE: gdb.trace/mi-tsv-changed.exp: create delete modify: tvariable $tvar3 modified
270DUPLICATE: gdb.trace/signal.exp: get integer valueof "counter"
271DUPLICATE: gdb.trace/status-stop.exp: buffer_full_tstart: tstart
272DUPLICATE: gdb.trace/status-stop.exp: tstart_tstop_tstart: tstart
273DUPLICATE: gdb.trace/tfind.exp: 8.17: tfind none
274DUPLICATE: gdb.trace/trace-buffer-size.exp: set tracepoint at test_function
275DUPLICATE: gdb.trace/trace-buffer-size.exp: tstart
276DUPLICATE: gdb.trace/trace-mt.exp: successfully compiled posix threads test case
748dd275
SM
277FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_end
278FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_start
279FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_fatal_msg
280FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: [expr $internal_error_msg_count == 2]
281FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_end
282FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_start
283FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_fatal_msg
284FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: [expr $internal_error_msg_count == 2]
285FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_end
286FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_start
287FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_fatal_msg
288FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: [expr $internal_error_msg_count == 2]
289FAIL: gdb.base/compare-sections.exp: after reload: compare-sections
290FAIL: gdb.base/compare-sections.exp: after reload: compare-sections -r
291FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections
292FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections -r
293FAIL: gdb.base/compare-sections.exp: compare-sections .text
294FAIL: gdb.base/compare-sections.exp: read-only: compare-sections -r
295FAIL: gdb.base/interrupt-daemon.exp: bg: continue& (timeout)
296FAIL: gdb.base/interrupt-daemon.exp: bg: interrupt cmd stops process (timeout)
297FAIL: gdb.base/interrupt-daemon.exp: bg: interrupt (timeout)
298FAIL: gdb.base/interrupt-daemon.exp: fg: ctrl-c stops process (timeout)
812328f9 299FAIL: gdb.cp/no-dmgl-verbose.exp: gdb_breakpoint: set breakpoint at 'f(std::string)'
748dd275
SM
300FAIL: gdb.threads/multiple-successive-infcall.exp: thread=3: created new thread
301FAIL: gdb.threads/multiple-successive-infcall.exp: thread=4: created new thread
302FAIL: gdb.threads/multiple-successive-infcall.exp: thread=5: created new thread
748dd275 303FAIL: gdb.threads/process-dies-while-detaching.exp: single-process: continue: killed outside: continue
748dd275
SM
304FAIL: gdb.threads/thread-specific-bp.exp: all-stop: continue to end (timeout)
305FAIL: gdb.threads/thread-specific-bp.exp: non-stop: continue to end (timeout)
306FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_asm_test
307FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_c_test
308FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_recursion_test 0
309FAIL: gdb.trace/change-loc.exp: 1 trace: continue to marker 2
310FAIL: gdb.trace/change-loc.exp: 1 trace: continue to marker 3
311FAIL: gdb.trace/change-loc.exp: 1 trace: tfind frame 0
312FAIL: gdb.trace/change-loc.exp: 1 trace: tracepoint with two locations - installed (unload)
313FAIL: gdb.trace/change-loc.exp: 1 trace: tracepoint with two locations - pending (unload)
314FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 1 (the program is no longer running)
315FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 2 (the program is no longer running)
316FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 3 (the program is no longer running)
317FAIL: gdb.trace/change-loc.exp: 2 ftrace: run to main (the program exited)
318FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 0
319FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 1
320FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 2
321FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with three locations
322FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with two locations - installed (unload)
323FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with two locations - pending (unload)
324FAIL: gdb.trace/change-loc.exp: 2 ftrace: tstart
325FAIL: gdb.trace/change-loc.exp: 2 ftrace: tstop
326FAIL: gdb.trace/change-loc.exp: 2 trace: continue to marker 2
327FAIL: gdb.trace/change-loc.exp: 2 trace: continue to marker 3
328FAIL: gdb.trace/change-loc.exp: 2 trace: tfind frame 2
329FAIL: gdb.trace/change-loc.exp: 2 trace: tracepoint with two locations - installed (unload)
330FAIL: gdb.trace/change-loc.exp: 2 trace: tracepoint with two locations - pending (unload)
04047f44
SM
331FAIL: gdb.trace/collection.exp: collect register locals collectively: run trace experiment: start trace experiment
332FAIL: gdb.trace/collection.exp: collect register locals collectively: run trace experiment: tfind test frame
748dd275
SM
333FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local char
334FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local double
335FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local float
336FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local int
337FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member char
338FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member double
339FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member float
340FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member int
341FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #0
342FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #1
343FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #2
344FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #3
345FAIL: gdb.trace/collection.exp: collect register locals collectively: start trace experiment
346FAIL: gdb.trace/collection.exp: collect register locals collectively: tfind test frame
347FAIL: gdb.trace/collection.exp: collect register locals individually: collected local char
348FAIL: gdb.trace/collection.exp: collect register locals individually: collected local double
349FAIL: gdb.trace/collection.exp: collect register locals individually: collected local float
350FAIL: gdb.trace/collection.exp: collect register locals individually: collected local int
351FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member char
352FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member double
353FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member float
354FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member int
355FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #0
356FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #1
357FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #2
358FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #3
359FAIL: gdb.trace/collection.exp: collect register locals individually: define actions
360FAIL: gdb.trace/mi-trace-frame-collected.exp: tfile: -trace-frame-collected (unexpected output)
361FAIL: 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)
362FAIL: gdb.trace/pending.exp: ftrace resolved: (the program exited)
363FAIL: gdb.trace/pending.exp: ftrace works: continue to marker (the program is no longer running)
364FAIL: gdb.trace/pending.exp: ftrace works: start trace experiment
365FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 0
366FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 1
367FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 2
368FAIL: gdb.trace/pending.exp: ftrace works: (the program exited)
369FAIL: gdb.trace/pending.exp: trace installed_in_trace: continue to marker 2
370FAIL: gdb.trace/pending.exp: trace installed_in_trace: tfind test frame 0
371FAIL: gdb.trace/unavailable.exp: collect globals: print object off: print derived_partial
372FAIL: gdb.trace/unavailable.exp: collect globals: print object on: print derived_partial
373FAIL: gdb.trace/unavailable.exp: collect globals: tfile: print object off: print derived_partial
374FAIL: gdb.trace/unavailable.exp: collect globals: tfile: print object on: print derived_partial
375FAIL: gdb.trace/unavailable.exp: unavailable locals: auto locals: info locals
376FAIL: gdb.trace/unavailable.exp: unavailable locals: auto locals: tfile: info locals
377FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: info locals
378FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: print locd
379FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: print locf
380FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: info locals
381FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: print locd
382FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: print locf
383FAIL: gdb.trace/unavailable.exp: unavailable locals: static locals: info locals
384FAIL: gdb.trace/unavailable.exp: unavailable locals: static locals: tfile: info locals
385UNRESOLVED: gdb.base/libsegfault.exp: gdb emits custom handler warning
386UNRESOLVED: gdb.base/readline-ask.exp: bell for more message
387UNRESOLVED: gdb.base/symbol-without-target_section.exp: list -q main
04047f44 388UNRESOLVED: gdb.base/symbol-without-target_section.exp: print symbol_without_target_section
748dd275 389UNRESOLVED: gdb.dwarf2/dw2-icc-opaque.exp: ptype p_struct
25142be0
SM
390FAIL: gdb.arch/ftrace-insn-reloc.exp: runto: run to main
391FAIL: gdb.dwarf2/clztest.exp: runto: run to main
748dd275 392KPASS: gdb.threads/process-dies-while-detaching.exp: single-process: continue: watchpoint:sw: continue (PRMS gdb/28375)
25142be0
SM
393FAIL: gdb.trace/change-loc.exp: 1 ftrace: runto: run to main
394FAIL: gdb.trace/change-loc.exp: InstallInTrace disabled: ftrace: runto: run to main
395FAIL: gdb.trace/ftrace-lock.exp: runto: run to main
396FAIL: gdb.trace/ftrace.exp: runto: run to main
397FAIL: gdb.trace/pending.exp: ftrace action_resolved: runto: run to main
398FAIL: gdb.trace/pending.exp: ftrace disconn: runto: run to main
399FAIL: gdb.trace/pending.exp: ftrace disconn_resolved: runto: run to main
400FAIL: gdb.trace/pending.exp: ftrace installed_in_trace: runto: run to main
401FAIL: gdb.trace/pending.exp: ftrace resolved_in_trace: runto: run to main
402FAIL: gdb.trace/range-stepping.exp: runto: run to main
403FAIL: gdb.trace/trace-break.exp: runto: run to main
404FAIL: gdb.trace/trace-condition.exp: runto: run to main
405FAIL: gdb.trace/trace-enable-disable.exp: test_tracepoint_enable_disable ftrace: runto: run to main
406FAIL: gdb.trace/trace-enable-disable.exp: test_tracepoint_enable_disable trace: runto: run to main
407FAIL: gdb.trace/trace-mt.exp: runto: run to main
408FAIL: gdb.trace/tspeed.exp: runto: run to main
748dd275
SM
409EOF
410
411cat <<'EOF' > known-failures-native-extended-gdbserver
748dd275
SM
412DUPLICATE: gdb.base/cond-eval-mode.exp: awatch: awatch global
413DUPLICATE: gdb.base/cond-eval-mode.exp: awatch: continue
414DUPLICATE: gdb.base/cond-eval-mode.exp: break: break foo
415DUPLICATE: gdb.base/cond-eval-mode.exp: break: continue
416DUPLICATE: gdb.base/cond-eval-mode.exp: hbreak: continue
417DUPLICATE: gdb.base/cond-eval-mode.exp: hbreak: hbreak foo
418DUPLICATE: gdb.base/cond-eval-mode.exp: rwatch: continue
419DUPLICATE: gdb.base/cond-eval-mode.exp: rwatch: rwatch global
420DUPLICATE: gdb.base/cond-eval-mode.exp: watch: continue
421DUPLICATE: gdb.base/cond-eval-mode.exp: watch: watch global
748dd275
SM
422DUPLICATE: gdb.threads/attach-into-signal.exp: threaded: thread apply 2 print $_siginfo.si_signo
423DUPLICATE: gdb.trace/circ.exp: check whether setting trace buffer size is supported
424DUPLICATE: gdb.trace/ftrace-lock.exp: successfully compiled posix threads test case
425DUPLICATE: gdb.trace/mi-tsv-changed.exp: create delete modify: tvariable $tvar3 modified
426DUPLICATE: gdb.trace/signal.exp: get integer valueof "counter"
427DUPLICATE: gdb.trace/status-stop.exp: buffer_full_tstart: tstart
428DUPLICATE: gdb.trace/status-stop.exp: tstart_tstop_tstart: tstart
429DUPLICATE: gdb.trace/tfind.exp: 8.17: tfind none
430DUPLICATE: gdb.trace/trace-buffer-size.exp: set tracepoint at test_function
431DUPLICATE: gdb.trace/trace-buffer-size.exp: tstart
432DUPLICATE: gdb.trace/trace-mt.exp: successfully compiled posix threads test case
433DUPLICATE: gdb.trace/tspeed.exp: advance through tracing (the program is no longer running)
434DUPLICATE: gdb.trace/tspeed.exp: advance to trace begin (the program is no longer running)
435DUPLICATE: gdb.trace/tspeed.exp: check on trace status
436DUPLICATE: gdb.trace/tspeed.exp: print iters = init_iters
437DUPLICATE: gdb.trace/tspeed.exp: start trace experiment
748dd275 438FAIL: gdb.base/a2-run.exp: run "a2-run" with shell (timeout)
748dd275
SM
439FAIL: 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)
440FAIL: 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
441FAIL: 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)
442FAIL: 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
443FAIL: 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
444FAIL: 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)
445FAIL: 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
446FAIL: 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)
447FAIL: 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
448FAIL: 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
449FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=NO: symbol-less: ld.so exit
450FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=NO: symbol-less: seen displacement message as NONZERO
451FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_end
452FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_start
453FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_fatal_msg
454FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: [expr $internal_error_msg_count == 2]
455FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_end
456FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_start
457FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_fatal_msg
458FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: [expr $internal_error_msg_count == 2]
459FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_end
460FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_start
461FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_fatal_msg
462FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: [expr $internal_error_msg_count == 2]
463FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections
464FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections -r
465FAIL: gdb.base/compare-sections.exp: read-only: compare-sections -r
466FAIL: gdb.base/gdbinit-history.exp: GDBHISTFILE is empty: show commands
467FAIL: gdb.base/gdbinit-history.exp: load default history file: show commands
468FAIL: gdb.base/gdbinit-history.exp: load GDBHISTFILE history file: show commands
469FAIL: gdb.base/interrupt-daemon.exp: bg: continue& (timeout)
470FAIL: gdb.base/interrupt-daemon.exp: bg: interrupt cmd stops process (timeout)
471FAIL: gdb.base/interrupt-daemon.exp: bg: interrupt (timeout)
472FAIL: gdb.base/interrupt-daemon.exp: fg: ctrl-c stops process (timeout)
473FAIL: gdb.base/share-env-with-gdbserver.exp: strange named var: print result of getenv for 'asd ='
474FAIL: gdb.base/startup-with-shell.exp: startup_with_shell = on; run_args = $TEST: testing first argument
475FAIL: gdb.base/startup-with-shell.exp: startup_with_shell = on; run_args = *.unique-extension: first argument expanded
476FAIL: gdb.base/with.exp: repeat: reinvoke with no previous command to relaunch
477FAIL: gdb.cp/annota2.exp: annotate-quit
478FAIL: gdb.cp/annota2.exp: break at main (got interactive prompt)
479FAIL: gdb.cp/annota2.exp: continue until exit (timeout)
480FAIL: gdb.cp/annota2.exp: delete bps
481FAIL: gdb.cp/annota2.exp: set watch on a.x (timeout)
482FAIL: gdb.cp/annota2.exp: watch triggered on a.x (timeout)
483FAIL: gdb.cp/annota3.exp: continue to exit (pattern 4)
812328f9 484FAIL: gdb.cp/no-dmgl-verbose.exp: gdb_breakpoint: set breakpoint at 'f(std::string)'
748dd275
SM
485FAIL: gdb.gdb/unittest.exp: executable loaded: maintenance selftest, failed none
486FAIL: gdb.gdb/unittest.exp: no executable loaded: maintenance selftest, failed none
dfa2dcd2 487FAIL: gdb.gdb/unittest.exp: reversed initialization: maintenance selftest, failed none
748dd275
SM
488FAIL: gdb.mi/mi-exec-run.exp: inferior-tty=separate: mi=separate: force-fail=0: breakpoint hit reported on console (timeout)
489FAIL: gdb.mi/mi-pending.exp: MI pending breakpoint on mi-pendshr.c:pendfunc2 if x==4 (unexpected output)
748dd275
SM
490FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=: action=delete: connection to GDBserver succeeded
491FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=: action=permission: connection to GDBserver succeeded
492FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=target:: action=delete: connection to GDBserver succeeded
493FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=target:: action=permission: connection to GDBserver succeeded
494FAIL: gdb.threads/attach-into-signal.exp: threaded: thread apply 2 print $_siginfo.si_signo
748dd275
SM
495FAIL: gdb.threads/multiple-successive-infcall.exp: thread=3: created new thread
496FAIL: gdb.threads/multiple-successive-infcall.exp: thread=4: created new thread
497FAIL: gdb.threads/multiple-successive-infcall.exp: thread=5: created new thread
748dd275 498FAIL: gdb.threads/process-dies-while-detaching.exp: single-process: continue: killed outside: continue
748dd275
SM
499FAIL: gdb.threads/thread-specific-bp.exp: all-stop: continue to end (timeout)
500FAIL: gdb.threads/tls.exp: print a_thread_local
501FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_asm_test
502FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_c_test
503FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_recursion_test 0
504FAIL: gdb.trace/change-loc.exp: 1 trace: continue to marker 2
505FAIL: gdb.trace/change-loc.exp: 1 trace: continue to marker 3
506FAIL: gdb.trace/change-loc.exp: 1 trace: tfind frame 0
507FAIL: gdb.trace/change-loc.exp: 1 trace: tracepoint with two locations - installed (unload)
508FAIL: gdb.trace/change-loc.exp: 1 trace: tracepoint with two locations - pending (unload)
509FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 1 (the program is no longer running)
510FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 2 (the program is no longer running)
511FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 3 (the program is no longer running)
512FAIL: gdb.trace/change-loc.exp: 2 ftrace: run to main (the program exited)
513FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 0
514FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 1
515FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 2
516FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with three locations
517FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with two locations - installed (unload)
518FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with two locations - pending (unload)
519FAIL: gdb.trace/change-loc.exp: 2 ftrace: tstart
520FAIL: gdb.trace/change-loc.exp: 2 ftrace: tstop
521FAIL: gdb.trace/change-loc.exp: 2 trace: continue to marker 2
522FAIL: gdb.trace/change-loc.exp: 2 trace: continue to marker 3
523FAIL: gdb.trace/change-loc.exp: 2 trace: tfind frame 2
524FAIL: gdb.trace/change-loc.exp: 2 trace: tracepoint with two locations - installed (unload)
525FAIL: gdb.trace/change-loc.exp: 2 trace: tracepoint with two locations - pending (unload)
04047f44
SM
526FAIL: gdb.trace/collection.exp: collect register locals collectively: run trace experiment: start trace experiment
527FAIL: gdb.trace/collection.exp: collect register locals collectively: run trace experiment: tfind test frame
748dd275
SM
528FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local char
529FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local double
530FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local float
531FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local int
532FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member char
533FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member double
534FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member float
535FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member int
536FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #0
537FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #1
538FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #2
539FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #3
540FAIL: gdb.trace/collection.exp: collect register locals collectively: start trace experiment
541FAIL: gdb.trace/collection.exp: collect register locals collectively: tfind test frame
542FAIL: gdb.trace/collection.exp: collect register locals individually: collected local char
543FAIL: gdb.trace/collection.exp: collect register locals individually: collected local double
544FAIL: gdb.trace/collection.exp: collect register locals individually: collected local float
545FAIL: gdb.trace/collection.exp: collect register locals individually: collected local int
546FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member char
547FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member double
548FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member float
549FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member int
550FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #0
551FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #1
552FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #2
553FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #3
554FAIL: gdb.trace/collection.exp: collect register locals individually: define actions
555FAIL: gdb.trace/mi-trace-frame-collected.exp: tfile: -trace-frame-collected (unexpected output)
556FAIL: 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)
557FAIL: gdb.trace/pending.exp: ftrace resolved: (the program exited)
558FAIL: gdb.trace/pending.exp: ftrace works: continue to marker (the program is no longer running)
559FAIL: gdb.trace/pending.exp: ftrace works: start trace experiment
560FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 0
561FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 1
562FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 2
563FAIL: gdb.trace/pending.exp: ftrace works: (the program exited)
564FAIL: gdb.trace/pending.exp: trace installed_in_trace: continue to marker 2
565FAIL: gdb.trace/pending.exp: trace installed_in_trace: tfind test frame 0
04047f44
SM
566FAIL: gdb.trace/tspeed.exp: gdb_fast_trace_speed_test: advance through tracing (the program is no longer running)
567FAIL: gdb.trace/tspeed.exp: gdb_fast_trace_speed_test: advance to trace begin (the program is no longer running)
568FAIL: gdb.trace/tspeed.exp: gdb_fast_trace_speed_test: start trace experiment
569FAIL: gdb.trace/tspeed.exp: gdb_slow_trace_speed_test: advance through tracing (the program is no longer running)
570FAIL: gdb.trace/tspeed.exp: gdb_slow_trace_speed_test: advance to trace begin (the program is no longer running)
571FAIL: gdb.trace/tspeed.exp: gdb_slow_trace_speed_test: start trace experiment
748dd275
SM
572FAIL: gdb.trace/unavailable.exp: collect globals: print object off: print derived_partial
573FAIL: gdb.trace/unavailable.exp: collect globals: print object on: print derived_partial
574FAIL: gdb.trace/unavailable.exp: collect globals: tfile: print object off: print derived_partial
575FAIL: gdb.trace/unavailable.exp: collect globals: tfile: print object on: print derived_partial
576FAIL: gdb.trace/unavailable.exp: unavailable locals: auto locals: info locals
577FAIL: gdb.trace/unavailable.exp: unavailable locals: auto locals: tfile: info locals
578FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: info locals
579FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: print locd
580FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: print locf
581FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: info locals
582FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: print locd
583FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: print locf
584FAIL: gdb.trace/unavailable.exp: unavailable locals: static locals: info locals
585FAIL: gdb.trace/unavailable.exp: unavailable locals: static locals: tfile: info locals
586UNRESOLVED: gdb.base/libsegfault.exp: gdb emits custom handler warning
587UNRESOLVED: gdb.base/readline-ask.exp: bell for more message
588UNRESOLVED: gdb.base/symbol-without-target_section.exp: list -q main
04047f44 589UNRESOLVED: gdb.base/symbol-without-target_section.exp: print symbol_without_target_section
748dd275 590UNRESOLVED: gdb.dwarf2/dw2-icc-opaque.exp: ptype p_struct
748dd275 591UNRESOLVED: gdb.threads/attach-into-signal.exp: threaded: attach (pass 2), pending signal catch
25142be0 592FAIL: gdb.arch/ftrace-insn-reloc.exp: runto: run to main
25142be0
SM
593FAIL: gdb.multi/remove-inferiors.exp: runto: run to main
594FAIL: gdb.threads/access-mem-running-thread-exit.exp: non-stop: second inferior: runto: run to main
595FAIL: gdb.threads/break-while-running.exp: w/ithr: always-inserted off: non-stop: runto: run to main
596FAIL: gdb.threads/break-while-running.exp: w/ithr: always-inserted on: non-stop: runto: run to main
597FAIL: gdb.threads/break-while-running.exp: wo/ithr: always-inserted off: non-stop: runto: run to main
598FAIL: gdb.threads/break-while-running.exp: wo/ithr: always-inserted on: non-stop: runto: run to main
599FAIL: gdb.threads/gcore-stale-thread.exp: runto: run to main
600FAIL: gdb.threads/multi-create-ns-info-thr.exp: runto: run to main
601FAIL: gdb.threads/non-stop-fair-events.exp: runto: run to main
748dd275 602KPASS: gdb.threads/process-dies-while-detaching.exp: single-process: continue: watchpoint:sw: continue (PRMS gdb/28375)
25142be0
SM
603FAIL: gdb.threads/thread-execl.exp: non-stop: runto: run to main
604FAIL: gdb.threads/thread-specific-bp.exp: non-stop: runto: run to main
605FAIL: gdb.trace/change-loc.exp: 1 ftrace: runto: run to main
606FAIL: gdb.trace/change-loc.exp: InstallInTrace disabled: ftrace: runto: run to main
607FAIL: gdb.trace/ftrace-lock.exp: runto: run to main
608FAIL: gdb.trace/ftrace.exp: runto: run to main
609FAIL: gdb.trace/pending.exp: ftrace action_resolved: runto: run to main
610FAIL: gdb.trace/pending.exp: ftrace disconn: runto: run to main
611FAIL: gdb.trace/pending.exp: ftrace disconn_resolved: runto: run to main
612FAIL: gdb.trace/pending.exp: ftrace installed_in_trace: runto: run to main
613FAIL: gdb.trace/pending.exp: ftrace resolved_in_trace: runto: run to main
614FAIL: gdb.trace/range-stepping.exp: runto: run to main
615FAIL: gdb.trace/trace-break.exp: runto: run to main
616FAIL: gdb.trace/trace-condition.exp: runto: run to main
617FAIL: gdb.trace/trace-enable-disable.exp: test_tracepoint_enable_disable ftrace: runto: run to main
618FAIL: gdb.trace/trace-enable-disable.exp: test_tracepoint_enable_disable trace: runto: run to main
619FAIL: gdb.trace/trace-mt.exp: runto: run to main
620FAIL: gdb.trace/tspeed.exp: runto: run to main
621FAIL: gdb.trace/tspeed.exp: runto: run to main
622DUPLICATE: gdb.trace/tspeed.exp: runto: run to main
748dd275
SM
623EOF
624
625known_failures_file="known-failures-${target_board}"
626grep --invert-match --fixed-strings --file="$known_failures_file" "${WORKSPACE}/results/gdb.sum" > "${WORKSPACE}/results/gdb.filtered.sum"
c0e55ab2 627grep --extended-regexp --regexp="^(FAIL|XPASS|UNRESOLVED|DUPLICATE):" "${WORKSPACE}/results/gdb.filtered.sum" > "${WORKSPACE}/results/gdb.fail.sum" || true
795db243 628
f204fdf1
SM
629# For informational purposes: check if some known failure lines did not appear
630# in the gdb.sum.
631echo "Known failures that don't appear in gdb.sum:"
632while read line; do
633 if ! grep --silent --fixed-strings "$line" "${WORKSPACE}/results/gdb.sum"; then
634 echo "$line"
635 fi
3837269d 636done < "$known_failures_file" > "${WORKSPACE}/results/known-failures-not-found.sum"
f204fdf1 637
bcd0bdf1
SM
638# Convert results to JUnit format.
639failed_tests=0
795db243 640sum2junit "${WORKSPACE}/results/gdb.filtered.sum" "${WORKSPACE}/results/gdb.xml" || failed_tests=1
91ba8aa1
MJ
641
642# Clean the build directory
643$MAKE clean
644
91ba8aa1
MJ
645# Exit with failure if any of the tests failed
646exit $failed_tests
647
648# EOF
This page took 0.067356 seconds and 4 git commands to generate.