[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMe9rOramET+aLnFyzLHB7SPDpcpssEPQmG=e0Y4kb8QuPhKyA@mail.gmail.com>
Date: Mon, 22 May 2017 07:39:57 -0700
From: "H.J. Lu" <hjl.tools@...il.com>
To: Jiri Kosina <jikos@...nel.org>
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 Mon, May 22, 2017 at 4:34 AM, Jiri Kosina <jikos@...nel.org> wrote:
> 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.
Assembler only encodes instructions. You need to a different tool
to figure out what an instruction does.
--
H.J.
Powered by blists - more mailing lists