Kaydet (Commit) 7a93f534 authored tarafından Damjan Jovanovic's avatar Damjan Jovanovic Kaydeden (comit) Caolán McNamara

Use the ptrdiff_t printf format code for backtracing on FreeBSD.

Patch by: me

(cherry picked from commit e0e462a3)

Change-Id: I1c59b2b631dbfd508d85abb774f27187ded47c17
üst 0bd3aa40
......@@ -17,6 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include "sal/types.h"
#ifdef SOLARIS
#include <dlfcn.h>
......@@ -177,20 +179,12 @@ void backtrace_symbols_fd( void **buffer, int size, int fd )
if ( dli.dli_fname && dli.dli_fbase )
{
offset = (ptrdiff_t)*pFramePtr - (ptrdiff_t)dli.dli_fbase;
#if defined X86_64
fprintf( fp, "%s+0x%lx", dli.dli_fname, offset );
#else
fprintf( fp, "%s+0x%x", dli.dli_fname, offset );
#endif
fprintf( fp, "%s+0x%" SAL_PRI_PTRDIFFT "x", dli.dli_fname, offset );
}
if ( dli.dli_sname && dli.dli_saddr )
{
offset = (ptrdiff_t)*pFramePtr - (ptrdiff_t)dli.dli_saddr;
#if defined X86_64
fprintf( fp, "(%s+0x%lx)", dli.dli_sname, offset );
#else
fprintf( fp, "(%s+0x%x)", dli.dli_sname, offset );
#endif
fprintf( fp, "(%s+0x%" SAL_PRI_PTRDIFFT "x)", dli.dli_sname, offset );
}
}
fprintf( fp, "[0x%p]\n", *pFramePtr );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment