Backport of couple patches from upstream. Signed-off-by: Victor Kamensky <victor.kamens...@gmail.com> --- ...gcc-version-compatibility-hack-redux.patch | 32 ++++++++++++ ...e.cxx-gcc-version-compatibility-hack.patch | 52 +++++++++++++++++++ .../systemtap/systemtap_git.inc | 2 + 3 files changed, 86 insertions(+) create mode 100644 meta/recipes-kernel/systemtap/systemtap/0001-elaborate.cxx-gcc-version-compatibility-hack-redux.patch create mode 100644 meta/recipes-kernel/systemtap/systemtap/0001-elaborate.cxx-gcc-version-compatibility-hack.patch
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-elaborate.cxx-gcc-version-compatibility-hack-redux.patch b/meta/recipes-kernel/systemtap/systemtap/0001-elaborate.cxx-gcc-version-compatibility-hack-redux.patch new file mode 100644 index 0000000000..0c2888400d --- /dev/null +++ b/meta/recipes-kernel/systemtap/systemtap/0001-elaborate.cxx-gcc-version-compatibility-hack-redux.patch @@ -0,0 +1,32 @@ +From 91caf37e4dfe862f9b68447b1597c0d0f31523c3 Mon Sep 17 00:00:00 2001 +From: "Frank Ch. Eigler" <f...@redhat.com> +Date: Tue, 7 May 2024 15:04:04 -0400 +Subject: [PATCH] elaborate.cxx: gcc version compatibility hack redux + +Note __GNUC__ >= 14 for this diagnostic. + +Upstream-Status: Backport [https://sourceware.org/git/?p=systemtap.git;a=commit;h=91caf37e4dfe862f9b68447b1597c0d0f31523c3] +Signed-off-by: Victor Kamensky <victor.kamens...@gmail.com> +--- + elaborate.cxx | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/elaborate.cxx b/elaborate.cxx +index 88505559b..c08023f1d 100644 +--- a/elaborate.cxx ++++ b/elaborate.cxx +@@ -2656,9 +2656,11 @@ symresolution_info::symresolution_info (systemtap_session& s, bool omniscient_un + session (s), unmangled_p(omniscient_unmangled), current_function (0), current_probe (0) + { + #pragma GCC diagnostic push ++ #if __GNUC__ >= 14 + // c10s early snapshot GCC complains about this construct, which is + // made safe via our dtor usage + #pragma GCC diagnostic ignored "-Wdangling-pointer" ++ #endif + saved_session_symbol_resolver = s.symbol_resolver; + s.symbol_resolver = this; // save resolver for early PR25841 function resolution + #pragma GCC diagnostic pop +-- +2.45.2 + diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-elaborate.cxx-gcc-version-compatibility-hack.patch b/meta/recipes-kernel/systemtap/systemtap/0001-elaborate.cxx-gcc-version-compatibility-hack.patch new file mode 100644 index 0000000000..7cdcc93f14 --- /dev/null +++ b/meta/recipes-kernel/systemtap/systemtap/0001-elaborate.cxx-gcc-version-compatibility-hack.patch @@ -0,0 +1,52 @@ +From d11241bdd05bc4c745c8aef53a2725331e1a93b4 Mon Sep 17 00:00:00 2001 +From: "Frank Ch. Eigler" <f...@redhat.com> +Date: Tue, 7 May 2024 14:25:12 -0400 +Subject: [PATCH] elaborate.cxx: gcc version compatibility hack +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Suppress -Wdangling-pointer for a construct that appears valid, but +one particular GCC snapshot version complains about. + +In constructor ‘symresolution_info::symresolution_info(systemtap_session&, bool)’, +inlined from ‘int semantic_pass_symbols(systemtap_session&)’ at ../systemtap/elaborate.cxx:1872:28: +../systemtap/elaborate.cxx:2659:21: error: storing the address of local variable ‘sym’ in ‘*s.systemtap_session::symbol_resolver’ [-Werror=dangling-pointer=] + 2659 | s.symbol_resolver = this; // save resolver for early PR25841 function resolution + | ~~~~~~~~~~~~~~~~~~^~~~~~ +../systemtap/elaborate.cxx: In function ‘int semantic_pass_symbols(systemtap_session&)’: +../systemtap/elaborate.cxx:1872:22: note: ‘sym’ declared here + 1872 | symresolution_info sym (s); + | ^~~ +../systemtap/elaborate.cxx:1870:43: note: ‘s’ declared here + 1870 | semantic_pass_symbols (systemtap_session& s) + | ~~~~~~~~~~~~~~~~~~~^ +cc1plus: all warnings being treated as errors + +Upstream-Status: Backport [https://sourceware.org/git/?p=systemtap.git;a=commit;h=d11241bdd05bc4c745c8aef53a2725331e1a93b4] +Signed-off-by: Victor Kamensky <victor.kamens...@gmail.com> +--- + elaborate.cxx | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/elaborate.cxx b/elaborate.cxx +index 8bf9e6c06..88505559b 100644 +--- a/elaborate.cxx ++++ b/elaborate.cxx +@@ -2655,8 +2655,13 @@ semantic_pass (systemtap_session& s) + symresolution_info::symresolution_info (systemtap_session& s, bool omniscient_unmangled): + session (s), unmangled_p(omniscient_unmangled), current_function (0), current_probe (0) + { ++ #pragma GCC diagnostic push ++ // c10s early snapshot GCC complains about this construct, which is ++ // made safe via our dtor usage ++ #pragma GCC diagnostic ignored "-Wdangling-pointer" + saved_session_symbol_resolver = s.symbol_resolver; + s.symbol_resolver = this; // save resolver for early PR25841 function resolution ++ #pragma GCC diagnostic pop + } + + +-- +2.45.2 + diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc index cc9fc81430..80945ad7f8 100644 --- a/meta/recipes-kernel/systemtap/systemtap_git.inc +++ b/meta/recipes-kernel/systemtap/systemtap_git.inc @@ -7,6 +7,8 @@ SRC_URI = "git://sourceware.org/git/systemtap.git;branch=master;protocol=https \ file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \ file://0001-Install-python-modules-to-correct-library-dir.patch \ file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \ + file://0001-elaborate.cxx-gcc-version-compatibility-hack.patch \ + file://0001-elaborate.cxx-gcc-version-compatibility-hack-redux.patch \ " COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips|riscv64).*-linux' -- 2.45.2
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#200466): https://lists.openembedded.org/g/openembedded-core/message/200466 Mute This Topic: https://lists.openembedded.org/mt/106586667/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-