|
From: <sv...@va...> - 2005-04-27 09:23:06
|
Author: tom
Date: 2005-04-27 10:23:02 +0100 (Wed, 27 Apr 2005)
New Revision: 3575
Modified:
trunk/coregrind/m_debuglog.c
Log:
Make the debug log module work on amd64.
Modified: trunk/coregrind/m_debuglog.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_debuglog.c 2005-04-27 08:58:53 UTC (rev 3574)
+++ trunk/coregrind/m_debuglog.c 2005-04-27 09:23:02 UTC (rev 3575)
@@ -91,12 +91,33 @@
=20
static UInt local_sys_write_stderr ( HChar* buf, Int n )
{
- return 0;
+ UInt __res;
+ __asm__ volatile (
+ "movq $1, %%rax\n" /* set %rax =3D __NR_write */
+ "movq $2, %%rdi\n" /* set %rdi =3D stderr */
+ "movq %1, %%rsi\n" /* set %rsi =3D buf */
+ "movl %2, %%edx\n" /* set %edx =3D n */
+ "syscall\n" /* write(stderr, buf, n) */
+ "movl %%eax, %0\n" /* set __res =3D %eax */
+ : "=3Dmr" (__res)
+ : "g" (buf), "g" (n)
+ : "rax", "rdi", "rsi", "rdx" );
+ if (__res < 0)=20
+ __res =3D -1;
+ return __res;
}
=20
static UInt local_sys_getpid ( void )
{
- return 0;
+ UInt __res;
+ __asm__ volatile (
+ "movq $39, %%rax\n" /* set %rax =3D __NR_getpid */
+ "syscall\n" /* getpid() */
+ "movl %%eax, %0\n" /* set __res =3D %eax */
+ : "=3Dmr" (__res)
+ :
+ : "rax" );
+ return __res;
}
=20
#else
|