From 7bc9c63c9da678a7e6fceb095d56c634afd22c56 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 15 Dec 2019 18:09:03 +0000 Subject: gentoo resync : 15.12.2019 --- .../files/util-linux-2.33-sparc-setarch.patch | 80 ---------------------- 1 file changed, 80 deletions(-) delete mode 100644 sys-apps/util-linux/files/util-linux-2.33-sparc-setarch.patch (limited to 'sys-apps/util-linux/files/util-linux-2.33-sparc-setarch.patch') diff --git a/sys-apps/util-linux/files/util-linux-2.33-sparc-setarch.patch b/sys-apps/util-linux/files/util-linux-2.33-sparc-setarch.patch deleted file mode 100644 index cbae6c0f2631..000000000000 --- a/sys-apps/util-linux/files/util-linux-2.33-sparc-setarch.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 3fa06e049012218d883d0e1251df86bafbc446bf Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 22 Nov 2018 11:03:35 +0100 -Subject: [PATCH] setarch: fix obscure sparc32bash use-case - -Reported-by: Carlos Santos -Signed-off-by: Karel Zak ---- - sys-utils/setarch.c | 28 ++++++++++++++++++---------- - 1 file changed, 18 insertions(+), 10 deletions(-) - -diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c -index a733f7b3c..7c0a63fbb 100644 ---- a/sys-utils/setarch.c -+++ b/sys-utils/setarch.c -@@ -268,6 +268,7 @@ int main(int argc, char *argv[]) - int c; - struct arch_domain *doms, *target; - unsigned long pers_value = 0; -+ char *shell = NULL, *shell_arg = NULL; - - /* Options without equivalent short options */ - enum { -@@ -310,14 +311,14 @@ int main(int argc, char *argv[]) - archwrapper = strcmp(program_invocation_short_name, "setarch") != 0; - if (archwrapper) { - arch = program_invocation_short_name; /* symlinks to setarch */ --#if defined(__sparc64__) || defined(__sparc__) -+ -+ /* Don't use ifdef sparc here, we get "Unrecognized architecture" -+ * error message later if necessary */ - if (strcmp(arch, "sparc32bash") == 0) { -- if (set_arch(arch, 0L, 0)) -- err(EXIT_FAILURE, _("Failed to set personality to %s"), arch); -- execl("/bin/bash", "", NULL); -- errexec("/bin/bash"); -+ shell = "/bin/bash"; -+ shell_arg = ""; -+ goto set_arch; - } --#endif - } else { - if (1 < argc && *argv[1] != '-') { - arch = argv[1]; -@@ -391,6 +392,7 @@ int main(int argc, char *argv[]) - argc -= optind; - argv += optind; - -+set_arch: - /* get execution domain (architecture) */ - if (arch) { - doms = init_arch_domains(); -@@ -422,17 +424,23 @@ int main(int argc, char *argv[]) - if (arch) - verify_arch_domain(target, arch); - -+ if (!argc) { -+ shell = "/bin/sh"; -+ shell_arg = "-sh"; -+ } - if (verbose) { -- printf(_("Execute command `%s'.\n"), argc ? argv[0] : "/bin/sh"); -+ printf(_("Execute command `%s'.\n"), shell ? shell : argv[0]); - /* flush all output streams before exec */ - fflush(NULL); - } - -- if (!argc) { -- execl("/bin/sh", "-sh", NULL); -- errexec("/bin/sh"); -+ /* Execute shell */ -+ if (shell) { -+ execl(shell, shell_arg, NULL); -+ errexec(shell); - } - -+ /* Execute on command line specified command */ - execvp(argv[0], argv); - errexec(argv[0]); - } -- cgit v1.2.3