diff --git a/stepmania/src/archutils/Unix/BacktraceNames.cpp b/stepmania/src/archutils/Unix/BacktraceNames.cpp index dd33c21f76..63035213e5 100644 --- a/stepmania/src/archutils/Unix/BacktraceNames.cpp +++ b/stepmania/src/archutils/Unix/BacktraceNames.cpp @@ -83,7 +83,7 @@ CString BacktraceNames::Format() const ShortenedPath = CString("(") + ShortenedPath + ")"; } - CString ret = ssprintf( "%08x: ", Address ); + CString ret = ssprintf( "%0*lx: ", int(sizeof(void*)*2), Address ); if( Symbol != "" ) ret += Symbol + " "; ret += ShortenedPath; @@ -97,7 +97,7 @@ CString BacktraceNames::Format() const #include void BacktraceNames::FromAddr( const void *p ) { - Address = (int) p; + Address = (intptr_t) p; /* * When calling a function that doesn't return, gcc will truncate a function. @@ -222,7 +222,7 @@ const char *osx_find_link_edit( const struct mach_header *header ) void BacktraceNames::FromAddr( const void *p ) { - Address = (int) p; + Address = (intptr_t) p; /* Find the image with the given pointer. */ int index = osx_find_image( p ); @@ -287,7 +287,7 @@ void BacktraceNames::FromAddr( const void *p ) #include void BacktraceNames::FromAddr( const void *p ) { - Address = (int) p; + Address = (intptr_t) p; char **foo = backtrace_symbols(&p, 1); if( foo == NULL ) @@ -340,7 +340,7 @@ void BacktraceNames::FromAddr( const void *p ) pid_t ppid = getpid(); /* Do this before fork()ing! */ Offset = 0; - Address = long(p); + Address = intptr_t(p); if (pipe(fds) != 0) { @@ -447,7 +447,7 @@ void BacktraceNames::FromAddr( const void *p ) #warning Undefined BACKTRACE_LOOKUP_METHOD_* void BacktraceNames::FromAddr( const void *p ) { - Address = long(p); + Address = intptr_t(p); Offset = 0; Symbol = ""; File = ""; diff --git a/stepmania/src/archutils/Unix/BacktraceNames.h b/stepmania/src/archutils/Unix/BacktraceNames.h index e1fe02d926..b53d4e9d8e 100644 --- a/stepmania/src/archutils/Unix/BacktraceNames.h +++ b/stepmania/src/archutils/Unix/BacktraceNames.h @@ -4,7 +4,7 @@ struct BacktraceNames { CString Symbol, File; - int Address; + intptr_t Address; int Offset; void FromAddr( const void *p ); void FromString( CString str ); diff --git a/stepmania/src/archutils/Unix/CrashHandlerChild.cpp b/stepmania/src/archutils/Unix/CrashHandlerChild.cpp index ae5ae757a3..9b026d8b60 100644 --- a/stepmania/src/archutils/Unix/CrashHandlerChild.cpp +++ b/stepmania/src/archutils/Unix/CrashHandlerChild.cpp @@ -301,9 +301,9 @@ static void child_process() case SIGSEGV: case SIGBUS: if( crash.si.si_code == SI_USER ) - reason += ssprintf( " from pid %i", (int) crash.si.si_addr ); + reason += ssprintf( " from pid %li", (long) crash.si.si_addr ); else - reason += ssprintf( " at 0x%08x", (unsigned int) crash.si.si_addr ); + reason += ssprintf( " at 0x%0*lx", int(sizeof(void*)*2), (unsigned long) crash.si.si_addr ); } break; }