Package: valgrind
Version: 1:3.2.3-1
Architecture: amd64

$ cat t.c
#include <stdio.h>

int main()
{
  printf("Hello World!\n");
  return 0;
}

I compiled things static for a little more diagnostics, i.e. function names 
below.
Basically same results with a dynamic binary. E.g. "valgrind ls"

$ cc -Wall -O2 -g -static t.c -o t

$ ./t
Hello World!

$ valgrind ./t
==19908== Memcheck, a memory error detector.
==19908== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==19908== Using LibVEX rev 1732, a library for dynamic binary translation.
==19908== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==19908== Using valgrind-3.2.3-Debian, a dynamic binary instrumentation 
framework.
==19908== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==19908== For more details, rerun with: -v
==19908==
vex amd64->IR: unhandled instruction bytes: 0x66 0x66 0x66 0x66
==19908== valgrind: Unrecognised instruction at address 0x451E22.
==19908== Your program just tried to execute an instruction that Valgrind
==19908== did not recognise.  There are two possible reasons for this.
==19908== 1. Your program has a bug and erroneously jumped to a non-code
==19908==    location.  If you are running Memcheck and you just saw a
==19908==    warning about a bad jump, it's probably your program's fault.
==19908== 2. The instruction is legitimate but Valgrind doesn't handle it,
==19908==    i.e. it's Valgrind's fault.  If you think this is the case or
==19908==    you are not sure, please let us know and we'll try to fix it.
==19908== Either way, Valgrind will now raise a SIGILL signal which will
==19908== probably kill your program.
==19908==
==19908== Process terminating with default action of signal 4 (SIGILL)
==19908==  Illegal opcode at address 0x451E22
==19908==    at 0x451E22: strpbrk (in /p/IM/t)
==19908==    by 0x448429: strsep (in /p/IM/t)
==19908==    by 0x42CAB0: fillin_rpath (in /p/IM/t)
==19908==    by 0x42E8DB: _dl_init_paths (in /p/IM/t)
==19908==    by 0x40DFCE: _dl_non_dynamic_init (in /p/IM/t)
==19908==    by 0x40E6DA: __libc_init_first (in /p/IM/t)
==19908==    by 0x400423: (below main) (in /p/IM/t)
==19908==
==19908== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
==19908== malloc/free: in use at exit: 0 bytes in 0 blocks.
==19908== malloc/free: 0 allocs, 0 frees, 0 bytes allocated.
==19908== For counts of detected errors, rerun with: -v
==19908== All heap blocks were freed -- no leaks are possible.
Illegal instruction


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to