jjb: binutils-gdb: add an expected failure
[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
119arch=${arch:-}
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
139case "$arch" in
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
252UNRESOLVED: gdb.dwarf2/dw2-icc-opaque.exp: ptype p_struct
253EOF
254
748dd275 255cat <<'EOF' > known-failures-native-gdbserver
748dd275
SM
256DUPLICATE: gdb.base/cond-eval-mode.exp: awatch: awatch global
257DUPLICATE: gdb.base/cond-eval-mode.exp: awatch: continue
258DUPLICATE: gdb.base/cond-eval-mode.exp: break: break foo
259DUPLICATE: gdb.base/cond-eval-mode.exp: break: continue
260DUPLICATE: gdb.base/cond-eval-mode.exp: hbreak: continue
261DUPLICATE: gdb.base/cond-eval-mode.exp: hbreak: hbreak foo
262DUPLICATE: gdb.base/cond-eval-mode.exp: rwatch: continue
263DUPLICATE: gdb.base/cond-eval-mode.exp: rwatch: rwatch global
264DUPLICATE: gdb.base/cond-eval-mode.exp: watch: continue
265DUPLICATE: gdb.base/cond-eval-mode.exp: watch: watch global
748dd275
SM
266DUPLICATE: gdb.trace/circ.exp: check whether setting trace buffer size is supported
267DUPLICATE: gdb.trace/ftrace-lock.exp: successfully compiled posix threads test case
268DUPLICATE: gdb.trace/mi-tsv-changed.exp: create delete modify: tvariable $tvar3 modified
269DUPLICATE: gdb.trace/signal.exp: get integer valueof "counter"
270DUPLICATE: gdb.trace/status-stop.exp: buffer_full_tstart: tstart
271DUPLICATE: gdb.trace/status-stop.exp: tstart_tstop_tstart: tstart
272DUPLICATE: gdb.trace/tfind.exp: 8.17: tfind none
273DUPLICATE: gdb.trace/trace-buffer-size.exp: set tracepoint at test_function
274DUPLICATE: gdb.trace/trace-buffer-size.exp: tstart
275DUPLICATE: gdb.trace/trace-mt.exp: successfully compiled posix threads test case
748dd275
SM
276FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_end
277FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_start
278FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_fatal_msg
279FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: [expr $internal_error_msg_count == 2]
280FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_end
281FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_start
282FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_fatal_msg
283FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: [expr $internal_error_msg_count == 2]
284FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_end
285FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_start
286FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_fatal_msg
287FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: [expr $internal_error_msg_count == 2]
288FAIL: gdb.base/compare-sections.exp: after reload: compare-sections
289FAIL: gdb.base/compare-sections.exp: after reload: compare-sections -r
290FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections
291FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections -r
292FAIL: gdb.base/compare-sections.exp: compare-sections .text
293FAIL: gdb.base/compare-sections.exp: read-only: compare-sections -r
294FAIL: gdb.base/interrupt-daemon.exp: bg: continue& (timeout)
295FAIL: gdb.base/interrupt-daemon.exp: bg: interrupt cmd stops process (timeout)
296FAIL: gdb.base/interrupt-daemon.exp: bg: interrupt (timeout)
297FAIL: gdb.base/interrupt-daemon.exp: fg: ctrl-c stops process (timeout)
812328f9 298FAIL: gdb.cp/no-dmgl-verbose.exp: gdb_breakpoint: set breakpoint at 'f(std::string)'
748dd275
SM
299FAIL: gdb.threads/multiple-successive-infcall.exp: thread=3: created new thread
300FAIL: gdb.threads/multiple-successive-infcall.exp: thread=4: created new thread
301FAIL: gdb.threads/multiple-successive-infcall.exp: thread=5: created new thread
748dd275 302FAIL: gdb.threads/process-dies-while-detaching.exp: single-process: continue: killed outside: continue
748dd275
SM
303FAIL: gdb.threads/thread-specific-bp.exp: all-stop: continue to end (timeout)
304FAIL: gdb.threads/thread-specific-bp.exp: non-stop: continue to end (timeout)
305FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_asm_test
306FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_c_test
307FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_recursion_test 0
308FAIL: gdb.trace/change-loc.exp: 1 trace: continue to marker 2
309FAIL: gdb.trace/change-loc.exp: 1 trace: continue to marker 3
310FAIL: gdb.trace/change-loc.exp: 1 trace: tfind frame 0
311FAIL: gdb.trace/change-loc.exp: 1 trace: tracepoint with two locations - installed (unload)
312FAIL: gdb.trace/change-loc.exp: 1 trace: tracepoint with two locations - pending (unload)
313FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 1 (the program is no longer running)
314FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 2 (the program is no longer running)
315FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 3 (the program is no longer running)
316FAIL: gdb.trace/change-loc.exp: 2 ftrace: run to main (the program exited)
317FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 0
318FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 1
319FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 2
320FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with three locations
321FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with two locations - installed (unload)
322FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with two locations - pending (unload)
323FAIL: gdb.trace/change-loc.exp: 2 ftrace: tstart
324FAIL: gdb.trace/change-loc.exp: 2 ftrace: tstop
325FAIL: gdb.trace/change-loc.exp: 2 trace: continue to marker 2
326FAIL: gdb.trace/change-loc.exp: 2 trace: continue to marker 3
327FAIL: gdb.trace/change-loc.exp: 2 trace: tfind frame 2
328FAIL: gdb.trace/change-loc.exp: 2 trace: tracepoint with two locations - installed (unload)
329FAIL: gdb.trace/change-loc.exp: 2 trace: tracepoint with two locations - pending (unload)
330FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local char
331FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local double
332FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local float
333FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local int
334FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member char
335FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member double
336FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member float
337FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member int
338FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #0
339FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #1
340FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #2
341FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #3
342FAIL: gdb.trace/collection.exp: collect register locals collectively: start trace experiment
343FAIL: gdb.trace/collection.exp: collect register locals collectively: tfind test frame
344FAIL: gdb.trace/collection.exp: collect register locals individually: collected local char
345FAIL: gdb.trace/collection.exp: collect register locals individually: collected local double
346FAIL: gdb.trace/collection.exp: collect register locals individually: collected local float
347FAIL: gdb.trace/collection.exp: collect register locals individually: collected local int
348FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member char
349FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member double
350FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member float
351FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member int
352FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #0
353FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #1
354FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #2
355FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #3
356FAIL: gdb.trace/collection.exp: collect register locals individually: define actions
357FAIL: gdb.trace/mi-trace-frame-collected.exp: tfile: -trace-frame-collected (unexpected output)
358FAIL: 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)
359FAIL: gdb.trace/pending.exp: ftrace resolved: (the program exited)
360FAIL: gdb.trace/pending.exp: ftrace works: continue to marker (the program is no longer running)
361FAIL: gdb.trace/pending.exp: ftrace works: start trace experiment
362FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 0
363FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 1
364FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 2
365FAIL: gdb.trace/pending.exp: ftrace works: (the program exited)
366FAIL: gdb.trace/pending.exp: trace installed_in_trace: continue to marker 2
367FAIL: gdb.trace/pending.exp: trace installed_in_trace: tfind test frame 0
368FAIL: gdb.trace/unavailable.exp: collect globals: print object off: print derived_partial
369FAIL: gdb.trace/unavailable.exp: collect globals: print object on: print derived_partial
370FAIL: gdb.trace/unavailable.exp: collect globals: tfile: print object off: print derived_partial
371FAIL: gdb.trace/unavailable.exp: collect globals: tfile: print object on: print derived_partial
372FAIL: gdb.trace/unavailable.exp: unavailable locals: auto locals: info locals
373FAIL: gdb.trace/unavailable.exp: unavailable locals: auto locals: tfile: info locals
374FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: info locals
375FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: print locd
376FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: print locf
377FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: info locals
378FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: print locd
379FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: print locf
380FAIL: gdb.trace/unavailable.exp: unavailable locals: static locals: info locals
381FAIL: gdb.trace/unavailable.exp: unavailable locals: static locals: tfile: info locals
382UNRESOLVED: gdb.base/libsegfault.exp: gdb emits custom handler warning
383UNRESOLVED: gdb.base/readline-ask.exp: bell for more message
384UNRESOLVED: gdb.base/symbol-without-target_section.exp: list -q main
385UNRESOLVED: gdb.dwarf2/dw2-icc-opaque.exp: ptype p_struct
25142be0
SM
386FAIL: gdb.arch/ftrace-insn-reloc.exp: runto: run to main
387FAIL: gdb.dwarf2/clztest.exp: runto: run to main
748dd275 388KPASS: gdb.threads/process-dies-while-detaching.exp: single-process: continue: watchpoint:sw: continue (PRMS gdb/28375)
25142be0
SM
389FAIL: gdb.trace/change-loc.exp: 1 ftrace: runto: run to main
390FAIL: gdb.trace/change-loc.exp: InstallInTrace disabled: ftrace: runto: run to main
391FAIL: gdb.trace/ftrace-lock.exp: runto: run to main
392FAIL: gdb.trace/ftrace.exp: runto: run to main
393FAIL: gdb.trace/pending.exp: ftrace action_resolved: runto: run to main
394FAIL: gdb.trace/pending.exp: ftrace disconn: runto: run to main
395FAIL: gdb.trace/pending.exp: ftrace disconn_resolved: runto: run to main
396FAIL: gdb.trace/pending.exp: ftrace installed_in_trace: runto: run to main
397FAIL: gdb.trace/pending.exp: ftrace resolved_in_trace: runto: run to main
398FAIL: gdb.trace/range-stepping.exp: runto: run to main
399FAIL: gdb.trace/trace-break.exp: runto: run to main
400FAIL: gdb.trace/trace-condition.exp: runto: run to main
401FAIL: gdb.trace/trace-enable-disable.exp: test_tracepoint_enable_disable ftrace: runto: run to main
402FAIL: gdb.trace/trace-enable-disable.exp: test_tracepoint_enable_disable trace: runto: run to main
403FAIL: gdb.trace/trace-mt.exp: runto: run to main
404FAIL: gdb.trace/tspeed.exp: runto: run to main
748dd275
SM
405EOF
406
407cat <<'EOF' > known-failures-native-extended-gdbserver
748dd275
SM
408DUPLICATE: gdb.base/cond-eval-mode.exp: awatch: awatch global
409DUPLICATE: gdb.base/cond-eval-mode.exp: awatch: continue
410DUPLICATE: gdb.base/cond-eval-mode.exp: break: break foo
411DUPLICATE: gdb.base/cond-eval-mode.exp: break: continue
412DUPLICATE: gdb.base/cond-eval-mode.exp: hbreak: continue
413DUPLICATE: gdb.base/cond-eval-mode.exp: hbreak: hbreak foo
414DUPLICATE: gdb.base/cond-eval-mode.exp: rwatch: continue
415DUPLICATE: gdb.base/cond-eval-mode.exp: rwatch: rwatch global
416DUPLICATE: gdb.base/cond-eval-mode.exp: watch: continue
417DUPLICATE: gdb.base/cond-eval-mode.exp: watch: watch global
748dd275
SM
418DUPLICATE: gdb.threads/attach-into-signal.exp: threaded: thread apply 2 print $_siginfo.si_signo
419DUPLICATE: gdb.trace/circ.exp: check whether setting trace buffer size is supported
420DUPLICATE: gdb.trace/ftrace-lock.exp: successfully compiled posix threads test case
421DUPLICATE: gdb.trace/mi-tsv-changed.exp: create delete modify: tvariable $tvar3 modified
422DUPLICATE: gdb.trace/signal.exp: get integer valueof "counter"
423DUPLICATE: gdb.trace/status-stop.exp: buffer_full_tstart: tstart
424DUPLICATE: gdb.trace/status-stop.exp: tstart_tstop_tstart: tstart
425DUPLICATE: gdb.trace/tfind.exp: 8.17: tfind none
426DUPLICATE: gdb.trace/trace-buffer-size.exp: set tracepoint at test_function
427DUPLICATE: gdb.trace/trace-buffer-size.exp: tstart
428DUPLICATE: gdb.trace/trace-mt.exp: successfully compiled posix threads test case
429DUPLICATE: gdb.trace/tspeed.exp: advance through tracing (the program is no longer running)
430DUPLICATE: gdb.trace/tspeed.exp: advance to trace begin (the program is no longer running)
431DUPLICATE: gdb.trace/tspeed.exp: check on trace status
432DUPLICATE: gdb.trace/tspeed.exp: print iters = init_iters
433DUPLICATE: gdb.trace/tspeed.exp: start trace experiment
748dd275 434FAIL: gdb.base/a2-run.exp: run "a2-run" with shell (timeout)
748dd275
SM
435FAIL: 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)
436FAIL: 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
437FAIL: 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)
438FAIL: 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
439FAIL: 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
440FAIL: 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)
441FAIL: 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
442FAIL: 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)
443FAIL: 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
444FAIL: 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
445FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=NO: symbol-less: ld.so exit
446FAIL: gdb.base/break-interp.exp: ldprelink=NO: ldsepdebug=NO: symbol-less: seen displacement message as NONZERO
447FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_end
448FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_bt_start
449FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: $saw_fatal_msg
450FAIL: gdb.base/bt-on-fatal-signal.exp: BUS: [expr $internal_error_msg_count == 2]
451FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_end
452FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_bt_start
453FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: $saw_fatal_msg
454FAIL: gdb.base/bt-on-fatal-signal.exp: FPE: [expr $internal_error_msg_count == 2]
455FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_end
456FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_bt_start
457FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: $saw_fatal_msg
458FAIL: gdb.base/bt-on-fatal-signal.exp: SEGV: [expr $internal_error_msg_count == 2]
459FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections
460FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections -r
461FAIL: gdb.base/compare-sections.exp: read-only: compare-sections -r
462FAIL: gdb.base/gdbinit-history.exp: GDBHISTFILE is empty: show commands
463FAIL: gdb.base/gdbinit-history.exp: load default history file: show commands
464FAIL: gdb.base/gdbinit-history.exp: load GDBHISTFILE history file: show commands
465FAIL: gdb.base/interrupt-daemon.exp: bg: continue& (timeout)
466FAIL: gdb.base/interrupt-daemon.exp: bg: interrupt cmd stops process (timeout)
467FAIL: gdb.base/interrupt-daemon.exp: bg: interrupt (timeout)
468FAIL: gdb.base/interrupt-daemon.exp: fg: ctrl-c stops process (timeout)
469FAIL: gdb.base/share-env-with-gdbserver.exp: strange named var: print result of getenv for 'asd ='
470FAIL: gdb.base/startup-with-shell.exp: startup_with_shell = on; run_args = $TEST: testing first argument
471FAIL: gdb.base/startup-with-shell.exp: startup_with_shell = on; run_args = *.unique-extension: first argument expanded
472FAIL: gdb.base/with.exp: repeat: reinvoke with no previous command to relaunch
473FAIL: gdb.cp/annota2.exp: annotate-quit
474FAIL: gdb.cp/annota2.exp: break at main (got interactive prompt)
475FAIL: gdb.cp/annota2.exp: continue until exit (timeout)
476FAIL: gdb.cp/annota2.exp: delete bps
477FAIL: gdb.cp/annota2.exp: set watch on a.x (timeout)
478FAIL: gdb.cp/annota2.exp: watch triggered on a.x (timeout)
479FAIL: gdb.cp/annota3.exp: continue to exit (pattern 4)
812328f9 480FAIL: gdb.cp/no-dmgl-verbose.exp: gdb_breakpoint: set breakpoint at 'f(std::string)'
748dd275
SM
481FAIL: gdb.gdb/unittest.exp: executable loaded: maintenance selftest, failed none
482FAIL: gdb.gdb/unittest.exp: no executable loaded: maintenance selftest, failed none
dfa2dcd2 483FAIL: gdb.gdb/unittest.exp: reversed initialization: maintenance selftest, failed none
748dd275
SM
484FAIL: gdb.mi/mi-exec-run.exp: inferior-tty=separate: mi=separate: force-fail=0: breakpoint hit reported on console (timeout)
485FAIL: gdb.mi/mi-pending.exp: MI pending breakpoint on mi-pendshr.c:pendfunc2 if x==4 (unexpected output)
748dd275
SM
486FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=: action=delete: connection to GDBserver succeeded
487FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=: action=permission: connection to GDBserver succeeded
488FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=target:: action=delete: connection to GDBserver succeeded
489FAIL: gdb.server/connect-with-no-symbol-file.exp: sysroot=target:: action=permission: connection to GDBserver succeeded
490FAIL: gdb.threads/attach-into-signal.exp: threaded: thread apply 2 print $_siginfo.si_signo
748dd275
SM
491FAIL: gdb.threads/multiple-successive-infcall.exp: thread=3: created new thread
492FAIL: gdb.threads/multiple-successive-infcall.exp: thread=4: created new thread
493FAIL: gdb.threads/multiple-successive-infcall.exp: thread=5: created new thread
748dd275 494FAIL: gdb.threads/process-dies-while-detaching.exp: single-process: continue: killed outside: continue
748dd275
SM
495FAIL: gdb.threads/thread-specific-bp.exp: all-stop: continue to end (timeout)
496FAIL: gdb.threads/tls.exp: print a_thread_local
497FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_asm_test
498FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_c_test
499FAIL: gdb.trace/actions.exp: tfile: tracepoint on gdb_recursion_test 0
500FAIL: gdb.trace/change-loc.exp: 1 trace: continue to marker 2
501FAIL: gdb.trace/change-loc.exp: 1 trace: continue to marker 3
502FAIL: gdb.trace/change-loc.exp: 1 trace: tfind frame 0
503FAIL: gdb.trace/change-loc.exp: 1 trace: tracepoint with two locations - installed (unload)
504FAIL: gdb.trace/change-loc.exp: 1 trace: tracepoint with two locations - pending (unload)
505FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 1 (the program is no longer running)
506FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 2 (the program is no longer running)
507FAIL: gdb.trace/change-loc.exp: 2 ftrace: continue to marker 3 (the program is no longer running)
508FAIL: gdb.trace/change-loc.exp: 2 ftrace: run to main (the program exited)
509FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 0
510FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 1
511FAIL: gdb.trace/change-loc.exp: 2 ftrace: tfind frame 2
512FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with three locations
513FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with two locations - installed (unload)
514FAIL: gdb.trace/change-loc.exp: 2 ftrace: tracepoint with two locations - pending (unload)
515FAIL: gdb.trace/change-loc.exp: 2 ftrace: tstart
516FAIL: gdb.trace/change-loc.exp: 2 ftrace: tstop
517FAIL: gdb.trace/change-loc.exp: 2 trace: continue to marker 2
518FAIL: gdb.trace/change-loc.exp: 2 trace: continue to marker 3
519FAIL: gdb.trace/change-loc.exp: 2 trace: tfind frame 2
520FAIL: gdb.trace/change-loc.exp: 2 trace: tracepoint with two locations - installed (unload)
521FAIL: gdb.trace/change-loc.exp: 2 trace: tracepoint with two locations - pending (unload)
522FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local char
523FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local double
524FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local float
525FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local int
526FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member char
527FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member double
528FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member float
529FAIL: gdb.trace/collection.exp: collect register locals collectively: collected local member int
530FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #0
531FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #1
532FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #2
533FAIL: gdb.trace/collection.exp: collect register locals collectively: collected locarray #3
534FAIL: gdb.trace/collection.exp: collect register locals collectively: start trace experiment
535FAIL: gdb.trace/collection.exp: collect register locals collectively: tfind test frame
536FAIL: gdb.trace/collection.exp: collect register locals individually: collected local char
537FAIL: gdb.trace/collection.exp: collect register locals individually: collected local double
538FAIL: gdb.trace/collection.exp: collect register locals individually: collected local float
539FAIL: gdb.trace/collection.exp: collect register locals individually: collected local int
540FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member char
541FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member double
542FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member float
543FAIL: gdb.trace/collection.exp: collect register locals individually: collected local member int
544FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #0
545FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #1
546FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #2
547FAIL: gdb.trace/collection.exp: collect register locals individually: collected locarray #3
548FAIL: gdb.trace/collection.exp: collect register locals individually: define actions
549FAIL: gdb.trace/mi-trace-frame-collected.exp: tfile: -trace-frame-collected (unexpected output)
550FAIL: 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)
551FAIL: gdb.trace/pending.exp: ftrace resolved: (the program exited)
552FAIL: gdb.trace/pending.exp: ftrace works: continue to marker (the program is no longer running)
553FAIL: gdb.trace/pending.exp: ftrace works: start trace experiment
554FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 0
555FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 1
556FAIL: gdb.trace/pending.exp: ftrace works: tfind test frame 2
557FAIL: gdb.trace/pending.exp: ftrace works: (the program exited)
558FAIL: gdb.trace/pending.exp: trace installed_in_trace: continue to marker 2
559FAIL: gdb.trace/pending.exp: trace installed_in_trace: tfind test frame 0
560FAIL: gdb.trace/tspeed.exp: advance through tracing (the program is no longer running)
561FAIL: gdb.trace/tspeed.exp: advance through tracing (the program is no longer running)
562FAIL: gdb.trace/tspeed.exp: advance to trace begin (the program is no longer running)
563FAIL: gdb.trace/tspeed.exp: advance to trace begin (the program is no longer running)
564FAIL: gdb.trace/tspeed.exp: start trace experiment
565FAIL: gdb.trace/tspeed.exp: start trace experiment
566FAIL: gdb.trace/unavailable.exp: collect globals: print object off: print derived_partial
567FAIL: gdb.trace/unavailable.exp: collect globals: print object on: print derived_partial
568FAIL: gdb.trace/unavailable.exp: collect globals: tfile: print object off: print derived_partial
569FAIL: gdb.trace/unavailable.exp: collect globals: tfile: print object on: print derived_partial
570FAIL: gdb.trace/unavailable.exp: unavailable locals: auto locals: info locals
571FAIL: gdb.trace/unavailable.exp: unavailable locals: auto locals: tfile: info locals
572FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: info locals
573FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: print locd
574FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: print locf
575FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: info locals
576FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: print locd
577FAIL: gdb.trace/unavailable.exp: unavailable locals: register locals: tfile: print locf
578FAIL: gdb.trace/unavailable.exp: unavailable locals: static locals: info locals
579FAIL: gdb.trace/unavailable.exp: unavailable locals: static locals: tfile: info locals
580UNRESOLVED: gdb.base/libsegfault.exp: gdb emits custom handler warning
581UNRESOLVED: gdb.base/readline-ask.exp: bell for more message
582UNRESOLVED: gdb.base/symbol-without-target_section.exp: list -q main
583UNRESOLVED: gdb.dwarf2/dw2-icc-opaque.exp: ptype p_struct
748dd275 584UNRESOLVED: gdb.threads/attach-into-signal.exp: threaded: attach (pass 2), pending signal catch
25142be0 585FAIL: gdb.arch/ftrace-insn-reloc.exp: runto: run to main
25142be0
SM
586FAIL: gdb.multi/remove-inferiors.exp: runto: run to main
587FAIL: gdb.threads/access-mem-running-thread-exit.exp: non-stop: second inferior: runto: run to main
588FAIL: gdb.threads/break-while-running.exp: w/ithr: always-inserted off: non-stop: runto: run to main
589FAIL: gdb.threads/break-while-running.exp: w/ithr: always-inserted on: non-stop: runto: run to main
590FAIL: gdb.threads/break-while-running.exp: wo/ithr: always-inserted off: non-stop: runto: run to main
591FAIL: gdb.threads/break-while-running.exp: wo/ithr: always-inserted on: non-stop: runto: run to main
592FAIL: gdb.threads/gcore-stale-thread.exp: runto: run to main
593FAIL: gdb.threads/multi-create-ns-info-thr.exp: runto: run to main
594FAIL: gdb.threads/non-stop-fair-events.exp: runto: run to main
748dd275 595KPASS: gdb.threads/process-dies-while-detaching.exp: single-process: continue: watchpoint:sw: continue (PRMS gdb/28375)
25142be0
SM
596FAIL: gdb.threads/thread-execl.exp: non-stop: runto: run to main
597FAIL: gdb.threads/thread-specific-bp.exp: non-stop: runto: run to main
598FAIL: gdb.trace/change-loc.exp: 1 ftrace: runto: run to main
599FAIL: gdb.trace/change-loc.exp: InstallInTrace disabled: ftrace: runto: run to main
600FAIL: gdb.trace/ftrace-lock.exp: runto: run to main
601FAIL: gdb.trace/ftrace.exp: runto: run to main
602FAIL: gdb.trace/pending.exp: ftrace action_resolved: runto: run to main
603FAIL: gdb.trace/pending.exp: ftrace disconn: runto: run to main
604FAIL: gdb.trace/pending.exp: ftrace disconn_resolved: runto: run to main
605FAIL: gdb.trace/pending.exp: ftrace installed_in_trace: runto: run to main
606FAIL: gdb.trace/pending.exp: ftrace resolved_in_trace: runto: run to main
607FAIL: gdb.trace/range-stepping.exp: runto: run to main
608FAIL: gdb.trace/trace-break.exp: runto: run to main
609FAIL: gdb.trace/trace-condition.exp: runto: run to main
610FAIL: gdb.trace/trace-enable-disable.exp: test_tracepoint_enable_disable ftrace: runto: run to main
611FAIL: gdb.trace/trace-enable-disable.exp: test_tracepoint_enable_disable trace: runto: run to main
612FAIL: gdb.trace/trace-mt.exp: runto: run to main
613FAIL: gdb.trace/tspeed.exp: runto: run to main
614FAIL: gdb.trace/tspeed.exp: runto: run to main
615DUPLICATE: gdb.trace/tspeed.exp: runto: run to main
748dd275
SM
616EOF
617
618known_failures_file="known-failures-${target_board}"
619grep --invert-match --fixed-strings --file="$known_failures_file" "${WORKSPACE}/results/gdb.sum" > "${WORKSPACE}/results/gdb.filtered.sum"
795db243 620
f204fdf1
SM
621# For informational purposes: check if some known failure lines did not appear
622# in the gdb.sum.
623echo "Known failures that don't appear in gdb.sum:"
624while read line; do
625 if ! grep --silent --fixed-strings "$line" "${WORKSPACE}/results/gdb.sum"; then
626 echo "$line"
627 fi
3837269d 628done < "$known_failures_file" > "${WORKSPACE}/results/known-failures-not-found.sum"
f204fdf1 629
bcd0bdf1
SM
630# Convert results to JUnit format.
631failed_tests=0
795db243 632sum2junit "${WORKSPACE}/results/gdb.filtered.sum" "${WORKSPACE}/results/gdb.xml" || failed_tests=1
91ba8aa1
MJ
633
634# Clean the build directory
635$MAKE clean
636
91ba8aa1
MJ
637# Exit with failure if any of the tests failed
638exit $failed_tests
639
640# EOF
This page took 0.048663 seconds and 4 git commands to generate.