>>> On 30.09.11 at 14:42, Richard Guenther <richard.guent...@gmail.com> wrote: > On Fri, Sep 30, 2011 at 1:43 PM, Jan Beulich <jbeul...@suse.com> wrote: >> This is so that use of symbols referenced in these asm()-s can be >> properly tracked by the compiler, just like is the case for all other >> asm()-s. I'm particularly looking forward to use this in the Linux >> kernel. It is certainly not very useful in PIC code, at least not with >> some extra care. > > I miss documentation for this.
Just like on the first submission - if top level asm-s as they are without this change were documented somewhere, I would be happy to extend that documentation. But honestly, I don't think it's appropriate to ask me to start writing documentation for this from ground up - that should be done by someone more familiar with the base feature, so that eventual caveats can be pointed out, and it can be put at a proper (rather than guessed) location in the documentation. > This does not address the other issue > we have, like specifying the set of symbols _defined_ by a toplevel > asm, right? I might misremember but sth like > > extern void foo (void); > asm("" :::: "foo"); > > was supposed to do the trick. Or should we treat those as outputs > (given you use inputs for symbol uses)? I don't recall any discussion of how to deal with symbols defined by a top level asm - I was just asked to follow the "normal" asm syntax in having two colons in the middle instead of one as I had originally (not expecting any use for outputs here). Jan > Honza, do you remember if we decided on anything here? > > Thanks, > Richard.