Re: [PATCH 7/7] DWARF: add the config option

From: H.J. Lu
Date: Sat May 20 2017 - 18:20:47 EST


On Sat, May 20, 2017 at 2:58 PM, Andy Lutomirski <luto@xxxxxxxxxx> wrote:
> On Sat, May 20, 2017 at 1:01 PM, H.J. Lu <hjl.tools@xxxxxxxxx> wrote:
>> On Sat, May 20, 2017 at 9:20 AM, Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
>>
>>>>
>>>> (H.J., could we get a binutils feature that allows is to do:
>>>>
>>>> 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

--
H.J.