Fedora – 28 Released, but Fails with GCC 8 and Kernel 4.16…

Fedora 28 has been released, but this includes GCC 8 (8.0.1) which – currently – is not capable of compiling Kernel 4.16 as-is (tested with 4.16.6):

 ..................................
CC /usr/src/linux-4.16.6/tools/objtool/objtool.o
 CC /usr/src/linux-4.16.6/tools/objtool/libstring.o
 CC /usr/src/linux-4.16.6/tools/objtool/str_error_r.o
../lib/str_error_r.c: In function ‘str_error_r’:
../lib/str_error_r.c:25:3: error: passing argument 1 to restrict-qualified parameter aliases with argument 5 [-Werror=restrict]
 snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, buf, buflen, err);
 ^~~~~~~~
 HOSTCC scripts/mod/file2alias.o
cc1: all warnings being treated as errors
.....................................

See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84919

Kernel 4.17 (4.17-rc3) does compile, but with multiple warnings:

 .....................
CC lib/earlycpio.o
drivers/dma/dmaengine.o: warning: objtool: dma_async_device_register()+0x22: sibling call from callable instruction with modified stack frame
lib/earlycpio.o: warning: objtool: find_cpio_data()+0x218: sibling call from callable instruction with modified stack frame
 CC lib/extable.o
 CC drivers/dma/virt-dma.o
fs/nfsd/vfs.o: warning: objtool: nfsd_lookup_dentry()+0x6d: sibling call from callable instruction with modified stack frame
fs/nfsd/vfs.o: warning: objtool: nfsd_vfs_write()+0x230: sibling call from callable instruction with modified stack frame
fs/nfsd/vfs.o: warning: objtool: nfsd_symlink()+0x92: sibling call from callable instruction with modified stack frame
fs/nfsd/vfs.o: warning: objtool: nfsd_link()+0xdd: sibling call from callable instruction with modified stack frame
fs/nfsd/vfs.o: warning: objtool: nfsd_unlink()+0x8b: sibling call from callable instruction with modified stack frame
fs/nfsd/vfs.o: warning: objtool: nfsd_setattr()+0x140: sibling call from callable instruction with modified stack frame
fs/nfsd/vfs.o: warning: objtool: do_nfsd_create()+0x114: sibling call from callable instruction with modified stack frame
fs/nfsd/vfs.o: warning: objtool: nfsd_create()+0xbf: sibling call from callable instruction with modified stack frame
fs/nfsd/vfs.o: warning: objtool: nfsd_racache_shutdown()+0xb: sibling call from callable instruction with modified stack frame
fs/nfsd/vfs.o: warning: objtool: nfsd_racache_init()+0x3e: sibling call from callable instruction with modified stack frame
 CC [M] fs/nfsd/export.o
....................................
 CC lib/kobject.o
In function ‘fill_kobj_path’,
 inlined from ‘kobject_get_path’ at lib/kobject.c:155:2:
lib/kobject.c:128:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
 strncpy(path + length, kobject_name(parent), cur);
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib/kobject.c: In function ‘kobject_get_path’:
lib/kobject.c:125:13: note: length computed here
 int cur = strlen(kobject_name(parent));
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
.................................   etc..........

Despite all this, the resulting kernel loads/runs OK:

# uname -a
Linux rgup 4.17.0-rc3 #1 SMP Sun Apr 29 18:19:03 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux

So, for the time being, I am staying with Fedora 27 on my main system..

Robert Gadsdon.   May 2, 2018.


Leave a Reply

Your email address will not be published. Required fields are marked *