- patches added (trunk backport):
* gdb-testsuite-make-gdb.base-annota1.exp-more-robust.patch * gdb-testsuite-fix-gdb.base-annota1.exp-with-pie.patch - patches added (gdb-patches ml backport): * gdb-tdep-handle-pipe2-syscall-for-amd64.patch * gdb-testsuite-handle-pipe2-syscall-in-gdb.base-catch-syscall.exp.patch * gdb-tdep-support-catch-syscall-pipe2-for-i386.patch - Maintenance script qa.sh: * Add Leap 15.4 x86_64 to know good configs. OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=322
This commit is contained in:
parent
68cf99e189
commit
96cf5fb95f
61
gdb-tdep-handle-pipe2-syscall-for-amd64.patch
Normal file
61
gdb-tdep-handle-pipe2-syscall-for-amd64.patch
Normal file
@ -0,0 +1,61 @@
|
||||
[gdb/tdep] Handle pipe2 syscall for amd64
|
||||
|
||||
When running test-case gdb.reverse/pipe-reverse.exp on openSUSE Tumbleweed,
|
||||
I run into:
|
||||
...
|
||||
(gdb) continue^M
|
||||
Continuing.^M
|
||||
Process record and replay target doesn't support syscall number 293^M
|
||||
Process record: failed to record execution log.^M
|
||||
^M
|
||||
Program stopped.^M
|
||||
0x00007ffff7daabdb in pipe () from /lib64/libc.so.6^M
|
||||
(gdb) FAIL: gdb.reverse/pipe-reverse.exp: continue to breakpoint: marker2
|
||||
...
|
||||
|
||||
The current glibc on Tumbleweed is 2.35, which contains commit
|
||||
"linux: Implement pipe in terms of __NR_pipe2", and consequently syscall pipe2
|
||||
is used in stead of syscall pipe.
|
||||
|
||||
There is already support added for syscall pipe2 for aarch64 (which only has
|
||||
syscall pipe2, not syscall pipe), so enable the same for amd64, by:
|
||||
- adding amd64_sys_pipe2 in enum amd64_syscall
|
||||
- translating amd64_sys_pipe2 to gdb_sys_pipe2 in amd64_canonicalize_syscall
|
||||
|
||||
Tested on x86_64-linux, specifically on:
|
||||
- openSUSE Tumbleweed (with glibc 2.35), and
|
||||
- openSUSE Leap 15.3 (with glibc 2.31).
|
||||
|
||||
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29056
|
||||
|
||||
---
|
||||
gdb/amd64-linux-tdep.c | 3 +++
|
||||
gdb/amd64-linux-tdep.h | 1 +
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
|
||||
index 0e5194fbeee..9a0759d639c 100644
|
||||
--- a/gdb/amd64-linux-tdep.c
|
||||
+++ b/gdb/amd64-linux-tdep.c
|
||||
@@ -460,6 +460,9 @@ amd64_canonicalize_syscall (enum amd64_syscall syscall_number)
|
||||
case amd64_x32_sys_pipe:
|
||||
return gdb_sys_pipe;
|
||||
|
||||
+ case amd64_sys_pipe2:
|
||||
+ return gdb_sys_pipe2;
|
||||
+
|
||||
case amd64_sys_select:
|
||||
case amd64_x32_sys_select:
|
||||
return gdb_sys_select;
|
||||
diff --git a/gdb/amd64-linux-tdep.h b/gdb/amd64-linux-tdep.h
|
||||
index 4a41b3b8245..184b0c86f07 100644
|
||||
--- a/gdb/amd64-linux-tdep.h
|
||||
+++ b/gdb/amd64-linux-tdep.h
|
||||
@@ -320,6 +320,7 @@ enum amd64_syscall {
|
||||
amd64_sys_sync_file_range = 277,
|
||||
amd64_sys_vmsplice = 278,
|
||||
amd64_sys_move_pages = 279,
|
||||
+ amd64_sys_pipe2 = 293
|
||||
};
|
||||
|
||||
/* Enum that defines the syscall identifiers for x32 linux.
|
44
gdb-tdep-support-catch-syscall-pipe2-for-i386.patch
Normal file
44
gdb-tdep-support-catch-syscall-pipe2-for-i386.patch
Normal file
@ -0,0 +1,44 @@
|
||||
[gdb/tdep] Support catch syscall pipe2 for i386
|
||||
|
||||
With test-case gdb.base/catch-syscall.exp and target board unix/-m32, we run
|
||||
into:
|
||||
...
|
||||
(gdb) catch syscall pipe2^M
|
||||
Unknown syscall name 'pipe2'.^M
|
||||
(gdb) FAIL: gdb.base/catch-syscall.exp: determine pipe syscall: catch syscall pipe2
|
||||
...
|
||||
|
||||
Fix this by:
|
||||
- adding a pipe2 entry in gdb/syscalls/i386-linux.xml.in, and
|
||||
- regenerating gdb/syscalls/i386-linux.xml using
|
||||
"xsltproc --output i386-linux.xml apply-defaults.xsl i386-linux.xml.in".
|
||||
|
||||
Tested on x86_64-linux with native and unix/-m32.
|
||||
|
||||
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29056
|
||||
|
||||
---
|
||||
gdb/syscalls/i386-linux.xml | 1 +
|
||||
gdb/syscalls/i386-linux.xml.in | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/gdb/syscalls/i386-linux.xml b/gdb/syscalls/i386-linux.xml
|
||||
index a783dd10af3..4a7a2345186 100644
|
||||
--- a/gdb/syscalls/i386-linux.xml
|
||||
+++ b/gdb/syscalls/i386-linux.xml
|
||||
@@ -334,4 +334,5 @@
|
||||
<syscall name="eventfd" number="323" groups="descriptor"/>
|
||||
<syscall name="fallocate" number="324" groups="descriptor"/>
|
||||
<syscall name="timerfd_settime" number="325" groups="descriptor"/>
|
||||
+ <syscall name="pipe2" number="331" groups="descriptor"/>
|
||||
</syscalls_info>
|
||||
diff --git a/gdb/syscalls/i386-linux.xml.in b/gdb/syscalls/i386-linux.xml.in
|
||||
index e778ab54043..13c4d1d99d4 100644
|
||||
--- a/gdb/syscalls/i386-linux.xml.in
|
||||
+++ b/gdb/syscalls/i386-linux.xml.in
|
||||
@@ -337,4 +337,5 @@
|
||||
<syscall name="eventfd" number="323"/>
|
||||
<syscall name="fallocate" number="324"/>
|
||||
<syscall name="timerfd_settime" number="325"/>
|
||||
+ <syscall name="pipe2" number="331"/>
|
||||
</syscalls_info>
|
43
gdb-testsuite-fix-gdb.base-annota1.exp-with-pie.patch
Normal file
43
gdb-testsuite-fix-gdb.base-annota1.exp-with-pie.patch
Normal file
@ -0,0 +1,43 @@
|
||||
[gdb/testsuite] Fix gdb.base/annota1.exp with pie
|
||||
|
||||
Since commit 359efc2d894 ("[gdb/testsuite] Make gdb.base/annota1.exp more
|
||||
robust") we see this fail with target board unix/-fPIE/-pie:
|
||||
...
|
||||
FAIL: gdb.base/annota1.exp: run until main breakpoint (timeout)
|
||||
...
|
||||
|
||||
The problem is that the commit makes the number and order of matched
|
||||
annotations fixed, while between target boards unix and unix/-fPIE/-pie there
|
||||
is a difference:
|
||||
...
|
||||
\032\032post-prompt
|
||||
Starting program: outputs/gdb.base/annota1/annota1
|
||||
|
||||
+\032\032breakpoints-invalid
|
||||
+
|
||||
\032\032starting
|
||||
|
||||
\032\032frames-invalid
|
||||
...
|
||||
|
||||
Fix this by optionally matching the additional annotation.
|
||||
|
||||
Tested on x86_64-linux.
|
||||
|
||||
---
|
||||
gdb/testsuite/gdb.base/annota1.exp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.base/annota1.exp b/gdb/testsuite/gdb.base/annota1.exp
|
||||
index 019c8048fd0..b9f80cbb6ed 100644
|
||||
--- a/gdb/testsuite/gdb.base/annota1.exp
|
||||
+++ b/gdb/testsuite/gdb.base/annota1.exp
|
||||
@@ -159,6 +159,8 @@ set run_re \
|
||||
"\r\n\032\032post-prompt\r\n" \
|
||||
"Starting program: $binexp \r\n" \
|
||||
$optional_re \
|
||||
+ "\(\r\n\032\032breakpoints-invalid\r\n\)?" \
|
||||
+ $optional_re \
|
||||
"\r\n\032\032starting\r\n" \
|
||||
$optional_re \
|
||||
"\r\n\032\032frames-invalid\r\n" \
|
@ -0,0 +1,202 @@
|
||||
[gdb/testsuite] Handle pipe2 syscall in gdb.base/catch-syscall.exp
|
||||
|
||||
When running test-case gdb.reverse/pipe-reverse.exp on openSUSE Tumbleweed,
|
||||
I run into:
|
||||
...
|
||||
(gdb) continue^M
|
||||
Continuing.^M
|
||||
^M
|
||||
Catchpoint 2 (returned from syscall pipe2), in pipe () from /lib64/libc.so.6^M
|
||||
(gdb) FAIL: gdb.base/catch-syscall.exp: without arguments: \
|
||||
syscall pipe has returned
|
||||
...
|
||||
|
||||
The current glibc on Tumbleweed is 2.35, which contains commit
|
||||
"linux: Implement pipe in terms of __NR_pipe2", and consequently syscall pipe2
|
||||
is used instead of syscall pipe.
|
||||
|
||||
Fix this by detecting whether syscall pipe or pipe2 is used before running the tests.
|
||||
|
||||
Tested on x86_64-linux, specifically on:
|
||||
- openSUSE Tumbleweed (with glibc 2.35), and
|
||||
- openSUSE Leap 15.3 (with glibc 2.31).
|
||||
|
||||
On openSUSE Tumbleweed + target board unix/-m32, this exposes:
|
||||
...
|
||||
(gdb) catch syscall pipe2^M
|
||||
Unknown syscall name 'pipe2'.^M
|
||||
...
|
||||
so make the test robust against this by using the syscall number instead,
|
||||
while still noting that the syscall name pipe2 is not recognized:
|
||||
...
|
||||
FAIL: gdb.base/catch-syscall.exp: determine pipe syscall: catch syscall pipe2
|
||||
...
|
||||
which will be fixed in a folllow-up patch.
|
||||
|
||||
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29056
|
||||
|
||||
---
|
||||
gdb/testsuite/gdb.base/catch-syscall.c | 3 +-
|
||||
gdb/testsuite/gdb.base/catch-syscall.exp | 100 ++++++++++++++++++++++++++++---
|
||||
2 files changed, 93 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.base/catch-syscall.c b/gdb/testsuite/gdb.base/catch-syscall.c
|
||||
index 0ab96318d3e..8c252a06b20 100644
|
||||
--- a/gdb/testsuite/gdb.base/catch-syscall.c
|
||||
+++ b/gdb/testsuite/gdb.base/catch-syscall.c
|
||||
@@ -24,7 +24,8 @@ int chroot_syscall = SYS_chroot;
|
||||
int read_syscall = SYS_read;
|
||||
#ifdef SYS_pipe
|
||||
int pipe_syscall = SYS_pipe;
|
||||
-#else
|
||||
+#endif
|
||||
+#ifdef SYS_pipe2
|
||||
int pipe2_syscall = SYS_pipe2;
|
||||
#endif
|
||||
int write_syscall = SYS_write;
|
||||
diff --git a/gdb/testsuite/gdb.base/catch-syscall.exp b/gdb/testsuite/gdb.base/catch-syscall.exp
|
||||
index a5dfd02411b..cc76a2cf61d 100644
|
||||
--- a/gdb/testsuite/gdb.base/catch-syscall.exp
|
||||
+++ b/gdb/testsuite/gdb.base/catch-syscall.exp
|
||||
@@ -185,7 +185,11 @@ proc insert_catch_syscall_with_many_args { syscalls numbers } {
|
||||
set filter_str ""
|
||||
|
||||
foreach name $syscalls number $numbers {
|
||||
- set filter_str "${filter_str}'${name}' \\\[${number}\\\] "
|
||||
+ if { [string is integer $name] } {
|
||||
+ append filter_str "${name} "
|
||||
+ } else {
|
||||
+ append filter_str "'${name}' \\\[${number}\\\] "
|
||||
+ }
|
||||
}
|
||||
|
||||
set filter_str [ string trimright $filter_str " " ]
|
||||
@@ -662,42 +666,120 @@ proc fill_all_syscalls_numbers {} {
|
||||
global all_syscalls_numbers last_syscall_number unknown_syscall_number all_syscalls
|
||||
|
||||
foreach syscall $all_syscalls {
|
||||
- lappend all_syscalls_numbers [get_integer_valueof "${syscall}_syscall" -1]
|
||||
+ if { [string is integer $syscall] } {
|
||||
+ lappend all_syscalls_numbers $syscall
|
||||
+ } else {
|
||||
+ lappend all_syscalls_numbers [get_integer_valueof "${syscall}_syscall" -1]
|
||||
+ }
|
||||
}
|
||||
|
||||
set last_syscall_number [get_integer_valueof "exit_group_syscall" -1]
|
||||
set unknown_syscall_number [get_integer_valueof "unknown_syscall" -1]
|
||||
}
|
||||
|
||||
-# Set up the vector all_syscalls.
|
||||
+# Catch syscall with NAME, or if gdb doesn't support that (yet), try NR
|
||||
+# instead.
|
||||
+
|
||||
+proc catch_syscall_name_or_nr { name nr } {
|
||||
+ global decimal
|
||||
+
|
||||
+ gdb_test_multiple "catch syscall $name" "" {
|
||||
+ -re -wrap "Catchpoint $decimal \\(syscall '$name' \\\[$nr\\\]\\)" {
|
||||
+ pass $gdb_test_name
|
||||
+ }
|
||||
+ -re -wrap "Unknown syscall name '$name'\." {
|
||||
+ fail $gdb_test_name
|
||||
+ gdb_test "catch syscall $nr" "Catchpoint $decimal \\(syscall $nr\\)"
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+# Set up the vector all_syscalls. Returns 1 upon success, 0 upon failure.
|
||||
|
||||
proc setup_all_syscalls {} {
|
||||
global all_syscalls
|
||||
global gdb_prompt
|
||||
+ global decimal
|
||||
|
||||
# They are ordered according to the file, so do not change this.
|
||||
lappend all_syscalls "close"
|
||||
lappend all_syscalls "chroot"
|
||||
|
||||
+ if { ![runto_main] } {
|
||||
+ return 0
|
||||
+ }
|
||||
+
|
||||
# SYS_pipe doesn't exist on aarch64 kernel.
|
||||
set test "check SYS_pipe"
|
||||
+ set have_SYS_pipe 0
|
||||
gdb_test_multiple "p pipe_syscall" $test {
|
||||
- -re " = .*$gdb_prompt $" {
|
||||
+ -re -wrap " = ($decimal)" {
|
||||
+ pass $test
|
||||
+ set have_SYS_pipe 1
|
||||
+ set SYS_pipe $expect_out(1,string)
|
||||
+ }
|
||||
+ -re -wrap "No symbol .*" {
|
||||
+ pass $test
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ set test "check SYS_pipe2"
|
||||
+ set have_SYS_pipe2 0
|
||||
+ gdb_test_multiple "p pipe2_syscall" $test {
|
||||
+ -re -wrap " = ($decimal)" {
|
||||
pass $test
|
||||
- lappend all_syscalls "pipe"
|
||||
+ set have_SYS_pipe2 1
|
||||
+ set SYS_pipe2 $expect_out(1,string)
|
||||
}
|
||||
- -re "No symbol .*$gdb_prompt $" {
|
||||
+ -re -wrap "No symbol .*" {
|
||||
pass $test
|
||||
- # SYS_pipe isn't defined, use SYS_pipe2 instead.
|
||||
- lappend all_syscalls "pipe2"
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if { $have_SYS_pipe == 0 && $have_SYS_pipe2 == 0 } {
|
||||
+ return 0
|
||||
+ }
|
||||
+
|
||||
+ with_test_prefix "determine pipe syscall" {
|
||||
+ set line [gdb_get_line_number "pipe (fd)"]
|
||||
+ gdb_test "break $line"
|
||||
+ gdb_continue_to_breakpoint "before pipe call"
|
||||
+ if { $have_SYS_pipe } {
|
||||
+ catch_syscall_name_or_nr pipe $SYS_pipe
|
||||
+ }
|
||||
+ if { $have_SYS_pipe2 } {
|
||||
+ catch_syscall_name_or_nr pipe2 $SYS_pipe2
|
||||
+ }
|
||||
+ set ok 0
|
||||
+ gdb_test_multiple "continue" "" {
|
||||
+ -re -wrap "Catchpoint $decimal \\(call to syscall (pipe|$SYS_pipe)\\).*" {
|
||||
+ lappend all_syscalls $expect_out(1,string)
|
||||
+ pass $gdb_test_name
|
||||
+ set ok 1
|
||||
+ }
|
||||
+ -re -wrap "Catchpoint $decimal \\(call to syscall (pipe2|$SYS_pipe2)\\).*" {
|
||||
+ lappend all_syscalls $expect_out(1,string)
|
||||
+ pass $gdb_test_name
|
||||
+ set ok 1
|
||||
+ }
|
||||
+ -re -wrap "" {
|
||||
+ fail $gdb_test_name
|
||||
+ }
|
||||
+ }
|
||||
+ if { ! $ok } {
|
||||
+ return 0
|
||||
}
|
||||
}
|
||||
|
||||
lappend all_syscalls "write"
|
||||
lappend all_syscalls "read"
|
||||
+
|
||||
+ return 1
|
||||
}
|
||||
|
||||
-setup_all_syscalls
|
||||
+if { ![setup_all_syscalls] } {
|
||||
+ return -1
|
||||
+}
|
||||
|
||||
# Fill all the syscalls numbers before starting anything.
|
||||
fill_all_syscalls_numbers
|
127
gdb-testsuite-make-gdb.base-annota1.exp-more-robust.patch
Normal file
127
gdb-testsuite-make-gdb.base-annota1.exp-more-robust.patch
Normal file
@ -0,0 +1,127 @@
|
||||
[gdb/testsuite] Make gdb.base/annota1.exp more robust
|
||||
|
||||
On openSUSE Tumbleweed I run into:
|
||||
...
|
||||
FAIL: gdb.base/annota1.exp: run until main breakpoint (timeout)
|
||||
...
|
||||
|
||||
The problem is that the libthread_db message occurs at a location where it's
|
||||
not expected:
|
||||
...
|
||||
Starting program: outputs/gdb.base/annota1/annota1 ^M
|
||||
^M
|
||||
^Z^Zstarting^M
|
||||
^M
|
||||
^Z^Zframes-invalid^M
|
||||
[Thread debugging using libthread_db enabled]^M
|
||||
Using host libthread_db library "/lib64/libthread_db.so.1".^M
|
||||
^M
|
||||
^Z^Zbreakpoints-invalid^M
|
||||
^M
|
||||
...
|
||||
|
||||
Fix this by making the matching more robust:
|
||||
- rewrite the regexp such that each annotation is on a single line,
|
||||
starting with \r\n\032\032 and ending with \r\n
|
||||
- add a regexp variable optional_re, that matches all possible optional
|
||||
output, and use it as a separator in the first part of the regexp
|
||||
|
||||
Tested on x86_64-linux.
|
||||
|
||||
---
|
||||
gdb/testsuite/gdb.base/annota1.exp | 71 +++++++++++++++++++++++++-------------
|
||||
1 file changed, 47 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.base/annota1.exp b/gdb/testsuite/gdb.base/annota1.exp
|
||||
index cf0b93e01a3..019c8048fd0 100644
|
||||
--- a/gdb/testsuite/gdb.base/annota1.exp
|
||||
+++ b/gdb/testsuite/gdb.base/annota1.exp
|
||||
@@ -128,41 +128,64 @@ gdb_test_multiple "info break" "breakpoint info" {
|
||||
set binexp [string_to_regexp $binfile]
|
||||
|
||||
set warning_slow_re \
|
||||
- "warning: File transfers from remote targets can be slow\[^\r\n\]+"
|
||||
+ "warning: File transfers from remote targets can be slow\[^\r\n\]+\r\n"
|
||||
set warning_gdb_index_re \
|
||||
[multi_line \
|
||||
"warning: Skipping \[^\r\n\]+ .gdb_index section in \[^\r\n\]+" \
|
||||
"Do \"set use-deprecated-index-sections on\" before the file is read" \
|
||||
- "to use the section anyway\\."]
|
||||
+ "to use the section anyway\\.\r\n"]
|
||||
set reading_re \
|
||||
- "Reading \[^\r\n\]+"
|
||||
+ "Reading \[^\r\n\]+\r\n"
|
||||
set libthread_db_re \
|
||||
[multi_line \
|
||||
"\\\[Thread debugging using libthread_db enabled\\\]" \
|
||||
- "Using host libthread_db library \[^\r\n\]+"]
|
||||
+ "Using host libthread_db library \[^\r\n\]+\r\n"]
|
||||
|
||||
-set run_re \
|
||||
+set optional_re \
|
||||
[list \
|
||||
- "\r\n\032\032post-prompt\r\nStarting program: $binexp " \
|
||||
- "\(\(\r\n$reading_re\)|\(\r\n$warning_slow_re\)\)*" \
|
||||
+ "\(" \
|
||||
+ "\($reading_re)" \
|
||||
+ "|" \
|
||||
+ "\($warning_slow_re\)" \
|
||||
+ "|" \
|
||||
+ "\($libthread_db_re\)" \
|
||||
+ "|" \
|
||||
"\(\r\n$warning_gdb_index_re\)?" \
|
||||
- "\(\(\r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\)\)*\r\n\r\n" \
|
||||
- "\032\032starting\(\(\r\n$reading_re\)|\(\r\n$warning_slow_re\)|\r\n$libthread_db_re\)*" \
|
||||
- "\(\(\r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\)\)*\r\n\r\n" \
|
||||
- "\032\032breakpoint 1\r\n\r\n" \
|
||||
- "Breakpoint 1, \r\n" \
|
||||
- "\032\032frame-begin 0 $hex\r\n\r\n" \
|
||||
- "\032\032frame-function-name\r\n" \
|
||||
- "main\r\n" \
|
||||
- "\032\032frame-args\r\n \\(\\)\r\n" \
|
||||
- "\032\032frame-source-begin\r\n at \r\n" \
|
||||
- "\032\032frame-source-file\r\n.*annota1.c\r\n" \
|
||||
- "\032\032frame-source-file-end\r\n:\r\n" \
|
||||
- "\032\032frame-source-line\r\n$main_line\r\n" \
|
||||
- "\032\032frame-source-end\r\n\r\n\r\n" \
|
||||
- "\032\032source.*$srcfile:$main_line:.*:beg:$hex\r\n\r\n" \
|
||||
- "\032\032frame-end\r\n\r\n" \
|
||||
- "\032\032stopped"]
|
||||
+ "\)*"]
|
||||
+set optional_re [join $optional_re ""]
|
||||
+
|
||||
+set run_re \
|
||||
+ [list \
|
||||
+ "\r\n\032\032post-prompt\r\n" \
|
||||
+ "Starting program: $binexp \r\n" \
|
||||
+ $optional_re \
|
||||
+ "\r\n\032\032starting\r\n" \
|
||||
+ $optional_re \
|
||||
+ "\r\n\032\032frames-invalid\r\n" \
|
||||
+ $optional_re \
|
||||
+ "\r\n\032\032breakpoints-invalid\r\n" \
|
||||
+ $optional_re \
|
||||
+ "\r\n\032\032breakpoint 1\r\n" \
|
||||
+ "\r\n" \
|
||||
+ "Breakpoint 1, " \
|
||||
+ "\r\n\032\032frame-begin 0 $hex\r\n" \
|
||||
+ "\r\n\032\032frame-function-name\r\n" \
|
||||
+ "main" \
|
||||
+ "\r\n\032\032frame-args\r\n" \
|
||||
+ " \\(\\)" \
|
||||
+ "\r\n\032\032frame-source-begin\r\n" \
|
||||
+ " at " \
|
||||
+ "\r\n\032\032frame-source-file\r\n" \
|
||||
+ ".*annota1.c" \
|
||||
+ "\r\n\032\032frame-source-file-end\r\n" \
|
||||
+ ":" \
|
||||
+ "\r\n\032\032frame-source-line\r\n" \
|
||||
+ "$main_line" \
|
||||
+ "\r\n\032\032frame-source-end\r\n" \
|
||||
+ "\r\n" \
|
||||
+ "\r\n\032\032source.*$srcfile:$main_line:.*:beg:$hex\r\n" \
|
||||
+ "\r\n\032\032frame-end\r\n" \
|
||||
+ "\r\n\032\032stopped\r\n"]
|
||||
|
||||
set run_re [join $run_re ""]
|
||||
|
13
gdb.changes
13
gdb.changes
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed May 4 13:49:10 UTC 2022 - Tom de Vries <tdevries@suse.com>
|
||||
|
||||
- patches added (trunk backport):
|
||||
* gdb-testsuite-make-gdb.base-annota1.exp-more-robust.patch
|
||||
* gdb-testsuite-fix-gdb.base-annota1.exp-with-pie.patch
|
||||
- patches added (gdb-patches ml backport):
|
||||
* gdb-tdep-handle-pipe2-syscall-for-amd64.patch
|
||||
* gdb-testsuite-handle-pipe2-syscall-in-gdb.base-catch-syscall.exp.patch
|
||||
* gdb-tdep-support-catch-syscall-pipe2-for-i386.patch
|
||||
- Maintenance script qa.sh:
|
||||
* Add Leap 15.4 x86_64 to know good configs.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 29 13:27:04 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
|
13
gdb.spec
13
gdb.spec
@ -349,6 +349,8 @@ Patch2035: gdb-r_version-check.patch
|
||||
Patch2036: ibm-z-add-another-arch14-instruction.patch
|
||||
Patch2037: ibm-z-remove-lpswey-parameter.patch
|
||||
Patch2038: fix-build-with-current-gcc-el_explicit-location-always-non-null.patch
|
||||
Patch2039: gdb-testsuite-make-gdb.base-annota1.exp-more-robust.patch
|
||||
Patch2040: gdb-testsuite-fix-gdb.base-annota1.exp-with-pie.patch
|
||||
|
||||
# Backports from master, not yet available in next release.
|
||||
|
||||
@ -396,6 +398,12 @@ Patch2119: gdb-testsuite-fix-gdb.arch-i386-pkru.exp-on-linux.patch
|
||||
Patch2120: gdb-tdep-fix-avx512-m32-support-in-gdbserver.patch
|
||||
# https://sourceware.org/pipermail/gdb-patches/2021-December/184241.html
|
||||
Patch2121: gdb-ada-fix-assert-in-ada_is_unconstrained_packed_array_type.patch
|
||||
# https://sourceware.org/pipermail/gdb-patches/2022-May/188661.html
|
||||
Patch2122: gdb-tdep-handle-pipe2-syscall-for-amd64.patch
|
||||
# https://sourceware.org/pipermail/gdb-patches/2022-May/188732.html
|
||||
Patch2123: gdb-testsuite-handle-pipe2-syscall-in-gdb.base-catch-syscall.exp.patch
|
||||
# https://sourceware.org/pipermail/gdb-patches/2022-May/188733.html
|
||||
Patch2124: gdb-tdep-support-catch-syscall-pipe2-for-i386.patch
|
||||
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
@ -797,6 +805,8 @@ find -name "*.info*"|xargs rm -f
|
||||
%patch2036 -p1
|
||||
%patch2037 -p1
|
||||
%patch2038 -p1
|
||||
%patch2039 -p1
|
||||
%patch2040 -p1
|
||||
|
||||
%patch2100 -p1
|
||||
%patch2101 -p1
|
||||
@ -818,6 +828,9 @@ find -name "*.info*"|xargs rm -f
|
||||
%patch2119 -p1
|
||||
%patch2120 -p1
|
||||
%patch2121 -p1
|
||||
%patch2122 -p1
|
||||
%patch2123 -p1
|
||||
%patch2124 -p1
|
||||
|
||||
#unpack libipt
|
||||
%if 0%{have_libipt}
|
||||
|
7
qa.sh
7
qa.sh
@ -267,6 +267,13 @@ case $n in
|
||||
"$config/gdb-x86_64-suse-linux-m32.-fno-PIE.-no-pie.sum"
|
||||
"$config/gdb-x86_64-suse-linux-m32.sum")
|
||||
|
||||
# Known clean config: Leap 15.4 x86_64
|
||||
config=openSUSE_Leap_15.4.x86_64/gdb-testresults
|
||||
sums+=("$config/gdb-x86_64-suse-linux-m64.-fno-PIE.-no-pie.sum"
|
||||
"$config/gdb-x86_64-suse-linux-m64.sum"
|
||||
"$config/gdb-x86_64-suse-linux-m32.-fno-PIE.-no-pie.sum"
|
||||
"$config/gdb-x86_64-suse-linux-m32.sum")
|
||||
|
||||
# Known clean config: SLE 15 x86_64.
|
||||
config=SLE-15.x86_64/gdb-testresults
|
||||
sums+=("$config/gdb-x86_64-suse-linux-m64.-fno-PIE.-no-pie.sum"
|
||||
|
Loading…
x
Reference in New Issue
Block a user