Messages in this thread | | | From | Nick Desaulniers <> | Date | Tue, 31 Jul 2018 15:32:30 -0700 | Subject | Getting the instruction pointer on a per arch basis |
| |
I'm currently looking into cleaning up the code duplication between current_text_addr() and _THIS_IP_, virtually every implementation of current_text_addr() and _THIS_IP_ itself are basically:
#define _THIS_IP_ ({ __label__ _l; _l: &&_l; })
For a few arch's, they have inline assembly instead (for current_text_addr()). Examples: * s390 * sh * ia64 * x86 (um and 32b) * c6x * sparc
I have a patch that cuts down on the duplication, but I don't understand why the few arch specific implementations are necessary. I could reduce the duplication further if it's ok to just use the statement expression.
Does anyone know why this is the case? -- Thanks, ~Nick Desaulniers
| |