|
From: Konstantin S. <kon...@gm...> - 2009-08-18 16:01:11
|
Hi,
Is the following expected?
Valgrind (latest trunk, compiled in the combined 64- and 32-bit mode) can
not run a shell script if the shell is a 32-bit executable.
The shell script is a text file (chmod +x) with first line
"#!/path/to/shell".
Running 'valgrind /path/to/shell script' directly -- works.
Expected? Known bug?
% head *
==> simple_script_32 <==
#!/tmp/simple_shell_32
echo "If you see this line printed, something is wrong"
==> simple_script_64 <==
#!/tmp/simple_shell_64
echo "If you see this line printed, something is wrong"
==> simple_shell.c <==
#include <stdio.h>
int main (int argc, char **argv) {
printf("Hello, I am a simple shell\n");
}
% gcc -m32 simple_shell.c -o /tmp/simple_shell_32
% gcc -m64 simple_shell.c -o /tmp/simple_shell_64
% ~/valgrind/trunk/inst/bin/valgrind -q ./simple_script_64
Hello, I am a simple shell
% ~/valgrind/trunk/inst/bin/valgrind -q ./simple_script_32
valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
If you see this line printed, something is wrong
% ~/valgrind/trunk/inst/bin/valgrind -q /tmp/simple_shell_32
./simple_script_32
Hello, I am a simple shell
%
Thanks,
--kcc
|