On Wed, Apr 19, 2023 at 11:46:34AM +0200, folkert wrote:
> > > The 2 calls it does are:
> > > 
> > > print_char:
> > >      movb (%esi), %al
> > >      movb %al, buffer
> > >      movl $4, %eax
> > >      movl $1, %ebx
> > >      movl $buffer, %ecx
> > >      movl $1, %edx
> > >      int  $0x80
> > >      ret
> > > 
> > > exit:
> > >      movl $1, %eax
> > >      movl $0, %ebx
> > >      int  $0x80
> > 
> > Valgrind can't run just any executable binary. It has quite a lot of hard
> > coded limitations that correspont (mostly) to what compilers and link
> > editors will produce. So if you use assembler and use opcodes not normally
> > generated by compilers then it won't work.
> ...
> > So int 0x80 results in a decode error.
> > 
> > Can you use syscall?
> 
> That solves the problem.

Glad that resolved it.I also didn't know int 0x80 worked on amd64 as
syscal (but not under valgrind).  Note that this also
https://bugs.kde.org/show_bug.cgi?id=342988

Cheers,

Mark


_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to