summaryrefslogtreecommitdiffstats
path: root/sys-utils/setarch.c
diff options
context:
space:
mode:
authorDennis Gilmore2007-08-21 09:55:28 +0200
committerKarel Zak2007-08-21 09:55:28 +0200
commitee7401c58eb0bbf058382574ad7a2386ffd737e8 (patch)
treef9afdc26fbf742403b3be26110b72288d9542004 /sys-utils/setarch.c
parentdocs: add DEPRECATED to EXTRA_DIST (diff)
downloadkernel-qcow2-util-linux-ee7401c58eb0bbf058382574ad7a2386ffd737e8.tar.gz
kernel-qcow2-util-linux-ee7401c58eb0bbf058382574ad7a2386ffd737e8.tar.xz
kernel-qcow2-util-linux-ee7401c58eb0bbf058382574ad7a2386ffd737e8.zip
setarch: add sparc32bash alias to keep compatibility with sparc32
Signed-off-by: Dennis Gilmore <dennis@ausil.us> Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'sys-utils/setarch.c')
-rw-r--r--sys-utils/setarch.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c
index e812c2790..153a8283f 100644
--- a/sys-utils/setarch.c
+++ b/sys-utils/setarch.c
@@ -114,6 +114,7 @@ int set_arch(const char *pers, unsigned long options)
#endif
#if defined(__sparc64__) || defined(__sparc__)
{PER_LINUX32, "sparc", "sparc"},
+ {PER_LINUX32, "sparc32bash", "sparc"},
{PER_LINUX32, "sparc32", "sparc"},
{PER_LINUX, "sparc64", "sparc64"},
#endif
@@ -175,6 +176,14 @@ int main(int argc, char *argv[])
if (!strcmp(p, "-h") || !strcmp(p, "--help"))
show_help();
}
+ #if defined(__sparc64__) || defined(__sparc__)
+ if (!strcmp(p, "sparc32bash")) {
+ if (set_arch(p, NULL))
+ error(EXIT_FAILURE, errno, "Failed to set personality to %s", p);
+ execl("/bin/bash", NULL);
+ error(EXIT_FAILURE, errno, "/bin/bash");
+ }
+ #endif
for (argv++, argc--; argc && argv[0][0] == '-'; argv++, argc--) {
int n, unknown = 1;
const char *arg = argv[0];