commit:     378d17fe2ce3bbace6a650c64fe73481d08986fe
Author:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  9 21:08:05 2021 +0000
Commit:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
CommitDate: Thu Dec  9 21:08:37 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=378d17fe

dev-util/oprofile: fix build with gcc12

Patch by Sergei Trofimovich <slyich <AT> gmail.com> from oprofile mail lists.

Package-Manager: Portage-3.0.29, Repoman-3.0.3
Signed-off-by: Andrew Savchenko <bircoph <AT> gentoo.org>

 dev-util/oprofile/files/gcc12.patch     | 27 +++++++++++++++++++++++++++
 dev-util/oprofile/oprofile-1.4.0.ebuild |  1 +
 2 files changed, 28 insertions(+)

diff --git a/dev-util/oprofile/files/gcc12.patch 
b/dev-util/oprofile/files/gcc12.patch
new file mode 100644
index 000000000000..96f56d6a7ea7
--- /dev/null
+++ b/dev-util/oprofile/files/gcc12.patch
@@ -0,0 +1,27 @@
+`gcc-12` will forbid std::string(nullptr_t) constructors
+(as they never had a defined behaviour):
+
+    operf_stats.cpp:182:24: error: use of deleted function 
'std::__cxx11::basic_string...; std::nullptr_t = std::nullptr_t]'
+      182 |                 return NULL;
+          |                        ^~~~
+
+Signed-off-by: Sergei Trofimovich <[email protected]>
+---
+ libperf_events/operf_stats.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libperf_events/operf_stats.cpp b/libperf_events/operf_stats.cpp
+index 3cc28a75..a7bd0aec 100644
+--- a/libperf_events/operf_stats.cpp
++++ b/libperf_events/operf_stats.cpp
+@@ -179,7 +179,7 @@ static string create_stats_dir(string const & 
cur_sampledir)
+       if (rc && (errno != EEXIST)) {
+               cerr << "Error trying to create stats dir. " << endl;
+               perror("mkdir failed with");
+-              return NULL;
++              return "";
+       }
+       return stats_dir;
+ }
+-- 
+2.33.1

diff --git a/dev-util/oprofile/oprofile-1.4.0.ebuild 
b/dev-util/oprofile/oprofile-1.4.0.ebuild
index 2526034bec1b..8c623f03696c 100644
--- a/dev-util/oprofile/oprofile-1.4.0.ebuild
+++ b/dev-util/oprofile/oprofile-1.4.0.ebuild
@@ -47,6 +47,7 @@ pkg_setup() {
 
 src_prepare() {
        eapply "${FILESDIR}/musl.patch"
+       eapply "${FILESDIR}/gcc12.patch"
        # bug 723092
        sed -i 's/==/=/g' configure.ac || die
 

Reply via email to