|
From: Loïc M. <lo...@do...> - 2010-03-16 14:43:10
|
On Mon, Mar 15, 2010, Alexander Potapenko wrote:
> Oh, I've missed your command line. This should have nothing to do with
> the ld.so or any code executed under Valgrind, it's possibly the
> Valgrind binary itself. How about dumping the list of instructions
> used by the binary (objdump -d valgrind) and making a test that uses
> them?
Thanks; so gdb reports the crash at 0x3801eb34 in _start in
/usr/lib/valgrind/memcheck-arm-linux; in the objdump -d output, I see
that it's on the mvn instruction, see coregrind/m_main.c:
#elif defined(VGP_arm_linux)
asm("\n"
"\t.align 2\n"
"\t.global _start\n"
"_start:\n"
"\tldr r0, [pc, #36]\n"
"\tldr r1, [pc, #36]\n"
"\tadd r0, r1, r0\n"
"\tldr r1, [pc, #32]\n"
"\tadd r0, r1, r0\n"
"\tmvn r1, #15\n"
"\tand r0, r0, r1\n"
"\tmov r1, sp\n"
"\tmov sp, r0\n"
"\tmov r0, r1\n"
"\tb _start_in_C_linux\n"
"\t.word vgPlain_interim_stack\n"
"\t.word "VG_STRINGIFY(VG_STACK_GUARD_SZB)"\n"
"\t.word "VG_STRINGIFY(VG_STACK_ACTIVE_SZB)"\n"
);
Apparently, mvn isn't available in T2 mode.
--
Loïc Minier
|