diff --git a/SOURCES/gdb-rhbz1779246-comma-handling.patch b/SOURCES/gdb-rhbz1779246-comma-handling.patch
new file mode 100644
index 0000000..5e96be8
--- /dev/null
+++ b/SOURCES/gdb-rhbz1779246-comma-handling.patch
@@ -0,0 +1,145 @@
+;; Fix comma handling in paths.
+;; (Keith Seitz, RH BZ 1779246)
+
+*** gdb-7.6.1.orig/gdb/linespec.c 2020-05-06 17:02:38.202690042 -0400
+--- gdb-7.6.1/gdb/linespec.c 2020-05-07 16:22:23.959113669 -0400
+*************** canonicalize_linespec (struct linespec_s
+*** 1770,1776 ****
+--- 1770,1782 ----
+ buf = mem_fileopen ();
+ if (ls->source_filename)
+ {
++ int needs_quote = strchr (ls->source_filename, ',') != NULL;
++
++ if (needs_quote)
++ fputc_unfiltered ('\"', buf);
+ fputs_unfiltered (ls->source_filename, buf);
++ if (needs_quote)
++ fputc_unfiltered ('\"', buf);
+ need_colon = 1;
+ }
+
+*** gdb-7.6.1.orig/gdb/testsuite/gdb.linespec/commas.exp 1969-12-31 19:00:00.000000000 -0500
+--- gdb-7.6.1/gdb/testsuite/gdb.linespec/commas.exp 2020-05-07 15:20:35.398286038 -0400
+***************
+*** 0 ****
+--- 1,61 ----
++ # Copyright 2020 Free Software Foundation, Inc.
++
++ # This program is free software; you can redistribute it and/or modify
++ # it under the terms of the GNU General Public License as published by
++ # the Free Software Foundation; either version 3 of the License, or
++ # (at your option) any later version.
++ #
++ # This program is distributed in the hope that it will be useful,
++ # but WITHOUT ANY WARRANTY; without even the implied warranty of
++ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ # GNU General Public License for more details.
++ #
++ # You should have received a copy of the GNU General Public License
++ # along with this program. If not, see .
++
++ # Test the use of commas in filenames.
++ # One simple rule to keep in mind regarding commas in filenames:
++ # they MUST be quote-enclosed. Commas are used by dprintf to
++ # separate location, format string, and args. Linespec also uses
++ # commas to separate locations for ranged breakpoints.
++
++ set one foozle,barzle/one.cc
++ set two foozle,barzle/barzle,bazzle/onezle,twozle.cc
++ standard_testfile $one
++
++ if {[skip_cplus_tests]} {
++ unsupported commas.exp
++ return
++ }
++
++ if {[prepare_for_testing ${testfile}.exp $testfile [list $one $two] \
++ {debug nowarnings c++}]} {
++ return -1
++ }
++
++ # Turn off pending breakpoints to facilitate testing invalid linespecs.
++ gdb_test_no_output "set breakpoint pending off"
++
++ # The expected error message from GDB when an unquoted linespec
++ # is given which contains commas.
++ set unquoted_comma "Function \"[lindex [split $one ,] 0]\" not defined."
++
++ # Test that the default symtab is usable.
++ # We cannot runto main here -- that defeats the purpose of the test.
++ set first_line [gdb_get_line_number "break here" $one]
++ runto $first_line message
++
++ # Test directories with commas.
++ gdb_test "break $one:$first_line" $unquoted_comma \
++ "breakpoint at one:first_line"
++ runto "\"$one\":$first_line" message
++ gdb_test "list $one:0" $unquoted_comma
++ gdb_test "list \"$one\":0" "This testcase is part of GDB.*"
++
++ # Test filenames with commas.
++ set marker1 [gdb_get_line_number "marker 1" $two]
++ gdb_test "break $two:$marker1" $unquoted_comma \
++ "breakpoint at two:marker1"
++ runto "\"$two\":$marker1" message
++ gdb_test "list $two:0" $unquoted_comma
++ gdb_test "list \"$two\":0" "This testcase is part of GDB.*"
+*** gdb-7.6.1.orig/gdb/testsuite/gdb.linespec/foozle,barzle/one.cc 1969-12-31 19:00:00.000000000 -0500
+--- gdb-7.6.1/gdb/testsuite/gdb.linespec/foozle,barzle/one.cc 2020-05-07 13:23:52.293146501 -0400
+***************
+*** 0 ****
+--- 1,26 ----
++ /* This testcase is part of GDB, the GNU debugger.
++
++ Copyright 2020 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 3 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see . */
++
++ extern int onetwo (int);
++
++ int
++ main ()
++ {
++ int i = 1; // break here
++
++ return onetwo (++i);
++ }
+*** gdb-7.6.1.orig/gdb/testsuite/gdb.linespec/foozle,barzle/barzle,bazzle/onezle,twozle.cc 1969-12-31 19:00:00.000000000 -0500
+--- gdb-7.6.1/gdb/testsuite/gdb.linespec/foozle,barzle/barzle,bazzle/onezle,twozle.cc 2020-05-07 13:58:41.720152058 -0400
+***************
+*** 0 ****
+--- 1,22 ----
++ /* This testcase is part of GDB, the GNU debugger.
++
++ Copyright 2020 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 3 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see . */
++
++ int
++ onetwo (int i)
++ {
++ return i + 12; // marker 1
++ }
diff --git a/SOURCES/gdb-rhbz1815690-structop-filename.patch b/SOURCES/gdb-rhbz1815690-structop-filename.patch
new file mode 100644
index 0000000..54c7833
--- /dev/null
+++ b/SOURCES/gdb-rhbz1815690-structop-filename.patch
@@ -0,0 +1,735 @@
+;; Fix comma/struct member parser collision
+;; Tom Tromey and Leszek Swirski (RH BZ 18156900
+
+commit b2f83c08372136fe9fe7d1df2feb5566c8b883fb
+Author: Tom Tromey
+Date: Thu Mar 21 15:19:33 2013 +0000
+
+ PR exp/15109:
+ * c-exp.y (yylex): Rewrite to push all tokens onto the FIFO.
+ Handle FILENAME token.
+ gdb/testsuite
+ * gdb.cp/cpexprs.exp: Add test for FILENAME:: case.
+ * gdb.cp/misc.exp: Add test for FILENAME:: case.
+
+commit 805e1f190887b3b7dea3fd157d58bc25effcf688
+Author: Tom Tromey
+Date: Mon Nov 4 12:38:10 2013 -0700
+
+ fix PR c++/16117
+
+ This patch fixes PR c++/16117.
+
+ gdb has an extension so that users can use expressions like FILE::NAME
+ to choose a variable of the given name from the given file. The bug
+ is that this extension takes precedence over ordinary C++ expressions
+ of the same form. You might think this is merely hypothetical, but
+ now that C++ headers commonly do not use an extension, it is more
+ common.
+
+ This patch fixes the bug by making two related changes. First, it
+ changes gdb to prefer the ordinary C++ meaning of a symbol over the
+ extended meaning. Second, it arranges for single-quoting of the
+ symbol to indicate a preference for the extension.
+
+ Built and regtested on x86-64 Fedora 18.
+ New test case included.
+
+
+ 2013-11-15 Tom Tromey
+
+ PR c++/16117:
+ * c-exp.y (lex_one_token): Add "is_quoted_name" argument.
+ (classify_name): Likewise. Prefer a field of "this" over a
+ filename.
+ (classify_inner_name, yylex): Update.
+
+ 2013-11-15 Tom Tromey
+
+ * gdb.texinfo (Variables): Note gdb rules for ambiguous cases.
+ Add example.
+
+ 2013-11-15 Tom Tromey
+
+ * gdb.cp/includefile: New file.
+ * gdb.cp/filename.exp: New file.
+ * gdb.cp/filename.cc: New file.
+
+commit 59498c305e6f1db2a1ed8d44cb58f0d24ec092fe
+Author: Leszek Swirski
+Date: Thu Jan 25 16:20:47 2018 +0000
+
+ Do not classify C struct members as a filename
+
+ There is existing logic in C/C++ expression parsing to avoid classifying
+ names as a filename when they are a field on the this object. This
+ change extends this logic to also avoid classifying names after a
+ struct-op (-> or .) as a filename, which otherwise causes a syntax
+ error.
+
+ Thus, it is now possible in the file
+
+ #include