X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/3903760236c30e3b5ace7a4eefac3a269d68957c..f427ee49d309d8fc33ebf3042c3a775f2f530ded:/libkern/os/trace_internal.h diff --git a/libkern/os/trace_internal.h b/libkern/os/trace_internal.h index 3c5b31116..8073b0772 100644 --- a/libkern/os/trace_internal.h +++ b/libkern/os/trace_internal.h @@ -26,40 +26,17 @@ #include #include +#include #include __BEGIN_DECLS -typedef union { - struct { -#if __LP64__ - uintptr_t pc : 48; -#else - uintptr_t pc; -#endif - // not encoded - firehose_tracepoint_flags_t flags; - uintptr_t dso; - uuid_t uuid; - }; - - uint32_t offset; - uint64_t vlocation : 48; // we never use the full 64-bits - -#if defined(__LP64__) - uint8_t encode_value[6]; // 48-bits -#else - uint8_t encode_value[sizeof(uintptr_t)]; -#endif -} os_trace_location_u; - -typedef os_trace_location_u *os_trace_location_t; - OS_ALWAYS_INLINE inline uint32_t _os_trace_offset(const void *dso, const void *addr, _firehose_tracepoint_flags_activity_t flags __unused) { - return (uint32_t) ((uintptr_t)addr - (uintptr_t)dso); + assert((uintptr_t)addr >= (uintptr_t)dso); + return (uint32_t) ((uintptr_t)addr - (uintptr_t)dso); } bool