The big-endian version maps generic "ppc" and "ppc32" aliases to
PER_LINUX32. It seems that we can do the same for little-endian.
Note that SYS_personality does not care about LE/BE, it's 32 or 64 bit.
Signed-off-by: Karel Zak <kzak@redhat.com>
Remove global variable, skip unnecessary comparison, and remove version
printing function when a simple printf() can do the job. In same go fix
compiler warning.
sys-utils/setarch.c:296:4: warning: null argument where non-null required
(argument 2) [-Wnonnull]
execl("/bin/bash", NULL);
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
changed in include/c.h and applied via sed:
sed -i 's/fprintf.*\(USAGE_MAN_TAIL.*\)/printf(\1/' $(git ls-files -- "*.c")
sed -i 's/print_usage_help_options\(.*\);/printf(USAGE_HELP_OPTIONS\1);/' $(git ls-files -- "*.c")
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Consolidate --help and --version descriptions. We are
now able to align them to the other options.
We changed include/c.h. The rest of this patch was
generated by sed, plus manually setting the right
alignment numbers. We do not change anything but
white spaces in the --help output.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Fix various typos in error messages, warnings, debug strings,
comments and names of static functions.
Signed-off-by: Sebastian Rasmussen <sebras@gmail.com>
Depending on architecture and kernel version, personality
syscall is either capable or incapable of returning an error.
If the return value is not an error, then it's the previous
personality value, which can be an arbitrary value
undistinguishable from an error value.
To make things clear, a second call is needed.
For more details about personality syscall peculiarities see
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=glibc-2.22-637-ge0043e17dfc5
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
* call --help, --verbose and --list from one place only
* add 'archwrapper' variable to detect when called by symplink
* make --list available only got setchar(8) (but no for symlinks)
Reported-by: Benno Schulenberg <bensberg@justemail.net>
Signed-off-by: Karel Zak <kzak@redhat.com>
When the provided string does not match any architecture that
setarch knows about, the response stays "Unrecognized architecture",
but when trying to set the specified architecture does not have any
effect, then respond with "Kernel cannot set architecture to...".
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
Use two separate strings for the two different forms of setarch,
instead of filling in an untranslated word into a single string.
Also use the standard angular brackets for nonliteral arguments.
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
This adds a concise description of a tool to its usage text.
A first form of this patch was proposed by Steven Honeyman
(see http://www.spinics.net/lists/util-linux-ng/msg09994.html).
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
There are some uname26 binaries flying around. Let's make it available
everywhere.
Internal SUSE references: fate313476, sr226509
CC: Stanislav Brabec <sbrabec@suse.cz>
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
It seems to be pointless to spend time in ./configure phase when
preprocessor has to perform #ifndef check anyway.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Exit with instruction to run --help if unknown option is encountered.
Before the following example printed error, but resulted to an attempt
to run argument.
$ x86_64 -x ls
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Negative array index does technically work, but looks awkward and
can confuse static analyser such as cppcheck.
[sys-utils/setarch.c:267]: (error) Array index -1 is out of bounds
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This should improve a bit the portability as error() is a GNU extension and
util-linux provides fallbacks for err.h functions.
Fix compilation with icc, broken due to a reference to `__builtin_va_arg_pack'
in error.h using the -gcc default option.
Signed-off-by: Francesco Cosoleto <cosoleto@gmail.com>
setarch.c:248: error: 'ADDR_NO_RANDOMIZE' undeclared (first use in this function)
setarch.c:248: error: (Each undeclared identifier is reported only once
setarch.c:248: error: for each function it appears in.)
setarch.c:251: error: 'FDPIC_FUNCPTRS' undeclared (first use in this function)
setarch.c:257: error: 'ADDR_COMPAT_LAYOUT' undeclared (first use in this function)
setarch.c:260: error: 'READ_IMPLIES_EXEC' undeclared (first use in this function)
Linux gzp1 2.4.36.1-gzp1 #1 SMP Tue Feb 19 10:23:48 CET 2008 i686 GNU/Linux
Reported-By: Gabor Z. Papp <gzp@papp.hu>
Signed-off-by: Karel Zak <kzak@redhat.com>
The getopt_long(3) use introduced by commit
8df90dec2b
broke backwards compatibility.
Old behavior:
$ i386 uname -m
i686
New behavior:
$ i386 uname -m
i386: invalid option -- m
Linux
Traditional method to fix it is to disable program arguments reordering
by prefixing getopt_long's optstring with '+' character.
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Karel Zak <kzak@redhat.com>
NULL is not 0L. It's (void*)0. Passing that as a parameter to a function
that takes an unsigned long results in a warning about the lack of a cast.
Signed-off-by: LaMont Jones <lamont@debian.org>