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