From b86a6d3e9f0f1d06ac064ac7599f327e565579bf Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Fri, 17 Nov 2023 13:49:17 +0100 Subject: [PATCH] Add valgrind-3.22.0-valgrind-monitor-python-re.patch --- ...nd-3.22.0-valgrind-monitor-python-re.patch | 32 +++++++++++++++++++ valgrind.spec | 11 ++++++- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 valgrind-3.22.0-valgrind-monitor-python-re.patch diff --git a/valgrind-3.22.0-valgrind-monitor-python-re.patch b/valgrind-3.22.0-valgrind-monitor-python-re.patch new file mode 100644 index 0000000..61d26cd --- /dev/null +++ b/valgrind-3.22.0-valgrind-monitor-python-re.patch @@ -0,0 +1,32 @@ +commit 0fbfbe05028ad18efda786a256a2738d2c231ed4 +Author: Mark Wielaard +Date: Fri Nov 17 13:31:52 2023 +0100 + + valgrind-monitor.py regular expressions should use raw strings + + With python 3.12 gdb will produce the following SyntaxWarning when + loading valgrind-monitor-def.py: + + /usr/share/gdb/auto-load/valgrind-monitor-def.py:214: + SyntaxWarning: invalid escape sequence '\[' + if re.fullmatch("^0x[0123456789ABCDEFabcdef]+\[[^\[\]]+\]$", arg_str): + + In a future python version this will become an SyntaxError. + + Use a raw strings for the regular expression. + + https://bugs.kde.org/show_bug.cgi?id=476708 + +diff --git a/coregrind/m_gdbserver/valgrind-monitor-def.py b/coregrind/m_gdbserver/valgrind-monitor-def.py +index b4e7b992d..d74b1590c 100644 +--- a/coregrind/m_gdbserver/valgrind-monitor-def.py ++++ b/coregrind/m_gdbserver/valgrind-monitor-def.py +@@ -211,7 +211,7 @@ class Valgrind_ADDR_LEN_opt(Valgrind_Command): + For compatibility reason with the Valgrind gdbserver monitor command, + we detect and accept usages such as 0x1234ABCD[10].""" + def invoke(self, arg_str : str, from_tty : bool) -> None: +- if re.fullmatch("^0x[0123456789ABCDEFabcdef]+\[[^\[\]]+\]$", arg_str): ++ if re.fullmatch(r"^0x[0123456789ABCDEFabcdef]+\[[^\[\]]+\]$", arg_str): + arg_str = arg_str.replace("[", " ") + arg_str = arg_str.replace("]", " ") + eval_execute_2(self, arg_str, diff --git a/valgrind.spec b/valgrind.spec index fd14ef0..c658948 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -3,7 +3,7 @@ Summary: Dynamic analysis tools to detect memory or thread bugs and profile Name: %{?scl_prefix}valgrind Version: 3.22.0 -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 1 License: GPLv2+ URL: https://www.valgrind.org/ @@ -88,6 +88,10 @@ Patch3: valgrind-3.16.0-some-stack-protector.patch # Add some -Wl,z,now. Patch4: valgrind-3.16.0-some-Wl-z-now.patch +# valgrind-monitor.py regular expressions should use raw strings +# https://bugs.kde.org/show_bug.cgi?id=476708 +Patch5: valgrind-3.22.0-valgrind-monitor-python-re.patch + BuildRequires: make BuildRequires: glibc-devel @@ -226,6 +230,8 @@ Valgrind User Manual for details. %patch -P4 -p1 %endif +%patch -P5 -p1 + %build # LTO triggers undefined symbols in valgrind. Valgrind has a --enable-lto # configure time option, but that doesn't seem to help. @@ -458,6 +464,9 @@ fi %endif %changelog +* Fri Nov 17 2023 Mark Wielaard - 3.22.0-2 +- Add valgrind-3.22.0-valgrind-monitor-python-re.patch + * Tue Oct 31 2023 Mark Wielaard - 3.22.0-1 - Upstream 3.22.0 final - BuildRequires elfutils-debuginfod for testing