Re: Linux 4.19 and GCC 9

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey Miguel,

The first error is during perf build process (make -C tools/perf install):

[17:38:21] In file included from /usr/include/string.h:635,
[17:38:21]                  from ui/tui/helpline.c:4:
[17:38:21] In function 'strncpy',
[17:38:21]     inlined from 'tui_helpline__push' at ui/tui/helpline.c:27:2:
[17:38:21] /usr/include/x86_64-linux-gnu/bits/string3.h:126:10: error:
'__builtin_strncpy' specified bound 512 equals destination size
[-Werror=stringop-truncation]
[17:38:21]   126 |   return __builtin___strncpy_chk (__dest, __src,
__len, __bos (__dest));
[17:38:21]       |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[17:38:21] cc1: all warnings being treated as errors
[17:38:21] /cfsetup_build/build/linux-4.19.43/tools/build/Makefile.build:96:
recipe for target '/cfsetup_build/build/amd64/perf/ui/tui/helpline.o'
failed
[17:38:21] mv: cannot stat
'/cfsetup_build/build/amd64/perf/ui/tui/.helpline.o.tmp': No such file
or directory
[17:38:21] make[6]: ***
[/cfsetup_build/build/amd64/perf/ui/tui/helpline.o] Error 1
[17:38:21] make[5]: *** [tui] Error 2
[17:38:21] make[4]: *** [ui] Error 2

I see that stringop-truncation is disabled in toplevel Makefile, but
not sure if perf is using it.

If I disable perf build, the next thing is warnings like these:

mm/slub.o: warning: objtool: init_cache_random_seq()+0x36: sibling
call from callable instruction with modified stack frame
mm/slub.o: warning: objtool: slab_out_of_memory()+0x3b: sibling call
from callable instruction with modified stack frame
mm/slub.o: warning: objtool: slab_pad_check.part.0()+0x7c: sibling
call from callable instruction with modified stack frame
mm/slub.o: warning: objtool: check_slab()+0x1c: sibling call from
callable instruction with modified stack frame

After patching that I see:

In file included from /tmp/build/linux-4.19.43/arch/x86/crypto/aes_glue.c:6:
/tmp/build/linux-4.19.43/include/linux/module.h:133:6: warning:
'init_module' specifies less restrictive attribute than its target
'aes_init': 'cold' [-Wmissing-attributes]
  133 |  int init_module(void) __attribute__((alias(#initfn)));
      |      ^~~~~~~~~~~
/tmp/build/linux-4.19.43/arch/x86/crypto/aes_glue.c:64:1: note: in
expansion of macro 'module_init'
   64 | module_init(aes_init);
      | ^~~~~~~~~~~
/tmp/build/linux-4.19.43/arch/x86/crypto/aes_glue.c:54:19: note:
'init_module' target declared here
   54 | static int __init aes_init(void)
      |                   ^~~~~~~~

I'm not really comfortable with all the warnings, so I stopped the
build, maybe it indeed compiles through the end.

That's with GCC 9.1 on Debian Stretch (custom built package, Debian
has older one).


On Thu, May 16, 2019 at 12:24 PM Miguel Ojeda
<miguel.ojeda.sandonis@xxxxxxxxx> wrote:
>
> Hi Ivan,
>
> On Wed, May 15, 2019 at 8:55 PM Ivan Babrou <ivan@xxxxxxxxxxxxxx> wrote:
> >
> > Hey,
> >
> > It looks like it's not possible to build Linux 4.19.43 (latest LTS as
> > of today) with GCC 9.1 (latest stable GCC). From what I see, some
> > support for GCC 9 was added by Miguel (cc'd) in 4.20, but it was never
> > backported into 4.19.
>
> I just compiled 4.19.43 allmodconfig with GCC 9.1.1 and it succeeded
> (even if it gives a lot of warnings from objtool and
> -Wmissing-attributes).
>
> Which errors are you seeing? On which config?
>
> Cheers,
> Miguel



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux