diff --git a/.gitignore b/.gitignore
index 2c2ddad..c1dd31d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
 /gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz
 /v2.0.tar.gz
-/gdb-8.3.50.20190319.tar.xz
+/gdb-8.3.50.20190321.tar.xz
diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include
index 07c7b93..02596be 100644
--- a/_gdb.spec.Patch.include
+++ b/_gdb.spec.Patch.include
@@ -466,7 +466,3 @@ Patch113: gdb-rhbz1553104-s390x-arch12-test.patch
 # Author: Sergio Durigan Junior.
 Patch114: gdb-rhbz795424-bitpos-arrayview.patch
 
-# Temporary patch to fix ARM build error.
-# https://kojipkgs.fedoraproject.org//work/tasks/9012/33639012/build.log
-Patch115: gdb-temporary-fix-arm-build-error.patch
-
diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include
index b65d5b4..afc8a74 100644
--- a/_gdb.spec.patch.include
+++ b/_gdb.spec.patch.include
@@ -112,4 +112,3 @@
 %patch112 -p1
 %patch113 -p1
 %patch114 -p1
-%patch115 -p1
diff --git a/_git_upstream_commit b/_git_upstream_commit
index 926106b..3a0215e 100644
--- a/_git_upstream_commit
+++ b/_git_upstream_commit
@@ -1 +1 @@
-4faa59bbb7ad8665b6eb7c93bdb726e412850811
+cc00a5d100973549bf5e4840937529633f4de1fa
diff --git a/_patch_order b/_patch_order
index 4f86a39..89f69fe 100644
--- a/_patch_order
+++ b/_patch_order
@@ -112,4 +112,3 @@ gdb-archer.patch
 gdb-vla-intel-fix-print-char-array.patch
 gdb-rhbz1553104-s390x-arch12-test.patch
 gdb-rhbz795424-bitpos-arrayview.patch
-gdb-temporary-fix-arm-build-error.patch
diff --git a/gdb-bz533176-fortran-omp-step.patch b/gdb-bz533176-fortran-omp-step.patch
index f4515f6..69b2552 100644
--- a/gdb-bz533176-fortran-omp-step.patch
+++ b/gdb-bz533176-fortran-omp-step.patch
@@ -30,7 +30,7 @@ debugging problem of GOMP outside of the scope of this Bug.
 diff --git a/gdb/infrun.c b/gdb/infrun.c
 --- a/gdb/infrun.c
 +++ b/gdb/infrun.c
-@@ -6503,6 +6503,16 @@ process_event_stop_test (struct execution_control_state *ecs)
+@@ -6492,6 +6492,16 @@ process_event_stop_test (struct execution_control_state *ecs)
  
        if (ecs->event_thread->control.step_over_calls == STEP_OVER_ALL)
  	{
@@ -47,7 +47,7 @@ diff --git a/gdb/infrun.c b/gdb/infrun.c
  	  /* We're doing a "next".
  
  	     Normal (forward) execution: set a breakpoint at the
-@@ -6536,6 +6546,7 @@ process_event_stop_test (struct execution_control_state *ecs)
+@@ -6525,6 +6535,7 @@ process_event_stop_test (struct execution_control_state *ecs)
  
  	  keep_going (ecs);
  	  return;
diff --git a/gdb-rhbz795424-bitpos-20of25.patch b/gdb-rhbz795424-bitpos-20of25.patch
index c8d0ed0..6f55e28 100644
--- a/gdb-rhbz795424-bitpos-20of25.patch
+++ b/gdb-rhbz795424-bitpos-20of25.patch
@@ -1145,7 +1145,7 @@ diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h
 diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c
 --- a/gdb/arm-linux-nat.c
 +++ b/gdb/arm-linux-nat.c
-@@ -1090,7 +1090,7 @@ arm_linux_nat_target::remove_hw_breakpoint (struct gdbarch *gdbarch,
+@@ -1092,7 +1092,7 @@ arm_linux_nat_target::remove_hw_breakpoint (struct gdbarch *gdbarch,
  /* Are we able to use a hardware watchpoint for the LEN bytes starting at 
     ADDR?  */
  int
diff --git a/gdb-rhbz795424-bitpos-22of25.patch b/gdb-rhbz795424-bitpos-22of25.patch
index a3d0355..c83f18c 100644
--- a/gdb-rhbz795424-bitpos-22of25.patch
+++ b/gdb-rhbz795424-bitpos-22of25.patch
@@ -154,7 +154,7 @@ diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c
  
    const struct target_desc *read_description () override;
  
-@@ -1197,7 +1197,7 @@ arm_linux_nat_target::stopped_by_watchpoint ()
+@@ -1199,7 +1199,7 @@ arm_linux_nat_target::stopped_by_watchpoint ()
  bool
  arm_linux_nat_target::watchpoint_addr_within_range (CORE_ADDR addr,
  						    CORE_ADDR start,
diff --git a/gdb-temporary-fix-arm-build-error.patch b/gdb-temporary-fix-arm-build-error.patch
deleted file mode 100644
index d802c69..0000000
--- a/gdb-temporary-fix-arm-build-error.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
-From: Alan Hayward <alan.hayward@arm.com>
-Date: Mon, 18 Mar 2019 16:13:12 +0000
-Subject: gdb-temporary-fix-arm-build-error.patch
-
-;; Temporary patch to fix ARM build error.
-;; https://kojipkgs.fedoraproject.org//work/tasks/9012/33639012/build.log
-
-Fix Arm build error
-
-The following commit broke the build for Arm:
-d3a70e03cf51c8fb6bc183eaff7559edffec2045
-Change iterate_over_lwps to take a gdb::function_view
-
-Correct the changes made to arm_linux_insert_hw_breakpoint1 and make
-similar changes to arm_linux_remove_hw_breakpoint1.
-
-2019-03-18  Alan Hayward  <alan.hayward@arm.com>
-
-	* arm-linux-nat.c (arm_linux_insert_hw_breakpoint1): Fix
-	variable names.
-	(arm_linux_remove_hw_breakpoint1): Use a gdb::function_view.
-
-diff --git a/gdb/ChangeLog b/gdb/ChangeLog
---- a/gdb/ChangeLog
-+++ b/gdb/ChangeLog
-@@ -1,3 +1,9 @@
-+2019-03-18  Alan Hayward  <alan.hayward@arm.com>
-+
-+	* arm-linux-nat.c (arm_linux_insert_hw_breakpoint1): Fix
-+	variable names.
-+	(arm_linux_remove_hw_breakpoint1): Use a gdb::function_view.
-+
- 2019-03-18  Pedro Alves  <palves@redhat.com>
- 	    Eli Zaretskii <eliz@gnu.org>
- 
-diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c
---- a/gdb/arm-linux-nat.c
-+++ b/gdb/arm-linux-nat.c
-@@ -1005,8 +1005,8 @@ arm_linux_insert_hw_breakpoint1 (const struct arm_linux_hw_breakpoint* bpt,
-         iterate_over_lwps (pid_ptid,
- 			   [=] (struct lwp_info *info)
- 			   {
--			     return update_registers_callback (info, watch,
--							       index);
-+			     return update_registers_callback (info, watchpoint,
-+							       i);
- 			   });
-         break;
-       }
-@@ -1024,7 +1024,6 @@ arm_linux_remove_hw_breakpoint1 (const struct arm_linux_hw_breakpoint *bpt,
-   gdb_byte count, i;
-   ptid_t pid_ptid;
-   struct arm_linux_hw_breakpoint* bpts;
--  struct update_registers_data data;
- 
-   pid = inferior_ptid.pid ();
-   pid_ptid = ptid_t (pid);
-@@ -1043,10 +1042,13 @@ arm_linux_remove_hw_breakpoint1 (const struct arm_linux_hw_breakpoint *bpt,
-   for (i = 0; i < count; ++i)
-     if (arm_linux_hw_breakpoint_equal (bpt, bpts + i))
-       {
--        data.watch = watchpoint;
--        data.index = i;
-         bpts[i].control = arm_hwbp_control_disable (bpts[i].control);
--        iterate_over_lwps (pid_ptid, update_registers_callback, &data);
-+	iterate_over_lwps (pid_ptid,
-+			   [=] (struct lwp_info *info)
-+			   {
-+			     return update_registers_callback (info, watchpoint,
-+							       i);
-+			   });
-         break;
-       }
- 
diff --git a/gdb.spec b/gdb.spec
index 777d52c..1d0f41d 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -22,7 +22,7 @@
 Name: %{?scl_prefix}gdb
 
 # Freeze it when GDB gets branched
-%global snapsrc    20190319
+%global snapsrc    20190321
 # See timestamp of source gnulib installed into gdb/gnulib/ .
 %global snapgnulib 20161115
 %global tarname gdb-%{version}
@@ -30,7 +30,7 @@ Version: 8.3.50.%{snapsrc}
 
 # The release always contains a leading reserved number, start it at 1.
 # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
-Release: 2%{?dist}
+Release: 3%{?dist}
 
 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL
 # Do not provide URL for snapshots as the file lasts there only for 2 days.
@@ -1025,6 +1025,11 @@ fi
 %endif
 
 %changelog
+* Thu Mar 21 2019 Sergio Durigan Junior <sergiodj@redhat.com> - 8.3.50.20190321-3
+- Rebase to FSF GDB 8.3.50.20190321 (8.4pre).
+- Remove gdb-temporary-fix-arm-build-error.patch.
+- Fix "GDB crashes when using Python xmethods" (RH BZ 1690120).
+
 * Tue Mar 19 2019 Sergio Durigan Junior <sergiodj@redhat.com> - 8.3.50.20190319-2
 - Rebase to FSF GDB 8.3.50.20190319 (8.4pre).
 - Temporarily add gdb-temporary-fix-arm-build-error.patch.
diff --git a/sources b/sources
index fb4519a..eea1219 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
 SHA512 (gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz) = a8b1c54dd348cfeb37da73f968742896be3dd13a4215f8d8519870c2abea915f5176c3fa6989ddd10f20020a16f0fab20cbae68ee8d58a82234d8778023520f8
 SHA512 (v2.0.tar.gz) = ec63151e842c81cc73ea11ba560b63e005cefbe19d98de24ae5c8caa4de7c9c1d71d1ec5b6214a347592eac675b75a3d2b26d4691ca86f91020ebfea8e912939
-SHA512 (gdb-8.3.50.20190319.tar.xz) = 099f03a5103412940cc10e3628f28d790e124df01e5d79e868284dba04817a9f8c63066b7f4e2b33b4e8c0bcda04a3be85247ca0a5ecb70fdf721f9d2c1365b9
+SHA512 (gdb-8.3.50.20190321.tar.xz) = 4ab37571398418a3b5bc43cfe103ee585330bc3b076b113e3bf6c6c3ce5266b6e6b5040c1303ad0de62b8f4211df27e75795d7fce4fd1d9a96ec0308ace2fcf8