commit:     116f54058abd4fa4a5b3c16ee49a99df11883a45
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 15 21:13:28 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 21:18:23 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=116f5405

go-env.eclass: workaround debug info issues

Go can't handle some DWARF produced by GCC but nobody's been able
to produce a simple testcase for it, so add a workaround where we replace
-g3 with -g and -ggdb3 with -ggdb for GCC, like Ionen did in Kitty.

Bug: https://bugs.gentoo.org/847991
Bug: https://bugs.gentoo.org/924436
Bug: https://bugs.gentoo.org/924496
Closes: https://bugs.gentoo.org/929219
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/go-env.eclass | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index be131133113b..a4394161cb0b 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -42,6 +42,12 @@ go-env_set_compile_environment() {
        # XXX: Hack for checking ICE (bug #912152, gcc PR113204)
        has_version -b "sys-devel/gcc[debug]" && filter-lto
 
+       # bug #929219
+       if tc-is-gcc ; then
+               replace-flags -g3 -g
+               replace-flags -ggdb3 -ggdb
+       fi
+
        export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
        export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
        export CGO_CXXFLAGS="${CGO_CXXFLAGS:-$CXXFLAGS}"

Reply via email to