Re: [PATCH] scripts/tags.sh: Add magic for OFFSET and DEFINE

From: Kirill Tkhai
Date: Wed Mar 27 2013 - 08:05:43 EST




27.03.2013, 01:35, "Michal Marek" <mmarek@xxxxxxx>:
> On Sat, Mar 23, 2013 at 02:58:20PM +0400, Kirill Tkhai wrote:
>
>>  Add rules for definitions which is generally used in asm-offsets files.
>>
>>  Signed-off-by: Kirill V Tkhai <tkhai@xxxxxxxxx>
>>  CC: Michal Marek <mmarek@xxxxxxx>
>>  CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
>>  ---
>>   scripts/tags.sh |    4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>  diff --git a/scripts/tags.sh b/scripts/tags.sh
>>  index 26a87e6..74f02e4 100755
>>  --- a/scripts/tags.sh
>>  +++ b/scripts/tags.sh
>>  @@ -199,7 +199,9 @@ exuberant()
>>           --regex-c='/DEFINE_PER_CPU_SHARED_ALIGNED\(([^,]*,\s*)(\w*).*\)/\2/v/' \
>>           --regex-c='/DECLARE_WAIT_QUEUE_HEAD\((\w*)/\1/v/' \
>>           --regex-c='/DECLARE_(TASKLET|WORK|DELAYED_WORK)\((\w*)/\2/v/' \
>>  - --regex-c='/DEFINE_PCI_DEVICE_TABLE\((\w*)/\1/v/'
>>  + --regex-c='/DEFINE_PCI_DEVICE_TABLE\((\w*)/\1/v/' \
>>  + --regex-c='/(^\s)OFFSET\((\w*)/\2/v/' \
>>  + --regex-c='/(^\s)DEFINE\((\w*)/\2/v/'
>
> The macro definitions in the asm-offsets.h file are ammended with a
> comment explaining what the value actually means. So you see both the
> value and the semantic of the macro:
>
> #define TI_flags 16 /* offsetof(struct thread_info, flags)      # */
>
> By jumping to the asm-offset.c file instead, you would get only a subset
> of that information.
>
> OFFSET(TI_flags, thread_info, flags);
>
> Unless I'm missing something, I don't think that this patch improves
> much.

This patch does not annul definitions in asm-offsets.h. They stay still on their places.
It adds OFFSETs and DEFINEs from asm-offsets.c files.

When kernel is not precompiled you do not have asm-offsets.h and you are not
able to see what is the place offsets are defined for yor architecture.

Also, you are not able to look at other architectures because they do not have
precompiled asm-offsets.h.

I use ALLSOURCE_ARCHS=`ls arch/ | grep -v Kconfig` make tags to generate tags.
I thing some people do the same and sometimes they need offsets for another
architectures.

Kirill
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/