Hi,
Sorry for late reply because I just found this thread before the long vacation so I didn't have much time to deal with it.
On 2022/10/7 4:35, Nick Desaulniers wrote:
On Fri, Sep 30, 2022 at 2:15 PM Nick Desaulniers ndesaulniers@google.com wrote:
commit 1069c1dd20a3 ("ARM: 9231/1: Recover kretprobes return address for EABI stack unwinder") tickled a bug in clang's integrated assembler where the .save and .pad directives must have corresponding .fnstart directives. The integrated assembler is unaware that the compiler will be generating the .fnstart directive.
arch/arm/probes/kprobes/core.c:409:30: error: .fnstart must precede .save or .vsave directives <inline asm>:3:2: note: instantiated into assembly here .save {sp, lr, pc} ^ arch/arm/probes/kprobes/core.c:412:29: error: .fnstart must precede .pad directive <inline asm>:6:2: note: instantiated into assembly here .pad #52 ^
Chen, I noticed that your patch was discarded; it's not in linux-next today. https://lore.kernel.org/linux-arm-kernel/YzHPGvhLkdQcDYzx@shell.armlinux.org... https://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=9231/1 How would you like to proceed here?
Since 6.1 is closing now. Let's reorganize everything and queue it up for -next for 6.2
I think moving this out of line, incorporating Ard's feedback, then putting the UNWIND directives on top might be the way to go. What do you think?
This way looks good to me.
How about making a set for this, to make everything more clear:
1. Move this out of line
2. Apply the feature, test with gcc & clang
3. Other cleaning, or merge with 2 if the cleaning is tiny.
I'll send another version for this, rebased to 6.1-rc1
Thanks for your time!
Best,
Chen