commit: 36d4dacd971f39bd0ecde7d93216de68c8efe31a Author: Mike Frysinger <vapier <AT> gentoo <DOT> org> AuthorDate: Wed Nov 3 16:42:47 2021 +0000 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org> CommitDate: Wed Nov 3 16:42:59 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36d4dacd
sys-apps/sandbox: fix build failures in some compiler configurations #821433 Closes: https://bugs.gentoo.org/821433 Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org> .../sandbox/files/sandbox-3.1-label-decl.patch | 41 ++++++++++++++++++++++ sys-apps/sandbox/sandbox-3.1.ebuild | 4 +++ 2 files changed, 45 insertions(+) diff --git a/sys-apps/sandbox/files/sandbox-3.1-label-decl.patch b/sys-apps/sandbox/files/sandbox-3.1-label-decl.patch new file mode 100644 index 00000000000..b17f4b866f5 --- /dev/null +++ b/sys-apps/sandbox/files/sandbox-3.1-label-decl.patch @@ -0,0 +1,41 @@ +From 82f6d876660ba1132d75ccfef5c4301d123ea505 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vap...@gentoo.org> +Date: Wed, 3 Nov 2021 12:25:10 -0400 +Subject: [PATCH] libsandbox: tweak label/decl code for some compiler settings + +Looks like gcc is inconsistent in when it chokes on this code: +> a label can only be part of a statement and a declaration is not a statement + +Hoist the decl up to the top of scope to avoid the issue. + +Bug: https://bugs.gentoo.org/821433 +Signed-off-by: Mike Frysinger <vap...@gentoo.org> +--- + libsandbox/trace.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/libsandbox/trace.c b/libsandbox/trace.c +index f3390d99822e..d2899b743048 100644 +--- a/libsandbox/trace.c ++++ b/libsandbox/trace.c +@@ -704,6 +704,8 @@ static char *flatten_args(char *const argv[]) + + bool trace_possible(const char *filename, char *const argv[], const void *data) + { ++ char *args; ++ + /* If YAMA ptrace_scope is very high, then we can't trace at all. #771360 */ + int yama = trace_yama_level(); + if (yama >= 2) { +@@ -721,7 +723,7 @@ bool trace_possible(const char *filename, char *const argv[], const void *data) + } + + fail: +- char *args = flatten_args(argv); ++ args = flatten_args(argv); + sb_eqawarn("Unable to trace static ELF: %s: %s\n", filename, args); + free(args); + return false; +-- +2.33.0 + diff --git a/sys-apps/sandbox/sandbox-3.1.ebuild b/sys-apps/sandbox/sandbox-3.1.ebuild index 83e90898881..1c11a7faf15 100644 --- a/sys-apps/sandbox/sandbox-3.1.ebuild +++ b/sys-apps/sandbox/sandbox-3.1.ebuild @@ -18,6 +18,10 @@ DEPEND="app-arch/xz-utils >=app-misc/pax-utils-0.1.19" #265376 RDEPEND="" +PATCHES=( + "${FILESDIR}"/${P}-label-decl.patch #821433 +) + has sandbox_death_notice ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+=" sandbox_death_notice" sandbox_death_notice() {