diff -r d47c6de21a88 -r a151135b0cf9 perfsrv/memspy/Driver/Kernel/Source/MemSpyDriverStreamWriter.cpp --- a/perfsrv/memspy/Driver/Kernel/Source/MemSpyDriverStreamWriter.cpp Mon Sep 27 14:07:59 2010 +0300 +++ b/perfsrv/memspy/Driver/Kernel/Source/MemSpyDriverStreamWriter.cpp Wed Sep 29 17:45:35 2010 +0300 @@ -21,6 +21,13 @@ #include "MemSpyDriverUtils.h" #include "MemSpyDriverXferBuffer.h" +#if defined(__GCC32__) +#define __RETURN_ADDRESS() __builtin_return_address(0) +#elif defined (__ARMCC__) +#define __RETURN_ADDRESS() ((TAny*)__return_address()) +#else +#define __RETURN_ADDRESS() 0 // not supported +#endif RMemSpyMemStreamWriter::RMemSpyMemStreamWriter() @@ -69,7 +76,7 @@ } else { - //TRACE( Kern::Printf( "RMemSpyMemStreamWriter::WriteInt32() - asked to write: 0x%08x from fn: 0x%08x BUT AM FULL", aValue, __return_address() ) ); + TRACE( Kern::Printf( "RMemSpyMemStreamWriter::WriteInt32() - asked to write: 0x%08x from fn: 0x%08x BUT AM FULL", aValue, __RETURN_ADDRESS() ) ); } // return ret; @@ -89,7 +96,7 @@ } else { - //TRACE( Kern::Printf( "RMemSpyMemStreamWriter::WriteUint32() - asked to write: 0x%08x from fn: 0x%08x BUT AM FULL", aValue, __return_address() ) ); + TRACE( Kern::Printf( "RMemSpyMemStreamWriter::WriteUint32() - asked to write: 0x%08x from fn: 0x%08x BUT AM FULL", aValue, __RETURN_ADDRESS() ) ); } // return ret;