[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LSU.2.20.1705221333150.26873@cbobk.fhfr.pm>
Date: Mon, 22 May 2017 13:34:24 +0200 (CEST)
From: Jiri Kosina <jikos@...nel.org>
To: "H.J. Lu" <hjl.tools@...il.com>
cc: Andy Lutomirski <luto@...nel.org>,
Josh Poimboeuf <jpoimboe@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Jiri Slaby <jslaby@...e.cz>,
Andrew Morton <akpm@...ux-foundation.org>,
live-patching@...r.kernel.org,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
the arch/x86 maintainers <x86@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH 7/7] DWARF: add the config option
On Sat, 20 May 2017, H.J. Lu wrote:
> >>>> pushq %whatever
> >>>> .cfi_adjust_sp -8
> >>>> ...
> >>>> popq %whatever
> >>>> .cfi_adjust_sp 8
> >>>>
> >>
> >> Np. Compiler needs to generate this.
> >>
> >
> > How would the compiler generate this when inline asm is involved? For
> > the kernel, objtool could get around the need to have these
> > annotations, but not so much for user code? Is the compiler supposed
> > to parse the inline asm? Would the compiler provide some magic % code
> > to represent the current CFA base register?
>
> Here is one example of inline asm with call frame info:
>
> https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86_64/sigaction.c;h=be058bac436d1cc9794b2b03107676ed99f6b872;hb=HEAD
That brings us basically pretty close to square one though; having to
maintain "manual" anotations. Something we're pretty much trying to avoid
through this excercise.
--
Jiri Kosina
SUSE Labs
Powered by blists - more mailing lists