From: "Alexander van Heukelum" <heukelum@fastmail.fm>
To: "Sam Ravnborg" <sam@ravnborg.org>,
"Cyrill Gorcunov" <gorcunov@gmail.com>
Cc: "Jan Beulich" <jbeulich@novell.com>,
linux-arch@vger.kernel.org,
"Alexander van Heukelum" <heukelum@mailshack.com>,
"Ingo Molnar" <mingo@elte.hu>,
"LKML" <linux-kernel@vger.kernel.org>,
"Andrew Morton" <akpm@linux-foundation.org>
Subject: Re: [PATCH 1/many] PROC macro to annotate functions in assembly files
Date: Thu, 18 Dec 2008 10:51:58 +0100 [thread overview]
Message-ID: <1229593918.31758.1290707307@webmail.messagingengine.com> (raw)
In-Reply-To: <20081217180023.GA5783@uranus.ravnborg.org>
On Wed, 17 Dec 2008 19:00:23 +0100, "Sam Ravnborg" <sam@ravnborg.org>
said:
> On Wed, Dec 17, 2008 at 08:38:24PM +0300, Cyrill Gorcunov wrote:
> > [Sam Ravnborg - Wed, Dec 17, 2008 at 06:26:40PM +0100]
> > | On Wed, Dec 17, 2008 at 10:17:54AM +0100, Alexander van Heukelum wrote:
> > | > Introduce the PROC macro in the generic header file
> > | > include/linux/linkage.h to annotate functions in assembly
> > | > files. This is a first step to fully annotate functions
> > | > (procedures) in .S-files. The PROC macro complements the
> > | > already existing and being used ENDPROC macro. The generic
> > | > implementation of PROC is exactly the same as ENTRY.
> > | >
> > | > The goal is to annotate functions, at least those called
> > | > from C code, with PROC at the beginning and ENDPROC at the
> > | > end. This is for the benefit of debugging and tracing. It
> > | > will also allow to introduce a framework to check for
> > | > nesting problems and missing annotations in a later stage
> > | > by overriding ENTRY/END and PROC/ENDPROC in architecture-
> > | > specific code, after the annotation errors have been fixed.
> > | >
> > | > Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
> > | > Cc: Sam Ravnborg <sam@ravnborg.org>
> > | > Cc: Andrew Morton <akpm@linux-foundation.org>
> > |
> > | I understand where you are coming from with these.
> > | But what I see now is:
> > |
> > | ENTRY/END
> > | PROC/ENDPROC
> > | KPROBE_ENTRY/KPROBE_END
> > |
> > | And it is not obvious for me reading the comment when I should
> > | expect which one to be used.
> > |
> > | Could we try to keep it down to two variants?
> > | And then document when to use which one.
> > |
> > | Sam
> > |
> >
> > Sam, I think eventually we should get something like this:
> >
> > - KPROBE will be eliminated and explicit section descriptions
> > are to be used
> > - ENTRY could be used / or renamed for something more descriptive
> > and being used aligned jmp targets or in case of procs with
> > shared body
I don't think ENTRY should be used for nested procedures. If the
author wants to do something like that, he better knew something
about the assembler anyhow.
> > - PROC/ENDPROC are to replace old ENTRY/END for procs being called
> > mostly from C code
Currently there is many different patterns. Some functions use ENTRY
without END, some use ENTRY/ENDPROC, some use ENDPROC without annotation
at the start...
> So what prevents us from extending ENTRY/END instead of introducing
> another set?
ENTRY/END alone is not enough if one wants to be able to distinguish
between code (functions) and non-executed data.
> Let us try to extend what we have and not introduce something new.
Agreed. I vote to complement the existing ENDPROC annotation with
the proposed PROC annotation. Let's call that an extension, not
something new ;). As it stands it is not impossible to go with
ENTRY/ENDPROC for code and ENTRY/END for data. However, ENTRY
implies alignment and the prefered alignment for code and data
might differ.
Greetings,
Alexander
> Sam
--
Alexander van Heukelum
heukelum@fastmail.fm
--
http://www.fastmail.fm - Access your email from home and the web
next prev parent reply other threads:[~2008-12-18 9:52 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-17 9:17 PROC macro to annotate functions in assembly files Alexander van Heukelum
2008-12-17 9:17 ` [PATCH 1/many] " Alexander van Heukelum
2008-12-17 9:17 ` [PATCH last/many] x86: checking framework for correct use of ENTRY/PROC Alexander van Heukelum
2008-12-17 11:51 ` Cyrill Gorcunov
2008-12-17 12:04 ` Alexander van Heukelum
2008-12-17 14:43 ` Cyrill Gorcunov
2008-12-17 17:26 ` [PATCH 1/many] PROC macro to annotate functions in assembly files Sam Ravnborg
2008-12-17 17:38 ` Cyrill Gorcunov
2008-12-17 18:00 ` Sam Ravnborg
2008-12-17 18:33 ` Cyrill Gorcunov
2008-12-18 9:51 ` Alexander van Heukelum [this message]
2008-12-18 10:07 ` Russell King
2008-12-18 11:30 ` Alexander van Heukelum
2008-12-18 10:20 ` Jan Beulich
2008-12-18 12:03 ` Cyrill Gorcunov
2008-12-18 12:40 ` Alexander van Heukelum
2008-12-18 16:05 ` Cyrill Gorcunov
2008-12-18 9:23 ` Alexander van Heukelum
2008-12-18 12:52 ` Ingo Molnar
2008-12-17 10:53 ` David Howells
2008-12-17 11:12 ` Alexander van Heukelum
2008-12-18 11:44 ` Russell King
2008-12-18 12:35 ` Alexander van Heukelum
2008-12-18 15:53 ` Russell King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1229593918.31758.1290707307@webmail.messagingengine.com \
--to=heukelum@fastmail.fm \
--cc=akpm@linux-foundation.org \
--cc=gorcunov@gmail.com \
--cc=heukelum@mailshack.com \
--cc=jbeulich@novell.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=sam@ravnborg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox