Messages in this thread | | | Date | Tue, 19 Sep 2017 14:52:26 -0500 | From | Josh Poimboeuf <> | Subject | Re: gcc-8 objtool warnings |
| |
On Mon, Sep 11, 2017 at 04:34:52PM +0200, Arnd Bergmann wrote: > On Thu, Aug 24, 2017 at 9:19 PM, Josh Poimboeuf <jpoimboe@redhat.com> wrote: > > On Thu, Aug 24, 2017 at 12:14:27PM +0200, Arnd Bergmann wrote: > >> On Wed, Aug 23, 2017 at 6:01 PM, Josh Poimboeuf <jpoimboe@redhat.com> wrote: > >> > On Wed, Aug 23, 2017 at 03:38:02PM +0200, Arnd Bergmann wrote: > >> >> On Wed, Aug 23, 2017 at 2:48 PM, Josh Poimboeuf <jpoimboe@redhat.com> wrote: > >> >> > On Wed, Aug 23, 2017 at 02:22:34PM +0200, Arnd Bergmann wrote: > >> >> >> ... > >> >> >> > >> >> >> 0000000000000000 <put_cred_rcu.cold.1>: > >> >> >> 0: e8 00 00 00 00 callq 5 <put_cred_rcu.cold.1+0x5> > >> >> >> 1: R_X86_64_PC32 __sanitizer_cov_trace_pc-0x4 > >> >> >> 5: 44 8b 8b 64 ff ff ff mov -0x9c(%rbx),%r9d > >> >> >> c: 48 8b 8b 68 ff ff ff mov -0x98(%rbx),%rcx > >> >> >> 13: 44 89 e2 mov %r12d,%edx > >> >> >> 16: 44 8b 83 60 ff ff ff mov -0xa0(%rbx),%r8d > >> >> >> 1d: 4c 89 ee mov %r13,%rsi > >> >> >> 20: 48 c7 c7 00 00 00 00 mov $0x0,%rdi > >> >> >> 23: R_X86_64_32S .rodata.str1.8+0x28 > >> >> >> 27: e8 00 00 00 00 callq 2c <__kstrtab_creds_are_invalid+0x3> > >> >> >> 28: R_X86_64_PC32 panic-0x4 > >> >> > > >> >> > Thanks. Can you send me one of the .o files? > >> >> > >> >> Attached here now. > >> > > >> > Ok, looks like I'll need to add support for this new pattern (jumping to > >> > a .cold section in .text.unlikely). > >> > > >> > I'm also about to start work on fixing that other issue you found with > >> > GCC's inefficient update of the stack pointer. > >> > > >> > I really appreciate your finding all these warnings (and getting advance > >> > GCC 8 testing). Thanks again! > >> > >> No worries. I've disabled the four warnings in objtool that triggered now > >> and almost all are gone, but I still get a few warnings after doing additional > >> randconfig builds. > > > > Ok, I've got a fix for *most* of them below. > > > > Still need to fix the gc.o warning, which at first glance looks like a > > new switch statement pattern. > > I now got around to testing your patch, and ran into a few remaining > problems: > > 1. one configuration causing tons of warnings, on most compiler > versions (4.9 and newer), and even a couple of "unreachable > instruction warnings on gcc-4.3. > > arch/x86/mm/pageattr.o: warning: objtool: set_memory_x()+0x3a: call > without frame pointer save/setup > security/keys/keyring.o: warning: objtool: keyring_read()+0x70: leave > instruction with modified stack frame > arch/x86/events/intel/pt.o: warning: objtool: > pt_event_addr_filters_sync uses BP as a scratch register
I downloaded the tarball, and I see configs/logs for the other problems, but not for this one. Did you forget to attach it, or did I miss it?
-- Josh
| |