diff -r 830434fd7147 -r 6ab44b3687b2 memspy/Driver/Kernel/Source/MemSpyDriverStreamWriter.cpp --- a/memspy/Driver/Kernel/Source/MemSpyDriverStreamWriter.cpp Fri Jun 11 16:29:21 2010 +0100 +++ b/memspy/Driver/Kernel/Source/MemSpyDriverStreamWriter.cpp Tue Jun 15 12:27:04 2010 +0100 @@ -21,7 +21,14 @@ #include "MemSpyDriverUtils.h" #include "MemSpyDriverXferBuffer.h" - +// from kern_priv.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() : iBuffer( NULL ), iCurrent( NULL ), iMax( 0 ), iMark( NULL ), iCommitted( 0 ) @@ -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;