[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKwvOdku_BOi6m2ugaef6=8+VH_+KAHH-Ch+uZZqMr8WAKARCw@mail.gmail.com>
Date: Tue, 31 Jul 2018 15:32:30 -0700
From: Nick Desaulniers <ndesaulniers@...gle.com>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Pirama Arumuga Nainar <pirama@...gle.com>,
Greg Hackmann <ghackmann@...gle.com>,
Mark Salyzyn <salyzyn@...gle.com>
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
Powered by blists - more mailing lists