blob: d9888516d9c73e7f071a79848f227874aa665bca [file] [log] [blame]
// Given a function pointer, return the code address.
// If the plabel bit is set, mask it off and return the code from the
// first word of the function descriptor. Otherwise, the function
// pointer is the code address.
#define UNWRAP_FUNCTION_DESCRIPTOR(X) \
(((unsigned int)(X)) & 2 ? *(void **)(((unsigned int)(X)) & ~3) : (X))