localhost:/system/bin # ./valgrind -v ./testDhat32
==23313== Memcheck, a memory error detector
==23313== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==23313== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==23313== Command: ./testDhat32
==23313==
--23313-- Valgrind options:
--23313--    -v
--23313-- Contents of /proc/version:
--23313--   Linux version 4.4.7+ (root@baixin-HP-Compaq-8200-Elite-MT-PC) (gcc 
version 4.9.3 20151223 (prerelease) (SDK V100R005C00SPC030B080) ) #1 SMP 
PREEMPT Fri Sep 9 14:57:05 CST 2016
--23313--
--23313-- Arch and hwcaps: ARM, LittleEndian, ARMv8-neon-vfp
--23313-- Page sizes: currently 4096, max supported 4096
--23313-- Valgrind library directory: /system/lib64/valgrind
--23313-- Reading syms from /system_O/bin/testDhat32
--23313-- Reading syms from /system_O/bin/linker
--23313-- Reading syms from /system_O/lib64/valgrind/memcheck-arm-linux
--23313--    object doesn't have a dynamic symbol table
--23313-- Scheduler: using generic scheduler lock implementation.
--23313-- Reading suppressions file: /system/lib64/valgrind/default.supp
disInstr(thumb): unhandled instruction: 0x450B 0xD104      0x450B 0xD104 => 
strmi  Does valgrind not support strmi instr?
==23313== valgrind: Unrecognised instruction at address 0x4108187.
==23313==    at 0x4108186: __pthread_normal_mutex_trylock 
(pthread_mutex.cpp:281)
==23313==    by 0x4108186: __dl_pthread_mutex_lock (pthread_mutex.cpp:520)
==23313==    by 0x407C6A9: __libcpp_mutex_lock (__threading_support:251)
==23313==    by 0x407C6A9: __dl___cxa_guard_acquire (cxa_guard.cpp:176)
==23313==    by 0x41136EF: __dl__Z39__libc_arc4random_has_unlimited_entropyv 
(bionic_arc4random.cpp:42)
==23313==    by 0x4113759: 
__dl__Z26__libc_safe_arc4random_bufPvjR19KernelArgumentBlock 
(bionic_arc4random.cpp:49)
==23313==    by 0x4109831: 
__dl__Z34__libc_init_global_stack_chk_guardR19KernelArgumentBlock 
(__libc_init_main_thread.cpp:45)
==23313==    by 0x41098A5: 
__dl__Z23__libc_init_main_threadR19KernelArgumentBlock 
(__libc_init_main_thread.cpp:94)
==23313==    by 0x402F63B: __dl___linker_init (linker_main.cpp:525)
==23313==    by 0x403EA63: _start (begin.S:33)
==23313==    by 0x403EA63: _start (begin.S:33)
==23313==    by 0x403EA63: _start (begin.S:33)
==23313==    by 0x403EA63: _start (begin.S:33)
==23313==    by 0x403EA63: _start (begin.S:33)
==23313== Your program just tried to execute an instruction that Valgrind
==23313== did not recognise.  There are two possible reasons for this.
==23313== 1. Your program has a bug and erroneously jumped to a non-code
==23313==    location.  If you are running Memcheck and you just saw a
==23313==    warning about a bad jump, it's probably your program's fault.
==23313== 2. The instruction is legitimate but Valgrind doesn't handle it,
==23313==    i.e. it's Valgrind's fault.  If you think this is the case or
==23313==    you are not sure, please let us know and we'll try to fix it.
==23313== Either way, Valgrind will now raise a SIGILL signal which will
==23313== probably kill your program.


Env: Android O version
CPU Aarch64
EABI:  5  (I compile it in arm32 mode)

The source file as below:
int main(int argc, char *argv[])
{
   Return 0;
}



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to