- Don't check for stgit unless needed w/generate-git-repo-from-patches.sh.
- Fix all patches wrt git diff --check. - Update some tests (Tom de Vries) - Fix ERRORs w/unsupported tests on native-gdbserver targets. - Backport "Disable bracketed paste mode in GDB tests" (Tom Tromey) - Backport "Handle DW_TAG_type_unit in process_symtab_unit" (Tom de Vries)
This commit is contained in:
parent
db92bd60db
commit
2f55d67d0a
@ -416,3 +416,11 @@ Patch102: gdb-rhbz1909902-frame_id_p-assert-2.patch
|
|||||||
# Backport change which fixes gdbserver testing hang on f34 and rawhide.
|
# Backport change which fixes gdbserver testing hang on f34 and rawhide.
|
||||||
Patch103: gdb-rhbz1941080-fix-gdbserver-hang.patch
|
Patch103: gdb-rhbz1941080-fix-gdbserver-hang.patch
|
||||||
|
|
||||||
|
# Backport "Disable bracketed paste mode in GDB tests"
|
||||||
|
# (Tom Tromey)
|
||||||
|
Patch104: testing-custom-inputrc.patch
|
||||||
|
|
||||||
|
# Backport "Handle DW_TAG_type_unit in process_symtab_unit"
|
||||||
|
# (Tom de Vries)
|
||||||
|
Patch105: process_psymtab_comp_unit-type-unit.patch
|
||||||
|
|
||||||
|
@ -101,3 +101,5 @@
|
|||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
%patch103 -p1
|
%patch103 -p1
|
||||||
|
%patch104 -p1
|
||||||
|
%patch105 -p1
|
||||||
|
@ -101,3 +101,5 @@ gdb-rhbz1932645-aarch64-ptrace-header-order.patch
|
|||||||
gdb-rhbz1909902-frame_id_p-assert-1.patch
|
gdb-rhbz1909902-frame_id_p-assert-1.patch
|
||||||
gdb-rhbz1909902-frame_id_p-assert-2.patch
|
gdb-rhbz1909902-frame_id_p-assert-2.patch
|
||||||
gdb-rhbz1941080-fix-gdbserver-hang.patch
|
gdb-rhbz1941080-fix-gdbserver-hang.patch
|
||||||
|
testing-custom-inputrc.patch
|
||||||
|
process_psymtab_comp_unit-type-unit.patch
|
||||||
|
@ -40,7 +40,7 @@ diff --git a/gdb/testsuite/gdb.base/attach-see-vdso.exp b/gdb/testsuite/gdb.base
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/attach-see-vdso.exp
|
+++ b/gdb/testsuite/gdb.base/attach-see-vdso.exp
|
||||||
@@ -0,0 +1,72 @@
|
@@ -0,0 +1,77 @@
|
||||||
+# Copyright 2007
|
+# Copyright 2007
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -64,6 +64,11 @@ new file mode 100644
|
|||||||
+ return 0
|
+ return 0
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
|
+if {[use_gdb_stub]} {
|
||||||
|
+ untested "skipping test because of use_gdb_stub"
|
||||||
|
+ return -1
|
||||||
|
+}
|
||||||
|
+
|
||||||
+set testfile "attach-see-vdso"
|
+set testfile "attach-see-vdso"
|
||||||
+set srcfile ${testfile}.c
|
+set srcfile ${testfile}.c
|
||||||
+set binfile [standard_output_file ${testfile}]
|
+set binfile [standard_output_file ${testfile}]
|
||||||
|
@ -81,7 +81,7 @@ new file mode 100644
|
|||||||
+#
|
+#
|
||||||
+# You should have received a copy of the GNU General Public License
|
+# You should have received a copy of the GNU General Public License
|
||||||
+# along with this program; if not, write to the Free Software
|
+# along with this program; if not, write to the Free Software
|
||||||
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
+
|
+
|
||||||
+# Please email any bugs, comments, and/or additions to this file to:
|
+# Please email any bugs, comments, and/or additions to this file to:
|
||||||
+# bug-gdb@prep.ai.mit.edu
|
+# bug-gdb@prep.ai.mit.edu
|
||||||
|
@ -46,7 +46,7 @@ diff --git a/gdb/testsuite/gdb.base/attach-32.exp b/gdb/testsuite/gdb.base/attac
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/attach-32.exp
|
+++ b/gdb/testsuite/gdb.base/attach-32.exp
|
||||||
@@ -0,0 +1,245 @@
|
@@ -0,0 +1,246 @@
|
||||||
+# Copyright 2005 Free Software Foundation, Inc.
|
+# Copyright 2005 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -78,8 +78,9 @@ new file mode 100644
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+# are we on a target board
|
+# are we on a target board
|
||||||
+if [is_remote target] then {
|
+if {[use_gdb_stub]} {
|
||||||
+ return 0
|
+ untested "skipping test because of use_gdb_stub"
|
||||||
|
+ return -1
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+set testfile "attach-32"
|
+set testfile "attach-32"
|
||||||
|
@ -17,7 +17,7 @@ diff --git a/gdb/testsuite/gdb.cp/b146835.cc b/gdb/testsuite/gdb.cp/b146835.cc
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.cp/b146835.cc
|
+++ b/gdb/testsuite/gdb.cp/b146835.cc
|
||||||
@@ -0,0 +1,32 @@
|
@@ -0,0 +1,31 @@
|
||||||
+#include "b146835.h"
|
+#include "b146835.h"
|
||||||
+#include <iostream>
|
+#include <iostream>
|
||||||
+
|
+
|
||||||
@ -49,7 +49,6 @@ new file mode 100644
|
|||||||
+ F f;
|
+ F f;
|
||||||
+ f.foo();
|
+ f.foo();
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
diff --git a/gdb/testsuite/gdb.cp/b146835.exp b/gdb/testsuite/gdb.cp/b146835.exp
|
diff --git a/gdb/testsuite/gdb.cp/b146835.exp b/gdb/testsuite/gdb.cp/b146835.exp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
|
@ -16,7 +16,7 @@ diff --git a/gdb/testsuite/gdb.base/move-dir.c b/gdb/testsuite/gdb.base/move-dir
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/move-dir.c
|
+++ b/gdb/testsuite/gdb.base/move-dir.c
|
||||||
@@ -0,0 +1,10 @@
|
@@ -0,0 +1,9 @@
|
||||||
+#include <stdio.h>
|
+#include <stdio.h>
|
||||||
+#include <stdlib.h>
|
+#include <stdlib.h>
|
||||||
+#include "move-dir.h"
|
+#include "move-dir.h"
|
||||||
@ -26,7 +26,6 @@ new file mode 100644
|
|||||||
+ printf ("%s\n", hw);;
|
+ printf ("%s\n", hw);;
|
||||||
+ other();
|
+ other();
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
diff --git a/gdb/testsuite/gdb.base/move-dir.exp b/gdb/testsuite/gdb.base/move-dir.exp
|
diff --git a/gdb/testsuite/gdb.base/move-dir.exp b/gdb/testsuite/gdb.base/move-dir.exp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@ -93,11 +92,10 @@ diff --git a/gdb/testsuite/gdb.base/move-dir.h b/gdb/testsuite/gdb.base/move-dir
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/move-dir.h
|
+++ b/gdb/testsuite/gdb.base/move-dir.h
|
||||||
@@ -0,0 +1,7 @@
|
@@ -0,0 +1,6 @@
|
||||||
+#include <stdlib.h>
|
+#include <stdlib.h>
|
||||||
+
|
+
|
||||||
+void other() {
|
+void other() {
|
||||||
+ const char* ostring = "other";
|
+ const char* ostring = "other";
|
||||||
+ printf ("%s\n", ostring);;
|
+ printf ("%s\n", ostring);;
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
|
@ -186,13 +186,13 @@ new file mode 100644
|
|||||||
+ -re "Load new symbol table from.*y or n.*$" {
|
+ -re "Load new symbol table from.*y or n.*$" {
|
||||||
+ send_gdb "y\n"
|
+ send_gdb "y\n"
|
||||||
+ gdb_expect {
|
+ gdb_expect {
|
||||||
+ -re "Reading symbols from $escapedbinfile\.\.\.*done.*$gdb_prompt $"\
|
+ -re "Reading symbols from $escapedbinfile\.\.\.*$gdb_prompt $"\
|
||||||
+ {pass "(re)set file, before attach1"}
|
+ {pass "(re)set file, before attach1"}
|
||||||
+ -re "$gdb_prompt $" {fail "(re)set file, before attach1"}
|
+ -re "$gdb_prompt $" {fail "(re)set file, before attach1"}
|
||||||
+ timeout {fail "(timeout) (re)set file, before attach1"}
|
+ timeout {fail "(timeout) (re)set file, before attach1"}
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ -re "Reading symbols from $escapedbinfile\.\.\.*done.*$gdb_prompt $"\
|
+ -re "Reading symbols from $escapedbinfile\.\.\.*$gdb_prompt $"\
|
||||||
+ {pass "set file, before attach1"}
|
+ {pass "set file, before attach1"}
|
||||||
+ -re "$gdb_prompt $" {fail "set file, before attach1"}
|
+ -re "$gdb_prompt $" {fail "set file, before attach1"}
|
||||||
+ timeout {fail "(timeout) set file, before attach1"}
|
+ timeout {fail "(timeout) set file, before attach1"}
|
||||||
@ -958,7 +958,7 @@ new file mode 100644
|
|||||||
+
|
+
|
||||||
+send_gdb "catch\n"
|
+send_gdb "catch\n"
|
||||||
+gdb_expect {
|
+gdb_expect {
|
||||||
+ -re "Catch requires an event name.*$gdb_prompt $"\
|
+ -re "List of catch subcommands:.*$gdb_prompt $"\
|
||||||
+ {pass "catch requires an event name"}
|
+ {pass "catch requires an event name"}
|
||||||
+ -re "$gdb_prompt $"\
|
+ -re "$gdb_prompt $"\
|
||||||
+ {fail "catch requires an event name"}
|
+ {fail "catch requires an event name"}
|
||||||
@ -1644,7 +1644,7 @@ diff --git a/gdb/testsuite/gdb.pie/corefile.exp b/gdb/testsuite/gdb.pie/corefile
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.pie/corefile.exp
|
+++ b/gdb/testsuite/gdb.pie/corefile.exp
|
||||||
@@ -0,0 +1,233 @@
|
@@ -0,0 +1,232 @@
|
||||||
+# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
+# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
||||||
+# Free Software Foundation, Inc.
|
+# Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -1730,11 +1730,10 @@ new file mode 100644
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+# Try to clean up after ourselves.
|
|
||||||
+remote_file build delete [file join $coredir coremmap.data]
|
|
||||||
+remote_exec build "rmdir $coredir"
|
|
||||||
+
|
|
||||||
+if { $found == 0 } {
|
+if { $found == 0 } {
|
||||||
|
+ # Try to clean up after ourselves.
|
||||||
|
+ remote_file build delete [file join $coredir coremmap.data]
|
||||||
|
+ remote_exec build "rmdir $coredir"
|
||||||
+ warning "can't generate a core file - core tests suppressed - check ulimit -c"
|
+ warning "can't generate a core file - core tests suppressed - check ulimit -c"
|
||||||
+ return 0
|
+ return 0
|
||||||
+}
|
+}
|
||||||
@ -1757,13 +1756,13 @@ new file mode 100644
|
|||||||
+
|
+
|
||||||
+gdb_exit
|
+gdb_exit
|
||||||
+if $verbose>1 then {
|
+if $verbose>1 then {
|
||||||
+ send_user "Spawning $GDB -nw $GDBFLAGS -core=[standard_output_file corefile]\n"
|
+ send_user "Spawning $GDB -nw $INTERNAL_GDBFLAGS $GDBFLAGS -core=[standard_output_file corefile]\n"
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+set oldtimeout $timeout
|
+set oldtimeout $timeout
|
||||||
+set timeout [expr "$timeout + 60"]
|
+set timeout [expr "$timeout + 60"]
|
||||||
+verbose "Timeout is now $timeout seconds" 2
|
+verbose "Timeout is now $timeout seconds" 2
|
||||||
+eval "spawn $GDB -nw $GDBFLAGS -core=[standard_output_file corefile]"
|
+eval "spawn $GDB -nw $INTERNAL_GDBFLAGS $GDBFLAGS -core=[standard_output_file corefile]"
|
||||||
+expect {
|
+expect {
|
||||||
+ -re "Couldn't find .* registers in core file.*$gdb_prompt $" {
|
+ -re "Couldn't find .* registers in core file.*$gdb_prompt $" {
|
||||||
+ fail "args: -core=corefile (couldn't find regs)"
|
+ fail "args: -core=corefile (couldn't find regs)"
|
||||||
@ -1790,11 +1789,11 @@ new file mode 100644
|
|||||||
+close;
|
+close;
|
||||||
+
|
+
|
||||||
+if $verbose>1 then {
|
+if $verbose>1 then {
|
||||||
+ send_user "Spawning $GDB -nw $GDBFLAGS $binfile -core=[standard_output_file corefile]\n"
|
+ send_user "Spawning $GDB -nw $INTERNAL_GDBFLAGS $GDBFLAGS $binfile -core=[standard_output_file corefile]\n"
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
+eval "spawn $GDB -nw $GDBFLAGS $binfile -core=[standard_output_file corefile]";
|
+eval "spawn $GDB -nw $INTERNAL_GDBFLAGS $GDBFLAGS $binfile -core=[standard_output_file corefile]";
|
||||||
+expect {
|
+expect {
|
||||||
+ -re "Core was generated by .*coremaker.*\r\n\#0 .*\(\).*\r\n$gdb_prompt $" {
|
+ -re "Core was generated by .*coremaker.*\r\n\#0 .*\(\).*\r\n$gdb_prompt $" {
|
||||||
+ pass "args: execfile -core=corefile"
|
+ pass "args: execfile -core=corefile"
|
||||||
@ -1882,7 +1881,7 @@ diff --git a/gdb/testsuite/gdb.pie/coremaker.c b/gdb/testsuite/gdb.pie/coremaker
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.pie/coremaker.c
|
+++ b/gdb/testsuite/gdb.pie/coremaker.c
|
||||||
@@ -0,0 +1,142 @@
|
@@ -0,0 +1,141 @@
|
||||||
+/* Copyright 1992, 1993, 1994, 1995, 1996, 1999
|
+/* Copyright 1992, 1993, 1994, 1995, 1996, 1999
|
||||||
+ Free Software Foundation, Inc.
|
+ Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -2024,4 +2023,3 @@ new file mode 100644
|
|||||||
+ func1 ();
|
+ func1 ();
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
|
@ -54,7 +54,7 @@ diff --git a/gdb/testsuite/gdb.threads/watchthreads-threaded.c b/gdb/testsuite/g
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.threads/watchthreads-threaded.c
|
+++ b/gdb/testsuite/gdb.threads/watchthreads-threaded.c
|
||||||
@@ -0,0 +1,66 @@
|
@@ -0,0 +1,65 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
+ Copyright 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
+ Copyright 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||||
@ -120,7 +120,6 @@ new file mode 100644
|
|||||||
+
|
+
|
||||||
+ pthread_exit(NULL);
|
+ pthread_exit(NULL);
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
diff --git a/gdb/testsuite/gdb.threads/watchthreads-threaded.exp b/gdb/testsuite/gdb.threads/watchthreads-threaded.exp
|
diff --git a/gdb/testsuite/gdb.threads/watchthreads-threaded.exp b/gdb/testsuite/gdb.threads/watchthreads-threaded.exp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@ -213,9 +212,9 @@ new file mode 100644
|
|||||||
+ { set args_2 1; set test_flag 1 }
|
+ { set args_2 1; set test_flag 1 }
|
||||||
+ -re "Hardware watchpoint 4: args\\\[3\\\].*Old value = 0.*New value = 1.*main \\\(\\\) at .*watchthreads-threaded.c:$init_line.*$gdb_prompt $"
|
+ -re "Hardware watchpoint 4: args\\\[3\\\].*Old value = 0.*New value = 1.*main \\\(\\\) at .*watchthreads-threaded.c:$init_line.*$gdb_prompt $"
|
||||||
+ { set args_3 1; set test_flag 1 }
|
+ { set args_3 1; set test_flag 1 }
|
||||||
+ -re "Hardware watchpoint 3: args\\\[2\\\].*Old value = $args_2.*New value = [expr $args_2+1].*in thread_function \\\(arg=0x2\\\) at .*watchthreads-threaded.c:$inc_line.*$gdb_prompt $"
|
+ -re "Hardware watchpoint 3: args\\\[2\\\].*Old value = $args_2.*New value = [expr $args_2+1].*thread_function \\\(arg=0x2\\\) at .*watchthreads-threaded.c:$inc_line.*$gdb_prompt $"
|
||||||
+ { set args_2 [expr $args_2+1]; set test_flag 1 }
|
+ { set args_2 [expr $args_2+1]; set test_flag 1 }
|
||||||
+ -re "Hardware watchpoint 4: args\\\[3\\\].*Old value = $args_3.*New value = [expr $args_3+1].*in thread_function \\\(arg=0x3\\\) at .*watchthreads-threaded.c:$inc_line.*$gdb_prompt $"
|
+ -re "Hardware watchpoint 4: args\\\[3\\\].*Old value = $args_3.*New value = [expr $args_3+1].*thread_function \\\(arg=0x3\\\) at .*watchthreads-threaded.c:$inc_line.*$gdb_prompt $"
|
||||||
+ { set args_3 [expr $args_3+1]; set test_flag 1 }
|
+ { set args_3 [expr $args_3+1]; set test_flag 1 }
|
||||||
+ }
|
+ }
|
||||||
+ # If we fail above, don't bother continuing loop
|
+ # If we fail above, don't bother continuing loop
|
||||||
|
@ -45,7 +45,7 @@ diff --git a/gdb/testsuite/gdb.base/step-over-trampoline.exp b/gdb/testsuite/gdb
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/step-over-trampoline.exp
|
+++ b/gdb/testsuite/gdb.base/step-over-trampoline.exp
|
||||||
@@ -0,0 +1,54 @@
|
@@ -0,0 +1,59 @@
|
||||||
+# Copyright 2006 Free Software Foundation, Inc.
|
+# Copyright 2006 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -62,6 +62,11 @@ new file mode 100644
|
|||||||
+# along with this program; if not, write to the Free Software
|
+# along with this program; if not, write to the Free Software
|
||||||
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
+
|
+
|
||||||
|
+if {[use_gdb_stub]} {
|
||||||
|
+ untested "skipping test because of use_gdb_stub"
|
||||||
|
+ return -1
|
||||||
|
+}
|
||||||
|
+
|
||||||
+if $tracelevel then {
|
+if $tracelevel then {
|
||||||
+ strace $tracelevel
|
+ strace $tracelevel
|
||||||
+}
|
+}
|
||||||
|
@ -10,7 +10,7 @@ diff --git a/gdb/testsuite/gdb.base/tracefork-zombie.exp b/gdb/testsuite/gdb.bas
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/tracefork-zombie.exp
|
+++ b/gdb/testsuite/gdb.base/tracefork-zombie.exp
|
||||||
@@ -0,0 +1,75 @@
|
@@ -0,0 +1,76 @@
|
||||||
+# Copyright 2007 Free Software Foundation, Inc.
|
+# Copyright 2007 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -28,8 +28,9 @@ new file mode 100644
|
|||||||
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
+
|
+
|
||||||
+# are we on a target board
|
+# are we on a target board
|
||||||
+if [is_remote target] then {
|
+if {[use_gdb_stub]} {
|
||||||
+ return 0
|
+ untested "skipping test because of use_gdb_stub"
|
||||||
|
+ return -1
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+# Start the program running and then wait for a bit, to be sure
|
+# Start the program running and then wait for a bit, to be sure
|
||||||
|
@ -52,7 +52,7 @@ diff --git a/gdb/testsuite/gdb.base/gcore-excessive-memory.exp b/gdb/testsuite/g
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/gcore-excessive-memory.exp
|
+++ b/gdb/testsuite/gdb.base/gcore-excessive-memory.exp
|
||||||
@@ -0,0 +1,94 @@
|
@@ -0,0 +1,99 @@
|
||||||
+# Copyright 2008 Free Software Foundation, Inc.
|
+# Copyright 2008 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -69,6 +69,11 @@ new file mode 100644
|
|||||||
+# along with this program; if not, write to the Free Software
|
+# along with this program; if not, write to the Free Software
|
||||||
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
+
|
+
|
||||||
|
+if {[use_gdb_stub]} {
|
||||||
|
+ untested "skipping test because of use_gdb_stub"
|
||||||
|
+ return -1
|
||||||
|
+}
|
||||||
|
+
|
||||||
+set testfile gcore-excessive-memory
|
+set testfile gcore-excessive-memory
|
||||||
+set srcfile ${testfile}.c
|
+set srcfile ${testfile}.c
|
||||||
+set shfile [standard_output_file ${testfile}-gdb.sh]
|
+set shfile [standard_output_file ${testfile}-gdb.sh]
|
||||||
|
@ -44,7 +44,7 @@ diff --git a/gdb/testsuite/gdb.base/unwind-leak.exp b/gdb/testsuite/gdb.base/unw
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/unwind-leak.exp
|
+++ b/gdb/testsuite/gdb.base/unwind-leak.exp
|
||||||
@@ -0,0 +1,83 @@
|
@@ -0,0 +1,88 @@
|
||||||
+# Copyright 2007 Free Software Foundation, Inc.
|
+# Copyright 2007 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -61,6 +61,11 @@ new file mode 100644
|
|||||||
+# along with this program; if not, write to the Free Software
|
+# along with this program; if not, write to the Free Software
|
||||||
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
+
|
+
|
||||||
|
+if {[use_gdb_stub]} {
|
||||||
|
+ untested "skipping test because of use_gdb_stub"
|
||||||
|
+ return -1
|
||||||
|
+}
|
||||||
|
+
|
||||||
+set testfile unwind-leak
|
+set testfile unwind-leak
|
||||||
+set srcfile ${testfile}.c
|
+set srcfile ${testfile}.c
|
||||||
+set shfile [standard_output_file ${testfile}-gdb.sh]
|
+set shfile [standard_output_file ${testfile}-gdb.sh]
|
||||||
|
@ -12,7 +12,7 @@ diff --git a/gdb/testsuite/gdb.base/readline-overflow.exp b/gdb/testsuite/gdb.ba
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/readline-overflow.exp
|
+++ b/gdb/testsuite/gdb.base/readline-overflow.exp
|
||||||
@@ -0,0 +1,104 @@
|
@@ -0,0 +1,96 @@
|
||||||
+# Copyright 2006 Free Software Foundation, Inc.
|
+# Copyright 2006 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -46,20 +46,12 @@ new file mode 100644
|
|||||||
+
|
+
|
||||||
+global env
|
+global env
|
||||||
+
|
+
|
||||||
+save_vars { env(INPUTRC) env(GDBHISTFILE) env(HISTSIZE) TERM timeout } {
|
+save_vars { env(GDBHISTFILE) env(HISTSIZE) TERM timeout } {
|
||||||
+ # The arrow key test relies on the standard VT100 bindings, so
|
+ # The arrow key test relies on the standard VT100 bindings, so
|
||||||
+ # make sure that an appropriate terminal is selected. The same
|
+ # make sure that an appropriate terminal is selected. The same
|
||||||
+ # bug doesn't show up if we use ^P / ^N instead.
|
+ # bug doesn't show up if we use ^P / ^N instead.
|
||||||
+ setenv TERM vt100
|
+ setenv TERM vt100
|
||||||
+
|
+
|
||||||
+ # Don't let a .inputrc file or an existing setting of INPUTRC mess up
|
|
||||||
+ # the test results. Even if /dev/null doesn't exist on the particular
|
|
||||||
+ # platform, the readline library will use the default setting just by
|
|
||||||
+ # failing to open the file. OTOH, opening /dev/null successfully will
|
|
||||||
+ # also result in the default settings being used since nothing will be
|
|
||||||
+ # read from this file.
|
|
||||||
+ set env(INPUTRC) "/dev/null"
|
|
||||||
+
|
|
||||||
+ set timeout 600
|
+ set timeout 600
|
||||||
+
|
+
|
||||||
+ set env(GDBHISTFILE) "${srcdir}/${subdir}/gdb_history"
|
+ set env(GDBHISTFILE) "${srcdir}/${subdir}/gdb_history"
|
||||||
|
@ -68,7 +68,7 @@ diff --git a/gdb/testsuite/gdb.base/datalib.exp b/gdb/testsuite/gdb.base/datalib
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/datalib.exp
|
+++ b/gdb/testsuite/gdb.base/datalib.exp
|
||||||
@@ -0,0 +1,51 @@
|
@@ -0,0 +1,56 @@
|
||||||
+# Copyright 2008 Free Software Foundation, Inc.
|
+# Copyright 2008 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -85,6 +85,11 @@ new file mode 100644
|
|||||||
+# along with this program; if not, write to the Free Software
|
+# along with this program; if not, write to the Free Software
|
||||||
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
+
|
+
|
||||||
|
+if {[use_gdb_stub]} {
|
||||||
|
+ untested "skipping test because of use_gdb_stub"
|
||||||
|
+ return -1
|
||||||
|
+}
|
||||||
|
+
|
||||||
+set testfile datalib
|
+set testfile datalib
|
||||||
+set srcfilemain ${testfile}-main.c
|
+set srcfilemain ${testfile}-main.c
|
||||||
+set srcfilelib ${testfile}-lib.c
|
+set srcfilelib ${testfile}-lib.c
|
||||||
|
@ -33,7 +33,7 @@ diff --git a/gdb/testsuite/gdb.threads/tls-sepdebug-main.c b/gdb/testsuite/gdb.t
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.threads/tls-sepdebug-main.c
|
+++ b/gdb/testsuite/gdb.threads/tls-sepdebug-main.c
|
||||||
@@ -0,0 +1,25 @@
|
@@ -0,0 +1,31 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
+ Copyright 2006 Free Software Foundation, Inc.
|
+ Copyright 2006 Free Software Foundation, Inc.
|
||||||
@ -55,9 +55,15 @@ new file mode 100644
|
|||||||
+ Please email any bugs, comments, and/or additions to this file to:
|
+ Please email any bugs, comments, and/or additions to this file to:
|
||||||
+ bug-gdb@prep.ai.mit.edu */
|
+ bug-gdb@prep.ai.mit.edu */
|
||||||
+
|
+
|
||||||
|
+#include <pthread.h>
|
||||||
|
+
|
||||||
|
+extern __thread int var;
|
||||||
|
+
|
||||||
+int main()
|
+int main()
|
||||||
+{
|
+{
|
||||||
+ return 0;
|
+ /* Ensure we link against pthreads even with --as-needed. */
|
||||||
|
+ pthread_testcancel();
|
||||||
|
+ return var;
|
||||||
+}
|
+}
|
||||||
diff --git a/gdb/testsuite/gdb.threads/tls-sepdebug-shared.c b/gdb/testsuite/gdb.threads/tls-sepdebug-shared.c
|
diff --git a/gdb/testsuite/gdb.threads/tls-sepdebug-shared.c b/gdb/testsuite/gdb.threads/tls-sepdebug-shared.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
@ -90,7 +96,7 @@ diff --git a/gdb/testsuite/gdb.threads/tls-sepdebug.exp b/gdb/testsuite/gdb.thre
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.threads/tls-sepdebug.exp
|
+++ b/gdb/testsuite/gdb.threads/tls-sepdebug.exp
|
||||||
@@ -0,0 +1,87 @@
|
@@ -0,0 +1,94 @@
|
||||||
+# Copyright 2006 Free Software Foundation, Inc.
|
+# Copyright 2006 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -107,6 +113,13 @@ new file mode 100644
|
|||||||
+# along with this program; if not, write to the Free Software
|
+# along with this program; if not, write to the Free Software
|
||||||
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
+
|
+
|
||||||
|
+# This test uses gdb_exit and gdb_start, which are not supported
|
||||||
|
+# on non-extended-remote sessions.
|
||||||
|
+if {[use_gdb_stub]} {
|
||||||
|
+ untested "skipping test because of stub"
|
||||||
|
+ return 0
|
||||||
|
+}
|
||||||
|
+
|
||||||
+if $tracelevel then {
|
+if $tracelevel then {
|
||||||
+ strace $tracelevel
|
+ strace $tracelevel
|
||||||
+}
|
+}
|
||||||
|
@ -133,7 +133,7 @@ diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
|
|||||||
+See the pkg-config man page for more details.])
|
+See the pkg-config man page for more details.])
|
||||||
+
|
+
|
||||||
+if test $pkg_failed = yes; then
|
+if test $pkg_failed = yes; then
|
||||||
+ AC_MSG_RESULT([no])
|
+ AC_MSG_RESULT([no])
|
||||||
+ _PKG_SHORT_ERRORS_SUPPORTED
|
+ _PKG_SHORT_ERRORS_SUPPORTED
|
||||||
+ if test $_pkg_short_errors_supported = yes; then
|
+ if test $_pkg_short_errors_supported = yes; then
|
||||||
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
|
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
|
||||||
@ -154,7 +154,7 @@ diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
|
|||||||
+_PKG_TEXT])[]dnl
|
+_PKG_TEXT])[]dnl
|
||||||
+ ])
|
+ ])
|
||||||
+elif test $pkg_failed = untried; then
|
+elif test $pkg_failed = untried; then
|
||||||
+ AC_MSG_RESULT([no])
|
+ AC_MSG_RESULT([no])
|
||||||
+ m4_default([$4], [AC_MSG_FAILURE(
|
+ m4_default([$4], [AC_MSG_FAILURE(
|
||||||
+[The pkg-config script could not be found or is too old. Make sure it
|
+[The pkg-config script could not be found or is too old. Make sure it
|
||||||
+is in your PATH or set the PKG_CONFIG environment variable to the full
|
+is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||||
@ -336,7 +336,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
|
|||||||
+
|
+
|
||||||
+ /* Already failed the initialization before? */
|
+ /* Already failed the initialization before? */
|
||||||
+ if (init_tried)
|
+ if (init_tried)
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+ init_tried = 1;
|
+ init_tried = 1;
|
||||||
+
|
+
|
||||||
+#ifdef DLOPEN_LIBRPM
|
+#ifdef DLOPEN_LIBRPM
|
||||||
@ -1148,7 +1148,7 @@ diff --git a/gdb/configure b/gdb/configure
|
|||||||
+
|
+
|
||||||
+
|
+
|
||||||
+if test $pkg_failed = yes; then
|
+if test $pkg_failed = yes; then
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
+$as_echo "no" >&6; }
|
+$as_echo "no" >&6; }
|
||||||
+
|
+
|
||||||
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||||
@ -1166,7 +1166,7 @@ diff --git a/gdb/configure b/gdb/configure
|
|||||||
+
|
+
|
||||||
+ HAVE_LIBRPM=false
|
+ HAVE_LIBRPM=false
|
||||||
+elif test $pkg_failed = untried; then
|
+elif test $pkg_failed = untried; then
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
+$as_echo "no" >&6; }
|
+$as_echo "no" >&6; }
|
||||||
+ HAVE_LIBRPM=false
|
+ HAVE_LIBRPM=false
|
||||||
+else
|
+else
|
||||||
|
@ -540,18 +540,18 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
|
|||||||
+ /* There can be multiple build-id symlinks pointing to real files
|
+ /* There can be multiple build-id symlinks pointing to real files
|
||||||
+ with the same build-id (such as hard links). Some of the real
|
+ with the same build-id (such as hard links). Some of the real
|
||||||
+ files may not be installed. */
|
+ files may not be installed. */
|
||||||
|
+
|
||||||
|
+ string_appendf (link, ".%u", seqno);
|
||||||
|
+ }
|
||||||
|
|
||||||
- /* We expect to be silent on the non-existing files. */
|
- /* We expect to be silent on the non-existing files. */
|
||||||
- gdb_bfd_ref_ptr debug_bfd = gdb_bfd_open (filename.get (), gnutarget);
|
- gdb_bfd_ref_ptr debug_bfd = gdb_bfd_open (filename.get (), gnutarget);
|
||||||
+ string_appendf (link, ".%u", seqno);
|
+ ret_link = link;
|
||||||
+ }
|
|
||||||
|
|
||||||
- if (debug_bfd == NULL)
|
- if (debug_bfd == NULL)
|
||||||
- {
|
- {
|
||||||
- if (separate_debug_file_debug)
|
- if (separate_debug_file_debug)
|
||||||
- printf_unfiltered (_(" no, unable to open.\n"));
|
- printf_unfiltered (_(" no, unable to open.\n"));
|
||||||
+ ret_link = link;
|
|
||||||
+
|
|
||||||
+ struct stat statbuf_trash;
|
+ struct stat statbuf_trash;
|
||||||
+
|
+
|
||||||
+ /* `access' automatically dereferences LINK. */
|
+ /* `access' automatically dereferences LINK. */
|
||||||
@ -574,11 +574,11 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
|
|||||||
+
|
+
|
||||||
+ continue;
|
+ continue;
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
- return {};
|
|
||||||
+ /* We expect to be silent on the non-existing files. */
|
+ /* We expect to be silent on the non-existing files. */
|
||||||
+ gdb_bfd_ref_ptr debug_bfd = gdb_bfd_open (filename.get (), gnutarget, -1);
|
+ gdb_bfd_ref_ptr debug_bfd = gdb_bfd_open (filename.get (), gnutarget, -1);
|
||||||
+
|
|
||||||
|
- return {};
|
||||||
+ if (debug_bfd == NULL)
|
+ if (debug_bfd == NULL)
|
||||||
+ {
|
+ {
|
||||||
+ if (separate_debug_file_debug)
|
+ if (separate_debug_file_debug)
|
||||||
@ -1361,6 +1361,19 @@ diff --git a/gdb/testsuite/gdb.base/corefile.exp b/gdb/testsuite/gdb.base/corefi
|
|||||||
+ gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*"
|
+ gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*"
|
||||||
+ pass $wholetest
|
+ pass $wholetest
|
||||||
+}
|
+}
|
||||||
|
diff --git a/gdb/testsuite/gdb.base/gdbinit-history.exp b/gdb/testsuite/gdb.base/gdbinit-history.exp
|
||||||
|
--- a/gdb/testsuite/gdb.base/gdbinit-history.exp
|
||||||
|
+++ b/gdb/testsuite/gdb.base/gdbinit-history.exp
|
||||||
|
@@ -181,7 +181,8 @@ proc test_empty_history_filename { } {
|
||||||
|
global env
|
||||||
|
global gdb_prompt
|
||||||
|
|
||||||
|
- set common_history [list "set height 0" "set width 0"]
|
||||||
|
+ set common_history [list "set height 0" "set width 0" \
|
||||||
|
+ "set build-id-verbose 0"]
|
||||||
|
|
||||||
|
set test_dir [standard_output_file history_test]
|
||||||
|
remote_exec host "mkdir -p $test_dir"
|
||||||
diff --git a/gdb/testsuite/gdb.base/new-ui-pending-input.exp b/gdb/testsuite/gdb.base/new-ui-pending-input.exp
|
diff --git a/gdb/testsuite/gdb.base/new-ui-pending-input.exp b/gdb/testsuite/gdb.base/new-ui-pending-input.exp
|
||||||
--- a/gdb/testsuite/gdb.base/new-ui-pending-input.exp
|
--- a/gdb/testsuite/gdb.base/new-ui-pending-input.exp
|
||||||
+++ b/gdb/testsuite/gdb.base/new-ui-pending-input.exp
|
+++ b/gdb/testsuite/gdb.base/new-ui-pending-input.exp
|
||||||
|
@ -175,7 +175,7 @@ diff --git a/gdb/testsuite/gdb.threads/threaded-exec.exp b/gdb/testsuite/gdb.thr
|
|||||||
+gdb_load ${binfile_nothreads}
|
+gdb_load ${binfile_nothreads}
|
||||||
|
|
||||||
-gdb_run_cmd
|
-gdb_run_cmd
|
||||||
+gdb_run_cmd ${binfile_nothreads} ${binfile_threads} 0
|
+gdb_run_cmd [list ${binfile_nothreads} ${binfile_threads} 0]
|
||||||
|
|
||||||
gdb_test_multiple {} "Program exited" {
|
gdb_test_multiple {} "Program exited" {
|
||||||
-re "\r\n\\\[Inferior .* exited normally\\\]\r\n$gdb_prompt $" {
|
-re "\r\n\\\[Inferior .* exited normally\\\]\r\n$gdb_prompt $" {
|
||||||
|
@ -1531,7 +1531,7 @@ diff --git a/gdb/testsuite/gdb.cp/gdb9593.cc b/gdb/testsuite/gdb.cp/gdb9593.cc
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.cp/gdb9593.cc
|
+++ b/gdb/testsuite/gdb.cp/gdb9593.cc
|
||||||
@@ -0,0 +1,180 @@
|
@@ -0,0 +1,179 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
+ Copyright 2008, 2009 Free Software Foundation, Inc.
|
+ Copyright 2008, 2009 Free Software Foundation, Inc.
|
||||||
@ -1711,12 +1711,11 @@ new file mode 100644
|
|||||||
+ {
|
+ {
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
diff --git a/gdb/testsuite/gdb.cp/gdb9593.exp b/gdb/testsuite/gdb.cp/gdb9593.exp
|
diff --git a/gdb/testsuite/gdb.cp/gdb9593.exp b/gdb/testsuite/gdb.cp/gdb9593.exp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.cp/gdb9593.exp
|
+++ b/gdb/testsuite/gdb.cp/gdb9593.exp
|
||||||
@@ -0,0 +1,182 @@
|
@@ -0,0 +1,189 @@
|
||||||
+# Copyright 2008, 2009 Free Software Foundation, Inc.
|
+# Copyright 2008, 2009 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -1860,9 +1859,16 @@ new file mode 100644
|
|||||||
+ ".*function1 ().*" \
|
+ ".*function1 ().*" \
|
||||||
+ "step into finish, for until"
|
+ "step into finish, for until"
|
||||||
+
|
+
|
||||||
+gdb_test "until" \
|
+gdb_test_multiple "until" "until with no argument 1" {
|
||||||
+ ".*function1 ().*" \
|
+ -re -wrap ".*function1 ().*" {
|
||||||
+ "until with no argument 1"
|
+ pass $gdb_test_name
|
||||||
|
+ }
|
||||||
|
+ -re -wrap ".*$hex\t80\t \}" {
|
||||||
|
+ # PR gcc/97774 - "Incorrect line info for try/catch"
|
||||||
|
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97774
|
||||||
|
+ xfail $gdb_test_name
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
+
|
+
|
||||||
+set line [gdb_get_line_number "marker for until" $testfile.cc]
|
+set line [gdb_get_line_number "marker for until" $testfile.cc]
|
||||||
+
|
+
|
||||||
@ -2272,7 +2278,7 @@ diff --git a/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp b/gdb/testsuite/gdb.dwarf
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
|
+++ b/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
|
||||||
@@ -0,0 +1,79 @@
|
@@ -0,0 +1,84 @@
|
||||||
+# Copyright 2006 Free Software Foundation, Inc.
|
+# Copyright 2006 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -2302,6 +2308,11 @@ new file mode 100644
|
|||||||
+ return 0
|
+ return 0
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
|
+if {[use_gdb_stub]} {
|
||||||
|
+ untested "skipping test because of use_gdb_stub"
|
||||||
|
+ return -1
|
||||||
|
+}
|
||||||
|
+
|
||||||
+set testfile "dw2-stripped"
|
+set testfile "dw2-stripped"
|
||||||
+set srcfile ${testfile}.c
|
+set srcfile ${testfile}.c
|
||||||
+set binfile [standard_output_file ${testfile}.x]
|
+set binfile [standard_output_file ${testfile}.x]
|
||||||
@ -3429,7 +3440,7 @@ diff --git a/gdb/testsuite/gdb.opt/fortran-string.exp b/gdb/testsuite/gdb.opt/fo
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.opt/fortran-string.exp
|
+++ b/gdb/testsuite/gdb.opt/fortran-string.exp
|
||||||
@@ -0,0 +1,39 @@
|
@@ -0,0 +1,46 @@
|
||||||
+# Copyright 2009 Free Software Foundation, Inc.
|
+# Copyright 2009 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -3466,14 +3477,21 @@ new file mode 100644
|
|||||||
+ continue
|
+ continue
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+gdb_test "frame" ".*s='foo'.*"
|
+gdb_test "info args" ".*s = 'foo'.*"
|
||||||
+gdb_test "ptype s" "type = character\\*3"
|
+gdb_test_multiple "ptype s" "" {
|
||||||
|
+ -re -wrap "type = character \\(3\\)" {
|
||||||
|
+ pass $gdb_test_name
|
||||||
|
+ }
|
||||||
|
+ -re -wrap "type = character\\*3" {
|
||||||
|
+ pass $gdb_test_name
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
+gdb_test "p s" "\\$\[0-9\]* = 'foo'"
|
+gdb_test "p s" "\\$\[0-9\]* = 'foo'"
|
||||||
diff --git a/gdb/testsuite/gdb.opt/fortran-string.f90 b/gdb/testsuite/gdb.opt/fortran-string.f90
|
diff --git a/gdb/testsuite/gdb.opt/fortran-string.f90 b/gdb/testsuite/gdb.opt/fortran-string.f90
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.opt/fortran-string.f90
|
+++ b/gdb/testsuite/gdb.opt/fortran-string.f90
|
||||||
@@ -0,0 +1,28 @@
|
@@ -0,0 +1,29 @@
|
||||||
+! Copyright 2009 Free Software Foundation, Inc.
|
+! Copyright 2009 Free Software Foundation, Inc.
|
||||||
+!
|
+!
|
||||||
+! This program is free software; you can redistribute it and/or modify
|
+! This program is free software; you can redistribute it and/or modify
|
||||||
@ -3497,6 +3515,7 @@ new file mode 100644
|
|||||||
+ subroutine f(s)
|
+ subroutine f(s)
|
||||||
+ character*(*) s
|
+ character*(*) s
|
||||||
+ s = s
|
+ s = s
|
||||||
|
+ print *, s
|
||||||
+ end
|
+ end
|
||||||
+
|
+
|
||||||
+ program main
|
+ program main
|
||||||
@ -3506,7 +3525,7 @@ diff --git a/gdb/testsuite/gdb.pascal/arrays.exp b/gdb/testsuite/gdb.pascal/arra
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.pascal/arrays.exp
|
+++ b/gdb/testsuite/gdb.pascal/arrays.exp
|
||||||
@@ -0,0 +1,104 @@
|
@@ -0,0 +1,107 @@
|
||||||
+# Copyright 2008, 2009 Free Software Foundation, Inc.
|
+# Copyright 2008, 2009 Free Software Foundation, Inc.
|
||||||
+#
|
+#
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -3598,11 +3617,15 @@ new file mode 100644
|
|||||||
+
|
+
|
||||||
+if { $fpc_generates_dwarf_for_dynamic_arrays == 0} {
|
+if { $fpc_generates_dwarf_for_dynamic_arrays == 0} {
|
||||||
+ setup_xfail "*-*-*"
|
+ setup_xfail "*-*-*"
|
||||||
|
+} else {
|
||||||
|
+ setup_kfail "*-*-*" pascal/26106
|
||||||
+}
|
+}
|
||||||
+gdb_test "print DynArrStr" ".* = \\{'dstr0', 'dstr1', 'dstr2', 'dstr3', 'dstr4', 'dstr5', 'dstr6', 'dstr7', 'dstr8', 'dstr9', 'dstr10', 'dstr11', 'dstr12'\\}" "Print dynamic array of string"
|
+gdb_test "print DynArrStr" ".* = \\{'dstr0', 'dstr1', 'dstr2', 'dstr3', 'dstr4', 'dstr5', 'dstr6', 'dstr7', 'dstr8', 'dstr9', 'dstr10', 'dstr11', 'dstr12'\\}" "Print dynamic array of string"
|
||||||
+
|
+
|
||||||
+if { $fpc_generates_dwarf_for_dynamic_arrays == 0} {
|
+if { $fpc_generates_dwarf_for_dynamic_arrays == 0} {
|
||||||
+ setup_xfail "*-*-*"
|
+ setup_xfail "*-*-*"
|
||||||
|
+} else {
|
||||||
|
+ setup_kfail "*-*-*" pascal/26855
|
||||||
+}
|
+}
|
||||||
+gdb_test "print StatArrStr" ".* = \\{'str0', 'str1', 'str2', 'str3', 'str4', 'str5', 'str6', 'str7', 'str8', 'str9', 'str10', 'str11', 'str12'\\}" "Print static array of string"
|
+gdb_test "print StatArrStr" ".* = \\{'str0', 'str1', 'str2', 'str3', 'str4', 'str5', 'str6', 'str7', 'str8', 'str9', 'str10', 'str11', 'str12'\\}" "Print static array of string"
|
||||||
+
|
+
|
||||||
@ -3610,7 +3633,6 @@ new file mode 100644
|
|||||||
+ setup_xfail "*-*-*"
|
+ setup_xfail "*-*-*"
|
||||||
+}
|
+}
|
||||||
+gdb_test "print DynArrChar" ".* = 'abcdefghijklm'" "Print dynamic array of char"
|
+gdb_test "print DynArrChar" ".* = 'abcdefghijklm'" "Print dynamic array of char"
|
||||||
+
|
|
||||||
diff --git a/gdb/testsuite/gdb.pascal/arrays.pas b/gdb/testsuite/gdb.pascal/arrays.pas
|
diff --git a/gdb/testsuite/gdb.pascal/arrays.pas b/gdb/testsuite/gdb.pascal/arrays.pas
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
|
@ -43,3 +43,30 @@ diff --git a/gdb/python/py-framefilter.c b/gdb/python/py-framefilter.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
return success;
|
return success;
|
||||||
|
diff --git a/gdb/testsuite/gdb.python/py-framefilter.exp b/gdb/testsuite/gdb.python/py-framefilter.exp
|
||||||
|
--- a/gdb/testsuite/gdb.python/py-framefilter.exp
|
||||||
|
+++ b/gdb/testsuite/gdb.python/py-framefilter.exp
|
||||||
|
@@ -277,9 +277,20 @@ gdb_test_multiple "bt 1" $test {
|
||||||
|
# Now verify that we can see a quit.
|
||||||
|
gdb_test_no_output "python name_error = KeyboardInterrupt" \
|
||||||
|
"Change ErrorFilter to throw KeyboardInterrupt"
|
||||||
|
-gdb_test "bt 1" "Quit" "bt 1 with KeyboardInterrupt"
|
||||||
|
-
|
||||||
|
-
|
||||||
|
+set re1 [multi_line \
|
||||||
|
+ "Python Exception <class 'KeyboardInterrupt'> whoops: " \
|
||||||
|
+ "\\(More stack frames follow\.\.\.\\)"]
|
||||||
|
+set re2 [multi_line \
|
||||||
|
+ "Python Exception <type 'exceptions.KeyboardInterrupt'> whoops: " \
|
||||||
|
+ "\\(More stack frames follow\.\.\.\\)"]
|
||||||
|
+gdb_test_multiple "bt 1" "" {
|
||||||
|
+ -re -wrap $re1 {
|
||||||
|
+ pass $gdb_test_name
|
||||||
|
+ }
|
||||||
|
+ -re -wrap $re2 {
|
||||||
|
+ pass $gdb_test_name
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
# Test with no debuginfo
|
||||||
|
|
||||||
|
# We cannot use prepare_for_testing as we have to set the safe-patch
|
||||||
|
@ -38,4 +38,4 @@ new file mode 100644
|
|||||||
+# Skip all tests if Python scripting is not enabled.
|
+# Skip all tests if Python scripting is not enabled.
|
||||||
+if { [skip_python_tests] } { continue }
|
+if { [skip_python_tests] } { continue }
|
||||||
+
|
+
|
||||||
+gdb_test "python print gdb.solib_name(-1)" "None" "gdb.solib_name exists"
|
+gdb_test "python print (gdb.solib_name(-1))" "None" "gdb.solib_name exists"
|
||||||
|
@ -159,7 +159,7 @@ diff --git a/gdb/python/lib/gdb/backtrace.py b/gdb/python/lib/gdb/backtrace.py
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/python/lib/gdb/backtrace.py
|
+++ b/gdb/python/lib/gdb/backtrace.py
|
||||||
@@ -0,0 +1,42 @@
|
@@ -0,0 +1,41 @@
|
||||||
+# Filtering backtrace.
|
+# Filtering backtrace.
|
||||||
+
|
+
|
||||||
+# Copyright (C) 2008, 2011 Free Software Foundation, Inc.
|
+# Copyright (C) 2008, 2011 Free Software Foundation, Inc.
|
||||||
@ -201,12 +201,11 @@ new file mode 100644
|
|||||||
+ if old_frame_filter is None:
|
+ if old_frame_filter is None:
|
||||||
+ return iter
|
+ return iter
|
||||||
+ return old_frame_filter (iter)
|
+ return old_frame_filter (iter)
|
||||||
+
|
|
||||||
diff --git a/gdb/python/lib/gdb/command/backtrace.py b/gdb/python/lib/gdb/command/backtrace.py
|
diff --git a/gdb/python/lib/gdb/command/backtrace.py b/gdb/python/lib/gdb/command/backtrace.py
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/python/lib/gdb/command/backtrace.py
|
+++ b/gdb/python/lib/gdb/command/backtrace.py
|
||||||
@@ -0,0 +1,106 @@
|
@@ -0,0 +1,112 @@
|
||||||
+# New backtrace command.
|
+# New backtrace command.
|
||||||
+
|
+
|
||||||
+# Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
|
+# Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
|
||||||
@ -290,13 +289,19 @@ new file mode 100644
|
|||||||
+ # FIXME: provide option to start at selected frame
|
+ # FIXME: provide option to start at selected frame
|
||||||
+ # However, should still number as if starting from newest
|
+ # However, should still number as if starting from newest
|
||||||
+ newest_frame = gdb.newest_frame()
|
+ newest_frame = gdb.newest_frame()
|
||||||
+ iter = itertools.imap (FrameWrapper,
|
+ if sys.version_info.major >= 3:
|
||||||
+ FrameIterator (newest_frame))
|
+ iter = map (FrameWrapper, FrameIterator (newest_frame))
|
||||||
|
+ else:
|
||||||
|
+ iter = itertools.imap (FrameWrapper,
|
||||||
|
+ FrameIterator (newest_frame))
|
||||||
+ if filter:
|
+ if filter:
|
||||||
+ iter = gdb.backtrace.create_frame_filter (iter)
|
+ iter = gdb.backtrace.create_frame_filter (iter)
|
||||||
+
|
+
|
||||||
+ # Now wrap in an iterator that numbers the frames.
|
+ # Now wrap in an iterator that numbers the frames.
|
||||||
+ iter = itertools.izip (itertools.count (0), iter)
|
+ if sys.version_info.major >= 3:
|
||||||
|
+ iter = zip (itertools.count (0), iter)
|
||||||
|
+ else:
|
||||||
|
+ iter = itertools.izip (itertools.count (0), iter)
|
||||||
+
|
+
|
||||||
+ # Reverse if the user wanted that.
|
+ # Reverse if the user wanted that.
|
||||||
+ if self.reverse.value:
|
+ if self.reverse.value:
|
||||||
@ -313,3 +318,17 @@ new file mode 100644
|
|||||||
+ pair[1].describe (sys.stdout, full)
|
+ pair[1].describe (sys.stdout, full)
|
||||||
+
|
+
|
||||||
+FilteringBacktrace()
|
+FilteringBacktrace()
|
||||||
|
diff --git a/gdb/testsuite/gdb.base/help.exp b/gdb/testsuite/gdb.base/help.exp
|
||||||
|
--- a/gdb/testsuite/gdb.base/help.exp
|
||||||
|
+++ b/gdb/testsuite/gdb.base/help.exp
|
||||||
|
@@ -129,7 +129,9 @@ gdb_test "apropos apropos" "apropos -- Search for commands matching a REGEXP.*"
|
||||||
|
|
||||||
|
# Test apropos for commands having aliases.
|
||||||
|
gdb_test "apropos Print backtrace of all stack frames, or innermost COUNT frames\." \
|
||||||
|
- "backtrace, where, bt -- Print backtrace of all stack frames, or innermost COUNT frames\."
|
||||||
|
+ [multi_line \
|
||||||
|
+ "backtrace, where, bt -- Print backtrace of all stack frames, or innermost COUNT frames\." \
|
||||||
|
+ "new-backtrace -- Print backtrace of all stack frames, or innermost COUNT frames\."]
|
||||||
|
|
||||||
|
# Test help for commands having aliases.
|
||||||
|
gdb_test "help bt" "backtrace, where, bt\[\r\n\]+Print backtrace of all stack frames, or innermost COUNT frames\..*"
|
||||||
|
@ -10,7 +10,7 @@ diff --git a/gdb/testsuite/gdb.base/gnu-ifunc-strstr-workaround.exp b/gdb/testsu
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/gnu-ifunc-strstr-workaround.exp
|
+++ b/gdb/testsuite/gdb.base/gnu-ifunc-strstr-workaround.exp
|
||||||
@@ -0,0 +1,115 @@
|
@@ -0,0 +1,119 @@
|
||||||
+# Copyright (C) 2012 Free Software Foundation, Inc.
|
+# Copyright (C) 2012 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -56,6 +56,10 @@ new file mode 100644
|
|||||||
+ untested "$test (no DWARF)"
|
+ untested "$test (no DWARF)"
|
||||||
+ return 0
|
+ return 0
|
||||||
+ }
|
+ }
|
||||||
|
+ -re "type = <unknown return type> \\(\\)\r\n$gdb_prompt $" {
|
||||||
|
+ untested "$test (no DWARF)"
|
||||||
|
+ return 0
|
||||||
|
+ }
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+set addr ""
|
+set addr ""
|
||||||
@ -124,5 +128,5 @@ new file mode 100644
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+gdb_test {print strstr("abc","b")} { = 0x[0-9a-f]+ "bc"}
|
+gdb_test {print (char *)strstr("abc","b")} { = 0x[0-9a-f]+ "bc"}
|
||||||
+gdb_test {print strstr("def","e")} { = 0x[0-9a-f]+ "ef"}
|
+gdb_test {print (char *)strstr("def","e")} { = 0x[0-9a-f]+ "ef"}
|
||||||
|
@ -150,7 +150,7 @@ diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
|
|||||||
diff --git a/gdb/testsuite/gdb.threads/attach-stopped.exp b/gdb/testsuite/gdb.threads/attach-stopped.exp
|
diff --git a/gdb/testsuite/gdb.threads/attach-stopped.exp b/gdb/testsuite/gdb.threads/attach-stopped.exp
|
||||||
--- a/gdb/testsuite/gdb.threads/attach-stopped.exp
|
--- a/gdb/testsuite/gdb.threads/attach-stopped.exp
|
||||||
+++ b/gdb/testsuite/gdb.threads/attach-stopped.exp
|
+++ b/gdb/testsuite/gdb.threads/attach-stopped.exp
|
||||||
@@ -56,7 +56,65 @@ proc corefunc { threadtype } {
|
@@ -56,7 +56,73 @@ proc corefunc { threadtype } {
|
||||||
gdb_reinitialize_dir $srcdir/$subdir
|
gdb_reinitialize_dir $srcdir/$subdir
|
||||||
gdb_load ${binfile}
|
gdb_load ${binfile}
|
||||||
|
|
||||||
@ -162,10 +162,10 @@ diff --git a/gdb/testsuite/gdb.threads/attach-stopped.exp b/gdb/testsuite/gdb.th
|
|||||||
+ set test "$threadtype: set file, before attach1 to stopped process"
|
+ set test "$threadtype: set file, before attach1 to stopped process"
|
||||||
+ gdb_test_multiple "file $binfile" "$test" {
|
+ gdb_test_multiple "file $binfile" "$test" {
|
||||||
+ -re "Load new symbol table from.*y or n. $" {
|
+ -re "Load new symbol table from.*y or n. $" {
|
||||||
+ gdb_test "y" "Reading symbols from $escapedbinfile\.\.\.*done." \
|
+ gdb_test "y" "Reading symbols from $escapedbinfile\.\.\.*" \
|
||||||
+ "$test (re-read)"
|
+ "$test (re-read)"
|
||||||
+ }
|
+ }
|
||||||
+ -re "Reading symbols from $escapedbinfile\.\.\.*done.*$gdb_prompt $" {
|
+ -re "Reading symbols from $escapedbinfile\.\.\.*$gdb_prompt $" {
|
||||||
+ pass "$test"
|
+ pass "$test"
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
@ -192,15 +192,23 @@ diff --git a/gdb/testsuite/gdb.threads/attach-stopped.exp b/gdb/testsuite/gdb.th
|
|||||||
+ sleep 2
|
+ sleep 2
|
||||||
+
|
+
|
||||||
+ if [catch {open /proc/${testpid}/status r} fileid] {
|
+ if [catch {open /proc/${testpid}/status r} fileid] {
|
||||||
+ set line2 "NOTFOUND"
|
+ set line "NOTFOUND"
|
||||||
+ } else {
|
+ } else {
|
||||||
+ gets $fileid line1;
|
+ while { 1 } {
|
||||||
+ gets $fileid line2;
|
+ if { [gets $fileid line] < 0 } {
|
||||||
|
+ set line "EOF"
|
||||||
|
+ break
|
||||||
|
+ }
|
||||||
|
+ if {[string match "State:*" $line]} {
|
||||||
|
+ break
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
+ close $fileid;
|
+ close $fileid;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ set test "$threadtype: attach1, exit leaves process stopped"
|
+ set test "$threadtype: attach1, exit leaves process stopped"
|
||||||
+ if {[string match "*(stopped)*" $line2]} {
|
+ verbose -log "line: $line"
|
||||||
|
+ if {[string match "*(stopped)*" $line]} {
|
||||||
+ pass $test
|
+ pass $test
|
||||||
+ } else {
|
+ } else {
|
||||||
+ fail $test
|
+ fail $test
|
||||||
|
@ -12,7 +12,7 @@ diff --git a/gdb/testsuite/gdb.cp/pr11734-1.cc b/gdb/testsuite/gdb.cp/pr11734-1.
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.cp/pr11734-1.cc
|
+++ b/gdb/testsuite/gdb.cp/pr11734-1.cc
|
||||||
@@ -0,0 +1,30 @@
|
@@ -0,0 +1,29 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
+ Copyright 2010 Free Software Foundation, Inc.
|
+ Copyright 2010 Free Software Foundation, Inc.
|
||||||
@ -42,12 +42,11 @@ new file mode 100644
|
|||||||
+ p->foo ();
|
+ p->foo ();
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
diff --git a/gdb/testsuite/gdb.cp/pr11734-2.cc b/gdb/testsuite/gdb.cp/pr11734-2.cc
|
diff --git a/gdb/testsuite/gdb.cp/pr11734-2.cc b/gdb/testsuite/gdb.cp/pr11734-2.cc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.cp/pr11734-2.cc
|
+++ b/gdb/testsuite/gdb.cp/pr11734-2.cc
|
||||||
@@ -0,0 +1,27 @@
|
@@ -0,0 +1,26 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
+ Copyright 2010 Free Software Foundation, Inc.
|
+ Copyright 2010 Free Software Foundation, Inc.
|
||||||
@ -74,12 +73,11 @@ new file mode 100644
|
|||||||
+pr11734::foo(void)
|
+pr11734::foo(void)
|
||||||
+{
|
+{
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
diff --git a/gdb/testsuite/gdb.cp/pr11734-3.cc b/gdb/testsuite/gdb.cp/pr11734-3.cc
|
diff --git a/gdb/testsuite/gdb.cp/pr11734-3.cc b/gdb/testsuite/gdb.cp/pr11734-3.cc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.cp/pr11734-3.cc
|
+++ b/gdb/testsuite/gdb.cp/pr11734-3.cc
|
||||||
@@ -0,0 +1,27 @@
|
@@ -0,0 +1,26 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
+ Copyright 2010 Free Software Foundation, Inc.
|
+ Copyright 2010 Free Software Foundation, Inc.
|
||||||
@ -106,12 +104,11 @@ new file mode 100644
|
|||||||
+pr11734::foo (int a)
|
+pr11734::foo (int a)
|
||||||
+{
|
+{
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
diff --git a/gdb/testsuite/gdb.cp/pr11734-4.cc b/gdb/testsuite/gdb.cp/pr11734-4.cc
|
diff --git a/gdb/testsuite/gdb.cp/pr11734-4.cc b/gdb/testsuite/gdb.cp/pr11734-4.cc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.cp/pr11734-4.cc
|
+++ b/gdb/testsuite/gdb.cp/pr11734-4.cc
|
||||||
@@ -0,0 +1,27 @@
|
@@ -0,0 +1,26 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
+ Copyright 2010 Free Software Foundation, Inc.
|
+ Copyright 2010 Free Software Foundation, Inc.
|
||||||
@ -138,7 +135,6 @@ new file mode 100644
|
|||||||
+pr11734::foo (char *a)
|
+pr11734::foo (char *a)
|
||||||
+{
|
+{
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
diff --git a/gdb/testsuite/gdb.cp/pr11734.exp b/gdb/testsuite/gdb.cp/pr11734.exp
|
diff --git a/gdb/testsuite/gdb.cp/pr11734.exp b/gdb/testsuite/gdb.cp/pr11734.exp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@ -203,7 +199,7 @@ diff --git a/gdb/testsuite/gdb.cp/pr11734.h b/gdb/testsuite/gdb.cp/pr11734.h
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.cp/pr11734.h
|
+++ b/gdb/testsuite/gdb.cp/pr11734.h
|
||||||
@@ -0,0 +1,28 @@
|
@@ -0,0 +1,27 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
+ Copyright 2010 Free Software Foundation, Inc.
|
+ Copyright 2010 Free Software Foundation, Inc.
|
||||||
@ -231,4 +227,3 @@ new file mode 100644
|
|||||||
+ void foo (int);
|
+ void foo (int);
|
||||||
+ void foo (char *);
|
+ void foo (char *);
|
||||||
+};
|
+};
|
||||||
+
|
|
||||||
|
@ -81,7 +81,7 @@ diff --git a/gdb/testsuite/gdb.base/gdb-rhbz1156192-recursive-dlopen.c b/gdb/tes
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/gdb-rhbz1156192-recursive-dlopen.c
|
+++ b/gdb/testsuite/gdb.base/gdb-rhbz1156192-recursive-dlopen.c
|
||||||
@@ -0,0 +1,124 @@
|
@@ -0,0 +1,125 @@
|
||||||
+/* Testcase for recursive dlopen calls.
|
+/* Testcase for recursive dlopen calls.
|
||||||
+
|
+
|
||||||
+ Copyright (C) 2014 Free Software Foundation, Inc.
|
+ Copyright (C) 2014 Free Software Foundation, Inc.
|
||||||
@ -178,6 +178,7 @@ new file mode 100644
|
|||||||
+ /* Called recursively. */
|
+ /* Called recursively. */
|
||||||
+ result = malloc (size);
|
+ result = malloc (size);
|
||||||
+ /* Restore new hooks. */
|
+ /* Restore new hooks. */
|
||||||
|
+ old_malloc_hook = __malloc_hook;
|
||||||
+ __malloc_hook = custom_malloc_hook;
|
+ __malloc_hook = custom_malloc_hook;
|
||||||
+ return result;
|
+ return result;
|
||||||
+}
|
+}
|
||||||
@ -210,7 +211,7 @@ diff --git a/gdb/testsuite/gdb.base/gdb-rhbz1156192-recursive-dlopen.exp b/gdb/t
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.base/gdb-rhbz1156192-recursive-dlopen.exp
|
+++ b/gdb/testsuite/gdb.base/gdb-rhbz1156192-recursive-dlopen.exp
|
||||||
@@ -0,0 +1,137 @@
|
@@ -0,0 +1,157 @@
|
||||||
+# Copyright 2014 Free Software Foundation, Inc.
|
+# Copyright 2014 Free Software Foundation, Inc.
|
||||||
+#
|
+#
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -226,8 +227,12 @@ new file mode 100644
|
|||||||
+# You should have received a copy of the GNU General Public License
|
+# You should have received a copy of the GNU General Public License
|
||||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
+
|
+
|
||||||
+if { [skip_shlib_tests] } {
|
+if {[skip_shlib_tests]} {
|
||||||
+ return 0
|
+ untested "skipping shlib tests"
|
||||||
|
+ return 0
|
||||||
|
+} elseif {[use_gdb_stub]} {
|
||||||
|
+ untested "skipping tests because of stub"
|
||||||
|
+ return 0
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+# Library foo
|
+# Library foo
|
||||||
@ -262,6 +267,21 @@ new file mode 100644
|
|||||||
+ return -1
|
+ return -1
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
|
+set supported 0
|
||||||
|
+gdb_test_multiple "run" "initial trial run" {
|
||||||
|
+ -re -wrap "exited normally.*" {
|
||||||
|
+ set supported 1
|
||||||
|
+ pass $gdb_test_name
|
||||||
|
+ }
|
||||||
|
+ -re -wrap "exited with code.*" {
|
||||||
|
+ untested "failed at $gdb_test_name"
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+if { $supported == 0 } {
|
||||||
|
+ return -1
|
||||||
|
+}
|
||||||
|
+
|
||||||
+proc do_test { has_libfoo has_libbar } {
|
+proc do_test { has_libfoo has_libbar } {
|
||||||
+ global hex binfile_lib2 binfile_lib1 gdb_prompt
|
+ global hex binfile_lib2 binfile_lib1 gdb_prompt
|
||||||
+ set libbar_match "[string_to_regexp $binfile_lib2]"
|
+ set libbar_match "[string_to_regexp $binfile_lib2]"
|
||||||
@ -314,6 +334,7 @@ new file mode 100644
|
|||||||
+ gdb_test_no_output "set stop-on-solib-events 1" "setting stop-on-solib-events"
|
+ gdb_test_no_output "set stop-on-solib-events 1" "setting stop-on-solib-events"
|
||||||
+
|
+
|
||||||
+ gdb_run_cmd
|
+ gdb_run_cmd
|
||||||
|
+ gdb_test "" "Wait for first prompt"
|
||||||
+ foreach l $solib_event_order {
|
+ foreach l $solib_event_order {
|
||||||
+ incr pass
|
+ incr pass
|
||||||
+ with_test_prefix "pass #$pass" {
|
+ with_test_prefix "pass #$pass" {
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -136,7 +136,7 @@ new file mode 100644
|
|||||||
+set testfile amd64-ivy-bridge
|
+set testfile amd64-ivy-bridge
|
||||||
+set test compilation
|
+set test compilation
|
||||||
+if [prepare_for_testing ${testfile}.exp ${testfile}.x ${testfile}.S [list debug "additional_flags=-m64 -nostdlib"]] {
|
+if [prepare_for_testing ${testfile}.exp ${testfile}.x ${testfile}.S [list debug "additional_flags=-m64 -nostdlib"]] {
|
||||||
+ fail $test
|
+ unsupported $test
|
||||||
+ return -1
|
+ return -1
|
||||||
+}
|
+}
|
||||||
+pass $test
|
+pass $test
|
||||||
@ -288,7 +288,7 @@ diff --git a/gdb/testsuite/gdb.arch/i386-ivy-bridge.S b/gdb/testsuite/gdb.arch/i
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gdb/testsuite/gdb.arch/i386-ivy-bridge.S
|
+++ b/gdb/testsuite/gdb.arch/i386-ivy-bridge.S
|
||||||
@@ -0,0 +1,67 @@
|
@@ -0,0 +1,66 @@
|
||||||
+/* Copyright 2011 Free Software Foundation, Inc.
|
+/* Copyright 2011 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+ This program is free software; you can redistribute it and/or modify
|
+ This program is free software; you can redistribute it and/or modify
|
||||||
@ -355,7 +355,6 @@ new file mode 100644
|
|||||||
+ rdgsbase ebx
|
+ rdgsbase ebx
|
||||||
+ wrfsbase ebx
|
+ wrfsbase ebx
|
||||||
+ wrgsbase ebx
|
+ wrgsbase ebx
|
||||||
+
|
|
||||||
diff --git a/gdb/testsuite/gdb.arch/i386-ivy-bridge.exp b/gdb/testsuite/gdb.arch/i386-ivy-bridge.exp
|
diff --git a/gdb/testsuite/gdb.arch/i386-ivy-bridge.exp b/gdb/testsuite/gdb.arch/i386-ivy-bridge.exp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
|
@ -34,6 +34,8 @@ test "$1" = "-h" && usage
|
|||||||
|
|
||||||
uncommit=0
|
uncommit=0
|
||||||
if [ "$1" = "-u" ]; then
|
if [ "$1" = "-u" ]; then
|
||||||
|
command -v stg > /dev/null 2>&1 \
|
||||||
|
|| die "Cannot find stg. Is stgit installed?"
|
||||||
uncommit=1
|
uncommit=1
|
||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
@ -46,7 +48,6 @@ fi
|
|||||||
|
|
||||||
test -f _git_upstream_commit || die "Cannot find _git_upstream_commit file."
|
test -f _git_upstream_commit || die "Cannot find _git_upstream_commit file."
|
||||||
test -f _patch_order || die "Cannot find _patch_order file."
|
test -f _patch_order || die "Cannot find _patch_order file."
|
||||||
command -v stg > /dev/null 2>&1 || die "Cannot find stg. Is stgit installed?"
|
|
||||||
|
|
||||||
last_ancestor_commit=`cat _git_upstream_commit`
|
last_ancestor_commit=`cat _git_upstream_commit`
|
||||||
|
|
||||||
|
65
process_psymtab_comp_unit-type-unit.patch
Normal file
65
process_psymtab_comp_unit-type-unit.patch
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
||||||
|
From: Keith Seitz <keiths@redhat.com>
|
||||||
|
Date: Tue, 23 Mar 2021 11:17:28 -0700
|
||||||
|
Subject: process_psymtab_comp_unit-type-unit.patch
|
||||||
|
|
||||||
|
;; Backport "Handle DW_TAG_type_unit in process_symtab_unit"
|
||||||
|
;; (Tom de Vries)
|
||||||
|
|
||||||
|
commit e77b0004dd114d6ddf3bb92b521b2854341f3f85
|
||||||
|
Author: Tom de Vries <tdevries@suse.de>
|
||||||
|
Date: Fri Feb 5 17:47:07 2021 +0100
|
||||||
|
|
||||||
|
[gdb/symtab] Handle DW_TAG_type_unit in process_psymtab_comp_unit
|
||||||
|
|
||||||
|
When running test-case gdb.cp/cpexprs-debug-types.exp with target board
|
||||||
|
unix/gdb:debug_flags=-gdwarf-5, I run into:
|
||||||
|
...
|
||||||
|
(gdb) file cpexprs-debug-types^M
|
||||||
|
Reading symbols from cpexprs-debug-types...^M
|
||||||
|
ERROR: Couldn't load cpexprs-debug-types into GDB (eof).
|
||||||
|
ERROR: Couldn't send delete breakpoints to GDB.
|
||||||
|
ERROR: GDB process no longer exists
|
||||||
|
GDB process exited with wait status 23054 exp9 0 0 CHILDKILLED SIGABRT SIGABRT
|
||||||
|
...
|
||||||
|
|
||||||
|
We're running into this abort in process_psymtab_comp_unit:
|
||||||
|
...
|
||||||
|
switch (reader.comp_unit_die->tag)
|
||||||
|
{
|
||||||
|
case DW_TAG_compile_unit:
|
||||||
|
this_cu->unit_type = DW_UT_compile;
|
||||||
|
break;
|
||||||
|
case DW_TAG_partial_unit:
|
||||||
|
this_cu->unit_type = DW_UT_partial;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
abort ();
|
||||||
|
}
|
||||||
|
...
|
||||||
|
because reader.comp_unit_die->tag == DW_TAG_type_unit.
|
||||||
|
|
||||||
|
Fix this by adding a DW_TAG_type_unit case.
|
||||||
|
|
||||||
|
Tested on x86_64-linux.
|
||||||
|
|
||||||
|
gdb/ChangeLog:
|
||||||
|
|
||||||
|
2021-02-05 Tom de Vries <tdevries@suse.de>
|
||||||
|
|
||||||
|
PR symtab/27333
|
||||||
|
* dwarf2/read.c (process_psymtab_comp_unit): Handle DW_TAG_type_unit.
|
||||||
|
|
||||||
|
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
|
||||||
|
--- a/gdb/dwarf2/read.c
|
||||||
|
+++ b/gdb/dwarf2/read.c
|
||||||
|
@@ -7715,6 +7715,9 @@ process_psymtab_comp_unit (dwarf2_per_cu_data *this_cu,
|
||||||
|
case DW_TAG_partial_unit:
|
||||||
|
this_cu->unit_type = DW_UT_partial;
|
||||||
|
break;
|
||||||
|
+ case DW_TAG_type_unit:
|
||||||
|
+ this_cu->unit_type = DW_UT_type;
|
||||||
|
+ break;
|
||||||
|
default:
|
||||||
|
abort ();
|
||||||
|
}
|
52
testing-custom-inputrc.patch
Normal file
52
testing-custom-inputrc.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
||||||
|
From: Keith Seitz <keiths@redhat.com>
|
||||||
|
Date: Tue, 23 Mar 2021 09:32:37 -0700
|
||||||
|
Subject: testing-custom-inputrc.patch
|
||||||
|
|
||||||
|
;; Backport "Disable bracketed paste mode in GDB tests"
|
||||||
|
;; (Tom Tromey)
|
||||||
|
|
||||||
|
commit 1af4c9c4209c3478224f18dfb79dc09567b96705
|
||||||
|
Author: Tom Tromey <tom@tromey.com>
|
||||||
|
Date: Sat Jan 23 08:52:45 2021 -0700
|
||||||
|
|
||||||
|
Disable bracketed paste mode in GDB tests
|
||||||
|
|
||||||
|
I have a patch to import GNU readline 8.1 into GDB. However, when
|
||||||
|
running the tests, there were a number of failures due to "bracketed
|
||||||
|
paste mode". This is a terminal feature that readline 8.1 enables by
|
||||||
|
default.
|
||||||
|
|
||||||
|
The simplest way to work around this was to always make a ".inputrc"
|
||||||
|
for GDB tests that will tell readline to disable brackted paste mode.
|
||||||
|
|
||||||
|
gdb/testsuite/ChangeLog
|
||||||
|
2021-01-23 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* lib/gdb.exp (default_gdb_init): Set INPUTRC to a cached file.
|
||||||
|
|
||||||
|
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
|
||||||
|
--- a/gdb/testsuite/lib/gdb.exp
|
||||||
|
+++ b/gdb/testsuite/lib/gdb.exp
|
||||||
|
@@ -5084,13 +5084,14 @@ proc default_gdb_init { test_file_name } {
|
||||||
|
setenv LC_CTYPE C
|
||||||
|
setenv LANG C
|
||||||
|
|
||||||
|
- # Don't let a .inputrc file or an existing setting of INPUTRC mess up
|
||||||
|
- # the test results. Even if /dev/null doesn't exist on the particular
|
||||||
|
- # platform, the readline library will use the default setting just by
|
||||||
|
- # failing to open the file. OTOH, opening /dev/null successfully will
|
||||||
|
- # also result in the default settings being used since nothing will be
|
||||||
|
- # read from this file.
|
||||||
|
- setenv INPUTRC "/dev/null"
|
||||||
|
+ # Don't let a .inputrc file or an existing setting of INPUTRC mess
|
||||||
|
+ # up the test results. Certain tests (style tests and TUI tests)
|
||||||
|
+ # want to set the terminal to a non-"dumb" value, and for those we
|
||||||
|
+ # want to disable bracketed paste mode. Versions of Readline
|
||||||
|
+ # before 8.0 will not understand this and will issue a warning.
|
||||||
|
+ # We tried using a $if to guard it, but Readline 8.1 had a bug in
|
||||||
|
+ # its version-comparison code that prevented this for working.
|
||||||
|
+ setenv INPUTRC [cached_file inputrc "set enable-bracketed-paste off"]
|
||||||
|
|
||||||
|
# This disables style output, which would interfere with many
|
||||||
|
# tests.
|
Loading…
Reference in New Issue
Block a user