public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* new objtool warnings again...
@ 2016-09-23 20:33 Linus Torvalds
  2016-09-23 21:06 ` Linus Torvalds
  2016-09-23 21:14 ` Josh Poimboeuf
  0 siblings, 2 replies; 11+ messages in thread
From: Linus Torvalds @ 2016-09-23 20:33 UTC (permalink / raw)
  To: Josh Poimboeuf
  Cc: Ingo Molnar, Arnaldo Carvalho de Melo, Linux Kernel Mailing List

Josh,

 the current F24 toolchain causes

    kernel/signal.o: warning: objtool: .altinstr_replacement+0x54:
call without frame pointer save/setup

during a regular allmodconfig build.

Doing an objdump says:

...
  54:   e8 00 00 00 00          callq  59 <.altinstr_replacement+0x59>
                        55: R_X86_64_PC32       copy_user_generic_string-0x4
  59:   e8 00 00 00 00          callq  5e <.altinstr_replacement+0x5e>
                        5a: R_X86_64_PC32
copy_user_enhanced_fast_string-0x4
...

so it seems to come from the alternative_call_2() in copy_user_generic().

It's somewhere in copy_siginfo_to_user(), so I assume it's just the

        if (from->si_code < 0)
                return __copy_to_user(to, from, sizeof(siginfo_t))
                        ? -EFAULT : 0;

case.  Looking at the code generation, it looks like the frame pointer
generation in that function has been moved down past this code, so the
objtool warning seems to be correct, but this indicates that gcc has
decided that we don't need a frame for that alternative_call_2()
thing.

So this code is clearly missing the magic to tell gcc that the asm
needs a frame pointer.

What was that magic again? Mind sending a patch?

                Linus

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-09-27 17:58 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-23 20:33 new objtool warnings again Linus Torvalds
2016-09-23 21:06 ` Linus Torvalds
2016-09-23 21:16   ` Josh Poimboeuf
2016-09-23 21:19     ` Linus Torvalds
2016-09-26 16:49       ` Arnaldo Carvalho de Melo
2016-09-27 17:58         ` Josh Poimboeuf
2016-09-23 21:14 ` Josh Poimboeuf
2016-09-23 21:18   ` Linus Torvalds
2016-09-23 21:49     ` [PATCH] x86/alternatives: add stack frame dependency to alternative_call_2() Josh Poimboeuf
2016-09-23 23:23       ` Linus Torvalds
2016-09-24 16:28       ` [tip:x86/asm] x86/alternatives: Add " tip-bot for Josh Poimboeuf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox