Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building the Linux kernel using LTO #90

Open
InBetweenNames opened this issue Jan 27, 2018 · 123 comments
Open

Building the Linux kernel using LTO #90

InBetweenNames opened this issue Jan 27, 2018 · 123 comments

Comments

@InBetweenNames
Copy link
Owner

I find it interesting that there hasn't been more push to build the kernel using LTO. I've found a couple of mailing list threads about it, including a patchset to let it happen, but there wasn't a lot of interest upstream. I've created this issue as a way to track what the current LTO progress in the kernel is, and possibly even add some patchsets to let it happen. I know I'd for sure use it on my router if I could with OpenWRT.

@sjnewbury
Copy link

@InBetweenNames I would use it on my router too, I think at the time the gcc LTO toolchain wasn't very mature and few were able too make much use of it, particularly embedded* Linux where there would be most interest. Without that buy-in the kernel devs weren't going to let the patches in.

Perhaps resurrecting the patch set and getting it working again could be successful now that lto support is pretty ubiquitous in distros and most embedded devs must be using it by now for their user space.

  • embedded toolchains tend to be quite conservative and stick around for a while

@ionenwks
Copy link

ionenwks commented Nov 11, 2018

Seems some remnants of those patches are still in the kernel (notably DISABLE_LTO so it doesn't use it for vdso), so I tried with 4.19.1. Formerly used scripts/gcc-ld but didn't work for me so I used gold. I doubt it's accomplishing anything built this way (size barely changed with other defaults). Despite using gcc-ar, was also complaining about the lto plugin unless -ffat-lto. Patchset used to use -fwhole-program too but that didn't work. Nonetheless, thought I'd do the crazy thing and build the kernel with:

make -j8 AR=gcc-ar NM=gcc-nm LD=ld.gold KCFLAGS="-march=native -O3 -falign-functions=32 -fipa-pta -fno-semantic-interposition -fgraphite-identity -floop-nest-optimize -flto=8 -ffat-lto-objects" DISABLE_LTO=-fno-lto

Which.. worked.. and booted fine. I am now the proud owner of a kernel that 30% bigger than before, probably not faster, and set out to kill my dog, but thankfully running in QEMU away from my dog.
Edit: well, removing LTO with the same options does make it like 10% even bigger.

@gcs-github
Copy link
Contributor

It might be interesting to compare the speed of some syscall- / kernel-bound workloads when successfully built with LTO. Anyone with an idea on how to start benchmarking our gains or losses?

@darkbasic
Copy link
Contributor

Not sure, but if you check the kernel mailing list plenty of those benchmarks have been done in the past. I remember seeing pretty big gains with LTO, but not sure if those reflected into any gain for daily usage.
Some more info about how to benchmark the kernel: https://github.com/graysky2/kernel_gcc_patch

@cb88
Copy link

cb88 commented Nov 14, 2018

One thing about LTO is you have to build as many of your models into the kernel as possible... so it knows what it can eliminate when linking... so you get the biggest gains on a completely static kernel (this of course breaks somethings that load firmware etc... some of that you can work around by building in the blobs though).

@ms178
Copy link

ms178 commented Jan 8, 2019

Andi Kleen rebased his LTO patches for the Kernel on 4.20 recently. I've tried it out but had no luck and several module errors along the way. Nevertheless, you can find these patches here: https://github.com/andikleen/linux-misc/tree/lto-420-1

@ionenwks
Copy link

ionenwks commented Jan 9, 2019

^ Didn't experiment much but gave it a quick try and it built fine for me with my configuration and CONFIG_LTO=y which auto-adds -flto -fno-fat-lto-objects. Didn't try a generic one and I use almost no modules which, as stated in the other above post, is better suited for a LTO kernel anyway.

Looks like it's using the gcc-ld script and working properly. I do have gold as my default linker (been using it even for kernel).

I imagine it may make more of a difference on a less-lean kernel, but my resulting 4.20 kernel is about 1% smaller than my old, didn't try to boot and also no idea for any performance gains.

@Promaethius
Copy link

Promaethius commented Aug 11, 2019

@ionenwks I'm trying to replicate the steps on a gentoo system to build an LTO'd kernel. However, I always error out on the linking portion: /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: arch/x86/kernel/head_64.o: requires unsupported dynamic reloc 11; recompile with -fPIC
I have added this flag to the base KBUILD_CFLAGS but to no effect. I also have ld.gold enabled by default.
What version of GCC and binutils are you using? Did you make any configurations to the Makefile from Andi Kleen's repo?

@ionenwks
Copy link

ionenwks commented Aug 11, 2019

Hmm... I tried again both with the lto-420-1 branch from back then along with same configuration and the newer lto-5.1-3, and I'm getting the same errors as you now (using gcc 8.3.0 and ld.bfd 2.32).

Not sure what I was using back then but looking at the date I assume I was on gcc 8.2 and binutils 2.30 I think? It's only something I tried real quick, I had no intention to stick with that for now (or boot it).

Edit: Retried with gold as default (switched back to bfd a while ago), doesn't work either, not with current toolchain anyway.
Edit2: And no, I hadn't made any changes, used as-is.

@Promaethius
Copy link

Promaethius commented Aug 11, 2019

@ionenwks thank you for taking the time to check through the issue! I was afraid it was a toolchain version issue, so I wonder if this is a reportable bug?
I'm going to take some time today and check if its a gcc or binutils issue.
Edit: I'm throwing some more configuration testing into this mess. Found this article over on the patch list: https://patchwork.kernel.org/patch/10000627/

@jiblime
Copy link
Contributor

jiblime commented Aug 12, 2019

I was able to build 5.0-1 successfully, however I did not test it and the system it was on it now gone.

-fPIC would cause reloc .text errors if it was built with visibility=hidden or ssp(but the Makefile already filters that). Maybe -flinker-output=rel would make sense here, but I couldn't get the syntax correct. because parts of the kernel build are still static, and static objects aren't able to find PIC references. If anyone knows his full patchset without a kernel tree that'd be really helpful.

@Promaethius
Copy link

@jiblime You can find his patchset on the kernel mailing list but it won't really help: https://lkml.org/lkml/2017/11/27/1052
THIN_ARCHIVES was a config option that was removed in 4.19+. It went around the supposed issue of ld -r. But, I've narrowed it down to a ld issue of some sort. There are kernel patches that let you fPIC the code but they aren't working for me yet.

@jiblime
Copy link
Contributor

jiblime commented Aug 12, 2019

@Promaethius Thanks for the link. I'm currently trying to edit arch/x86/entry/vdso/Makefile to work. At the very bottom you can try appending flags after ${LD} but nothing has worked for me, even the options to specifically suppress the error.

I went and checked a regular kernel and I noticed that it's normal(?) for a hidden symbol to be there.

Both comands ran were readelf vclock_gettime.o -s

5.1-3 LTO:

Symbol table '.symtab' contains 25 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS vclock_gettime.c
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT    1 
     3: 0000000000000000     0 SECTION LOCAL  DEFAULT    3 
     4: 0000000000000000     0 SECTION LOCAL  DEFAULT    4 
     5: 0000000000000000   174 FUNC    LOCAL  DEFAULT    1 do_hres
     6: 0000000000000000     0 SECTION LOCAL  DEFAULT    5 
     7: 0000000000000000     0 SECTION LOCAL  DEFAULT    7 
     8: 0000000000000000     0 SECTION LOCAL  DEFAULT    8 
     9: 0000000000000000     0 SECTION LOCAL  DEFAULT   10 
    10: 0000000000000000     0 SECTION LOCAL  DEFAULT   11 
    11: 0000000000000000     0 SECTION LOCAL  DEFAULT   12 
    12: 0000000000000000     0 SECTION LOCAL  DEFAULT   14 
    13: 0000000000000000     0 SECTION LOCAL  DEFAULT   15 
    14: 0000000000000000     0 SECTION LOCAL  DEFAULT   17 
    15: 0000000000000000     0 SECTION LOCAL  DEFAULT   19 
    16: 0000000000000000     0 SECTION LOCAL  DEFAULT   20 
    17: 0000000000000000     0 SECTION LOCAL  DEFAULT   18 
    18: 0000000000000000     0 NOTYPE  GLOBAL HIDDEN   UND vvar_vsyscall_gtod_data
    19: 00000000000000b0   111 FUNC    GLOBAL DEFAULT    1 __vdso_clock_gettime
    20: 00000000000000b0   111 FUNC    WEAK   DEFAULT    1 clock_gettime
    21: 0000000000000120    98 FUNC    GLOBAL DEFAULT    1 __vdso_gettimeofday
    22: 0000000000000120    98 FUNC    WEAK   DEFAULT    1 gettimeofday
    23: 0000000000000190    16 FUNC    GLOBAL DEFAULT    1 __vdso_time
    24: 0000000000000190    16 FUNC    WEAK   DEFAULT    1 time
readelf: Warning: compressed section '.debug_str' is corrupted

5.2.8 kernel:

Symbol table '.symtab' contains 27 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS vclock_gettime.c
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT    1 
     3: 0000000000000000     0 SECTION LOCAL  DEFAULT    3 
     4: 0000000000000000     0 SECTION LOCAL  DEFAULT    4 
     5: 0000000000000000   392 FUNC    LOCAL  DEFAULT    1 do_hres
     6: 0000000000000000     0 SECTION LOCAL  DEFAULT    5 
     7: 0000000000000000     0 SECTION LOCAL  DEFAULT    7 
     8: 0000000000000000     0 SECTION LOCAL  DEFAULT    8 
     9: 0000000000000000     0 SECTION LOCAL  DEFAULT   10 
    10: 0000000000000000     0 SECTION LOCAL  DEFAULT   11 
    11: 0000000000000000     0 SECTION LOCAL  DEFAULT   12 
    12: 0000000000000000     0 SECTION LOCAL  DEFAULT   14 
    13: 0000000000000000     0 SECTION LOCAL  DEFAULT   15 
    14: 0000000000000000     0 SECTION LOCAL  DEFAULT   17 
    15: 0000000000000000     0 SECTION LOCAL  DEFAULT   19 
    16: 0000000000000000     0 SECTION LOCAL  DEFAULT   20 
    17: 0000000000000000     0 SECTION LOCAL  DEFAULT   18 
    18: 0000000000000000     0 NOTYPE  GLOBAL HIDDEN   UND vvar_vsyscall_gtod_data
    19: 0000000000000000     0 NOTYPE  GLOBAL HIDDEN   UND hvclock_page
    20: 0000000000000000     0 NOTYPE  GLOBAL HIDDEN   UND pvclock_page
    21: 0000000000000190   102 FUNC    GLOBAL DEFAULT    1 __vdso_clock_gettime
    22: 0000000000000190   102 FUNC    WEAK   DEFAULT    1 clock_gettime
    23: 0000000000000200    98 FUNC    GLOBAL DEFAULT    1 __vdso_gettimeofday
    24: 0000000000000200    98 FUNC    WEAK   DEFAULT    1 gettimeofday
    25: 0000000000000270    16 FUNC    GLOBAL DEFAULT    1 __vdso_time
    26: 0000000000000270    16 FUNC    WEAK   DEFAULT    1 time

readelf: Warning: compressed section '.debug_str' is corrupted looks to be of interest. Does this mean there needs to be more debug information built in?

@Promaethius
Copy link

@jiblime I found this on the gcc site today: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-fuse-linker-plugin-916

When a file is compiled with -flto without -fuse-linker-plugin, the generated object file is larger than a regular object file because it contains GIMPLE bytecodes and the usual final code (see -ffat-lto-objects. This means that object files with LTO information can be linked as normal object files; if -fno-lto is passed to the linker, no interprocedural optimizations are applied. Note that when -fno-fat-lto-objects is enabled the compile stage is faster but you cannot perform a regular, non-LTO link on them.

I've witnessed Andi Kleen's patchset passing -fno-fat-lto-objects without -fuse-linker-plugin. Will test this theory later today. This could explain why readelf is returning corruption, but pardon my ignorance if that's not the case.

@jiblime
Copy link
Contributor

jiblime commented Aug 13, 2019

@Promaethius

I've witnessed Andi Kleen's patchset passing -fno-fat-lto-objects without -fuse-linker-plugin

That explains why he uses -fwhole-program and and -fipa-cp-clone, since collect2 would be used instead of a linker. I'm assuming he's doing that for compatibility, as GCC documentation claims it's likely to increase code size vs. bfd/gold. I wonder if GentooLTO would be able to do something better...

I believe it's a glibc issue. I've upgraded to sys-libs/glibc-2.30::gentoo and have been able to get past it. Currently recompiling since paravirtualization options, not sure which, causes it to error.

https://sourceware.org/ml/libc-alpha/2019-08/msg00029.html

* The dynamic linker no longer refuses to load objects which reference
  versioned symbols whose implementation has moved to a different soname
  since the object has been linked.  The old error message, symbol
  FUNCTION-NAME, version SYMBOL-VERSION not defined in file DSO-NAME with
  link time reference, is gone.

It emits a warning, I'm still not sure why since Andi Kleen filters LTO out of it from what I can tell.

Warnings emitted with V=2

CC arch/x86/entry/vdso/vdso32-setup.o - due to target missing
LDS arch/x86/entry/vdso/vdso.lds - due to target missing
AS arch/x86/entry/vdso/vdso-note.o - due to target missing
CC arch/x86/entry/vdso/vclock_gettime.o - due to target missing
In file included from ./arch/x86/include/asm/vgtod.h:5,
from arch/x86/entry/vdso/vclock_gettime.c:15:
arch/x86/entry/vdso/vclock_gettime.c: In function ‘do_hres’:
./include/linux/compiler.h:182:26: warning: array subscript 1 is outside array bounds of ‘u8[1]’ {aka ‘unsigned char[1]’} [-Warray-bounds]
182 | case 8: *(__u64 *)res = *(volatile __u64 *)p; break;
| ^~~~~~~~~~~~~~~~~~~~
./include/linux/compiler.h:193:2: note: in expansion of macro ‘__READ_ONCE_SIZE’
193 | __READ_ONCE_SIZE;
| ^~~~~~~~~~~~~~~~
arch/x86/entry/vdso/vclock_gettime.c:37:11: note: while referencing ‘hvclock_page’
37 | extern u8 hvclock_page
| ^~~~~~~~~~~~
In file included from ./arch/x86/include/asm/vgtod.h:5,
from arch/x86/entry/vdso/vclock_gettime.c:15:
./include/linux/compiler.h:182:26: warning: array subscript 2 is outside array bounds of ‘u8[1]’ {aka ‘unsigned char[1]’} [-Warray-bounds]
182 | case 8: *(__u64 *)res = *(volatile __u64 *)p; break;
| ^~~~~~~~~~~~~~~~~~~~
./include/linux/compiler.h:193:2: note: in expansion of macro ‘__READ_ONCE_SIZE’
193 | __READ_ONCE_SIZE;
| ^~~~~~~~~~~~~~~~
arch/x86/entry/vdso/vclock_gettime.c:37:11: note: while referencing ‘hvclock_page’
37 | extern u8 hvclock_page
| ^~~~~~~~~~~~
CC arch/x86/entry/vdso/vgetcpu.o - due to target missing
VDSO arch/x86/entry/vdso/vdso64.so.dbg - due to target missing
OBJCOPY arch/x86/entry/vdso/vdso64.so - due to target missing
HOSTCC arch/x86/entry/vdso/vdso2c - due to target missing
VDSO2C arch/x86/entry/vdso/vdso-image-64.c - due to target missing
CC arch/x86/entry/vdso/vdso-image-64.o - due to target missing
LDS arch/x86/entry/vdso/vdso32/vdso32.lds - due to target missing
CC arch/x86/entry/vdso/vdso32/vclock_gettime.o - due to target missing
In file included from ./arch/x86/include/asm/vgtod.h:5,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:31:
arch/x86/entry/vdso/vdso32/../vclock_gettime.c: In function ‘do_hres’:
./include/linux/compiler.h:182:26: warning: array subscript 1 is outside array bounds of ‘u8[1]’ {aka ‘unsigned char[1]’} [-Warray-bounds]
182 | case 8: *(__u64 *)res = *(volatile __u64 *)p; break;
| ^~~~~~~~~~~~~~~~~~~~
./include/linux/compiler.h:193:2: note: in expansion of macro ‘__READ_ONCE_SIZE’
193 | __READ_ONCE_SIZE;
| ^~~~~~~~~~~~~~~~
In file included from arch/x86/entry/vdso/vdso32/vclock_gettime.c:31:
arch/x86/entry/vdso/vdso32/../vclock_gettime.c:37:11: note: while referencing ‘hvclock_page’
37 | extern u8 hvclock_page
| ^~~~~~~~~~~~
In file included from ./arch/x86/include/asm/vgtod.h:5,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:31:
./include/linux/compiler.h:182:26: warning: array subscript 2 is outside array bounds of ‘u8[1]’ {aka ‘unsigned char[1]’} [-Warray-bounds]
182 | case 8: *(__u64 *)res = *(volatile __u64 *)p; break;
| ^~~~~~~~~~~~~~~~~~~~
./include/linux/compiler.h:193:2: note: in expansion of macro ‘__READ_ONCE_SIZE’
193 | __READ_ONCE_SIZE;
| ^~~~~~~~~~~~~~~~
In file included from arch/x86/entry/vdso/vdso32/vclock_gettime.c:31:
arch/x86/entry/vdso/vdso32/../vclock_gettime.c:37:11: note: while referencing ‘hvclock_page’
37 | extern u8 hvclock_page
| ^~~~~~~~~~~~
AS arch/x86/entry/vdso/vdso32/note.o - due to target missing
AS arch/x86/entry/vdso/vdso32/system_call.o - due to target missing
AS arch/x86/entry/vdso/vdso32/sigreturn.o - due to target missing
VDSO arch/x86/entry/vdso/vdso32.so.dbg - due to target missing
OBJCOPY arch/x86/entry/vdso/vdso32.so - due to target missing
VDSO2C arch/x86/entry/vdso/vdso-image-32.c - due to target missing
CC arch/x86/entry/vdso/vdso-image-32.o - due to target missing

So as I understand, it would be a huge issue to have a textrel in a/the vdso because it'd be a vulnerability in a security feature. Gentoo's wiki actually has a guide on finding and fixing textrels: https://wiki.gentoo.org/wiki/Hardened/Textrels_Guide

But hopefully there's no need to recreate anything. While the vdso*.so files have a textrel flag marked on them, scanelf -T shows that there isn't anything that would point to it.

Glibc 2.29, GCC 9.1.0

 TYPE    PAX   PERM ENDIAN STK/REL/PTL TEXTREL RPATH BIND TEXTRELS FILE 
scanelf: scanelf_file_textrels(): ELF is missing relocation information
scanelf: scanelf_file_textrels(): ELF vdso32.so has TEXTREL markings but doesnt appear to have any real TEXTREL's !?
ET_DYN PeMRxS 0755 LE --- --- R-X TEXTREL   -   LAZY  vdso32.so

It did also emit this, though:

arch/x86/kernel/dumpstack.o: warning: objtool: show_regs.cold()+0x16: sibling call from callable instruction with modified stack frame
arch/x86/kernel/dumpstack.o: warning: objtool: show_regs()+0x0: stack state mismatch: cfa1=7+24 cfa2=7+8

So it looks like it can be possible, but definitely experimental and not a daily driver for myself. I'm going to be grabbing GCC 9.2 now so I won't be getting to it anytime soon (btw, I added 20G of swap with -j5 and it still failed, dammit), but if Glibc 2.30 is the fix, I think it'd be worth a shot to try using this kernel for testing.

If you were to use a linker instead of collect2 you can run replace -fwhole-program with fuse-linker-plugin in scripts/Makefile.lto as Gnu documentation states it's best not to use the former with the latter. Optimizations that would also help LTO specifically would be -fdevirtualize-at-ltrans and the -fgraphite-identity -floop-nest-optimize options. I've used these along other flags to compile and run my kernel, but if the linking stage is too much the process will overflow and it'll end.

What's interesting is that his newest version (as far as I can tell) lacks explicit linker usage but his older versions use -fuse-linker-plugin. So I could be wrong in assuming that removing -fwhole-program is the right way to go.

@jiblime
Copy link
Contributor

jiblime commented Aug 8, 2020

Andi Kleen's lto-5.7-2 branch branch builds and I am currently running it. I've applied the 5.7.14 patch, Gentoo distro patches, and a few other misc. patches with no rejects.

Notes:

  • nouveau does not build due to the command to building it being too long for shell

  • I wasn't able to load any modules, not when booted in or through my initrd. Used make mod2yesconfig to convert modules to being built in. [Correction 1 below]

  • ./scripts/Makefile.lto contains the settings for how LTO is done upon the kernel. I appended -flto-compression-level=9 to LTO_CFLAGS

  • In the same file, TMPDIR sets the building directory in the kernel directory instead of /tmp to prevent OOM. I copied the kernel to /var/tmp/portage instead because there are massive writes on disk during linking.

  • The primary demographic of LTO'd kernels seems to be embedded systems

The size of my LTO'd kernel is 22M, modules folder is 800K. Vs. my normal kernel at 11M and modules folder at 71M

  • It feels fast, that counts

Semi-related:

GCC 10's -O2 might be slightly slower than GCC 9's -O2

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96337#c15

Inliner changes was not targetting to make compile time faster and
compiled code slower. It was intended to reflect more closely modern C++
codebases and get faster binaries (at -O2 and -O2 -flto) without
regressing in code sizes.  In fact more inlining happens and thus we
needed to optimize inliner code carefully to avoid regressions with LTO.

If you have a -march=znver1/znver2 processor and run x86_64 multilib, rebuilding the current GCC 10.2.0 would mean a nice performance boost with this patch:

patch 1, patch 2

Refer to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95435


Correction 1: I incorrectly assumed modules weren't supported with -flto. While building everything into the kernel alleviated the issues, namely framebuffer and Logitech USB support, kernel compilation time was too long and I prefer being able to reload modules. The likely culprit in module failure was TRIM_UNUSED_KSYMS and possibly dracut defaulting to --strip the generated initrd; can't say for certain yet. I didn't get around to testing it enough but now I am able to load amdgpu in my initrd as usual instead of compiling it in.

@telans
Copy link
Contributor

telans commented Aug 8, 2020

* It feels fast, that counts

Can you describe in what way?

Cheers for the gcc links too

@barolo
Copy link

barolo commented Aug 8, 2020

oooh, imma test

@barolo
Copy link

barolo commented Aug 8, 2020

@jiblime Could you list the patches applied? All are from gentoo's ebuild?

@telans
Copy link
Contributor

telans commented Aug 8, 2020

@jiblime Could you list the patches applied? All are from gentoo's ebuild?

I haven't built it yet, but this patch applies fine to gentoo-sources-5.8 (just a diff from the lto-5.8.0-1 branch)

https://gist.github.com/telans/728b63dd07c41c9ca6e2ca3d4431db8e


Doesn't build for me unfortunately, lots of:

/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: ./.tmp_vmlinux.kallsyms1.mJXteD.ltrans123.ltrans.o: relocation R_X86_64_32S against `.data' can not be used when making a PIE object; recompile with -fPIE

@telans
Copy link
Contributor

telans commented Aug 8, 2020

also, there's no 5.7.14 patch

https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-5.7.14.xz

@barolo
Copy link

barolo commented Aug 8, 2020

that patch is already applied... nvm, messed up something, ended with upstream master somehow...
this will impact my sdd most def

@jiblime
Copy link
Contributor

jiblime commented Aug 8, 2020

@telans
No problem. The first thing I noticed was my dmesg timestamps were lower than usual :p ideally I'll set up a phoronix benchmark to have actual data.

relocation R_X86_64_32S

Are you using ld.gold as your default linker? The Linux kernel needs either GCC/ld.bfd or Clang/ld.lld. #338

sys-devel/gcc-10.2.0::gentoo was built with the following:
USE="(cxx) fortran graphite lto (multilib) nls nptl objc openmp pch pgo sanitize ssp zstd (-ada) -d -debug -doc (-fixed-point) -go (-hardened) -jit (-libssp) -objc++ -objc-gc -pie -systemtap -test -vanilla -vtv" ABI_X86="(64)"
sys-devel/binutils-2.34-r2::gentoo was built with the following:
USE="gold multitarget nls plugins static-libs -default-gold -doc -test" ABI_X86="(64)"

@barolo
https://github.com/jiblime/linux-misc/commits/lto-5.7-prjc-r3
You can pull the patches from here or clone the single branch and build off that. The CPPC patch doesn't work for me, so I leave it off just in case it would case me to fail to boot.
It's a bit messy, I'm still not the greatest at making clean commits. I chose the 5.7-2 branch instead of 5.8 because I wanted to try the Project C scheduler (previously named BMQ, now abbreviated prjc). I'll try the 5.8 branch sometime.

I generally download a vanilla tarball from kernel.org (v5.7, v5.8, etc) and apply the Gentoo patches and incremental patches afterwards. That way I don't have to worry about rejected patches as often

@barolo
Copy link

barolo commented Aug 8, 2020

@jiblime thanks for the branch, made it much easier for me. Compiling

@barolo
Copy link

barolo commented Aug 8, 2020

compiled almost cleanly for me, didn't take that long too, had a bunch of "-Wstringop-overflow" warnings for Bluetooth module. Didn't boot for me with error related to scsi.
With modules builtin it is 20M , modules dir i 1M
I have nvme and amdgpu on that box, gonna try to strip it a bit more

@barolo
Copy link

barolo commented Aug 8, 2020

Narrowed it down, hidpp/logitech's stuff makes it crash, and it doesn't switch to amdgpu output @jiblime it seems like you\ve had similar issues, how did you solve them?
Edit. Cleaned it a bit, built amdgpu, bluetooth, and logitech hidpp as modules, the remaining issue seems to be that framebuffer isn't being switched during boot

@telans
Copy link
Contributor

telans commented Aug 8, 2020

Are you using ld.gold as your default linker? The Linux kernel needs either GCC/ld.bfd or Clang/ld.lld.

Nope, using ld.bfd ( or at least I haven't changed it.)

sys-devel/gcc-10.2.0::gentoo was built with the following:
USE="(cxx) fortran graphite lto (multilib) nls nptl openmp pch pgo (pie) sanitize ssp vtv zstd (-ada) -d -debug -doc (-fixed-point) -go (-hardened) (-jit) (-libssp) -objc -objc++ -objc-gc -systemtap -test -vanilla" ABI_X86="(64)"
sys-devel/binutils-2.34-r2::gentoo was built with the following:
USE="gold nls plugins -default-gold -doc -multitarget -static-libs -test" ABI_X86="(64)"

Forcing LD=ld.bfd doesn't change anything either. I thought it might have been an issue with ripping a patch from the lto-5.8-1 branch, however, the branch too builds with the same relocation errors


Same issue with lto-5.7-2

@barolo
Copy link

barolo commented Aug 9, 2020

Update, managed to run it and reach the desktop. The issue was with building all modules in.
So I took my working config as base, used genkernel and made sure that it runs without LTO enabled first, then enabled LTO and booted into desktop successfully.
Ended with a bunch of drivers disabled, most importantly for network and sata, luckily my main is a pcie one.
Each failed module had disagrees about version of symbol module_layout in dmesg, gonna investigate it now.

Edit. It seems that all of those are modules that weren't built in, so it seems that initramfs isn't working for me
Edit2. I'm typing from it, had to recompile it cleanly, cleaned it a bit and built some stuff in, module loading doesn't seem to work as I still got two of those disagrees... warnings

Can't really compare it yet, since it seems to use diff schedulers than I had with zen kernel, and spends more time at lower frequencies, would have to bench it properly to test it seriously.

I can already tell though that building that kernel is significantly faster under it

@Promaethius
Copy link

Promaethius commented Aug 9, 2020 via email

@barolo
Copy link

barolo commented Aug 9, 2020

@Promaethius I've solved that by having those with warnings changed to built-in, It's running fine so far, gonna bench it with something now.
My whole kernel with inbuilt stuff is 10 MB, with useless 4MB initramfs, for gaming desktop

@gottaeat
Copy link

you can find the latest commit (3fb2a4dd) of the lto-5.12-3 branch here with 09da4fc9 removed so that the patchset can be applied to 5.12.3.

@ms178
Copy link

ms178 commented May 14, 2021

you can find the latest commit (3fb2a4dd) of the lto-5.12-3 branch here with 09da4fc9 removed so that the patchset can be applied to 5.12.3.

Thanks, but I still can't get the Kernel to boot. :(

@ms178
Copy link

ms178 commented May 14, 2021

By the way, the patch from Sami Tolvanan over here for Clang (ClangBuiltLinux/linux#1369 (comment)) [I've modified it to use with CONFIG_LTO_GCC] also helps GCC LTO a bit to bring TRIM_UNUSED_KSYMS forward, but it still errors out later at the end of the build process with the following errors (just grabbed the last ones from the console, there are more Module-License errors):

ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/ltc3815.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/max16064.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/max16601.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/max20730.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/max20751.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/max31785.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/max34440.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/max8688.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/pxe1610.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/tps40422.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/tps53679.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/ucd9000.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/ucd9200.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/xdpe12284.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwmon/pmbus/zl6100.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/intel_powerclamp.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/x86_pkg_temp_thermal.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/intel_soc_dts_iosf.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/intel_soc_dts_thermal.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/int340x_thermal/int3400_thermal.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/int340x_thermal/int3402_thermal.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/int340x_thermal/int3403_thermal.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/int340x_thermal/processor_thermal_device.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/int340x_thermal/processor_thermal_rapl.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/int340x_thermal/processor_thermal_rfim.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/int340x_thermal/processor_thermal_mbox.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/int340x_thermal/int3406_thermal.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/intel_bxt_pmic_thermal.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/thermal/intel/intel_pch_thermal.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/pretimeout_panic.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/pcwd_pci.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/wdt_pci.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/pcwd_usb.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/cadence_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/twl4030_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/dw_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/retu_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/acquirewdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/advantechwdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/alim1535_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/alim7101_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/ebc-c384_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/f71808e_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/sp5100_tco.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/sbc_fitpc2_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/eurotechwdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/ib700wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/ibmasr.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/wafer5823wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/i6300esb.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/ie6xx_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/iTCO_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/iTCO_vendor_support.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/it8712f_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/it87_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/hpwdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/kempld_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/sc1200wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/pc87413_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/nv_tco.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/sbc60xxwdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/cpu5wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/sch311x_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/smsc37b787_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/tqmx86_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/via_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/w83627hf_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/w83877f_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/w83977f_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/machzwd.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/sbc_epx_c3.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/mei_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/ni903x_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/nic7018_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/of_xilinx_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/mena21_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/da9052_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/da9055_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/da9062_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/da9063_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/wdat_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/wm831x_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/wm8350_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/max63xx_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/ziirave_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/softdog.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/watchdog/menf21bmc_wdt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/raid0.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/multipath.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/md-cluster.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/bcache/bcache.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/md-mod.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-mod.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-bufio.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-bio-prison.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-delay.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-flakey.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-multipath.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-round-robin.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-queue-length.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-service-time.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-historical-service-time.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-io-affinity.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-switch.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/persistent-data/dm-persistent-data.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-zero.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-thin-pool.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-verity.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-cache.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-cache-smq.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-ebs.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-era.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-log-writes.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-integrity.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-zoned.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/md/dm-writecache.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/i5000_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/i5100_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/i5400_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/i7300_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/i7core_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/sb_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/pnd2_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/e752x_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/i82975x_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/i3000_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/i3200_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/ie31200_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/x38_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/skx_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/edac/i10nm_edac.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/trigger/ledtrig-timer.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/trigger/ledtrig-oneshot.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/trigger/ledtrig-heartbeat.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/trigger/ledtrig-backlight.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/trigger/ledtrig-gpio.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/trigger/ledtrig-activity.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/trigger/ledtrig-default-on.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/trigger/ledtrig-transient.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/trigger/ledtrig-camera.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/trigger/ledtrig-netdev.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/trigger/ledtrig-pattern.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/trigger/ledtrig-audio.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/led-class-flash.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/led-class-multicolor.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-88pm860x.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-adp5520.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-apu.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-as3645a.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-bd2802.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-blinkm.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-clevo-mail.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-da903x.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-da9052.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-gpio.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-ss4200.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-lm3530.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-lm3532.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-lm3533.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-lm355x.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-lm3601x.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-lm36274.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-lm3642.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-lp3944.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-lp3952.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-lp8788.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-max8997.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-mc13783.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-menf21bmc.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-mlxcpld.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-mlxreg.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-mt6323.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-nic78bx.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-pca9532.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-pca955x.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-pca963x.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-pwm.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-regulator.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-sgm3140.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-tca6507.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-ti-lmu-common.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-tlc591xx.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-tps6105x.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-wm831x-status.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/leds-wm8350.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/leds/uleds.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/firmware/efi/efi-pstore.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/firmware/efi/efibc.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/firmware/efi/test/efi_test.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/firmware/efi/capsule-loader.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/firmware/dmi-sysfs.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/atmel-i2c.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/atmel-ecc.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/atmel-sha204a.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/cavium/nitrox/n5pf.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/padlock-aes.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/padlock-sha.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/qat/qat_common/intel_qat.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/qat/qat_dh895xcc/qat_dh895xcc.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/qat/qat_c3xxx/qat_c3xxx.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/qat/qat_c62x/qat_c62x.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/qat/qat_dh895xccvf/qat_dh895xccvf.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/qat/qat_c3xxxvf/qat_c3xxxvf.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/qat/qat_c62xvf/qat_c62xvf.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/virtio/virtio_crypto.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/inside-secure/crypto_safexcel.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/crypto/amlogic/amlogic-gxl-crypto.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/wmi.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/wmi-bmof.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel-wmi-sbl-fw-update.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/gpd-pocket-fan.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/ibm_rtl.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel-hid.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_int0002_vgpio.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_menlow.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel-vbtn.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/pcengines-apuv2.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/i2c-multi-instantiate.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_ips.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel-rst.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel-smartconnect.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_speed_select_if/isst_if_common.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_speed_select_if/isst_if_mmio.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_speed_select_if/isst_if_mbox_pci.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_speed_select_if/isst_if_mbox_msr.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel-uncore-frequency.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_bxtwc_tmu.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_chtdc_ti_pwrbtn.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_mrfld_pwrbtn.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_punit_ipc.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_scu_pltdrv.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_scu_ipcutil.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_telemetry_core.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_telemetry_pltdrv.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/platform/x86/intel_telemetry_debugfs.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-arizona.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-axp288.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-fsa9480.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-gpio.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-intel-int3496.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-intel-mrfld.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-max14577.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-max3355.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-max77693.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-max77843.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-max8997.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-palmas.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-ptn5150.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-rt8973a.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-sm5502.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/extcon/extcon-usb-gpio.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/powercap/intel_rapl_common.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/powercap/intel_rapl_msr.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwtracing/intel_th/intel_th.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwtracing/intel_th/intel_th_pci.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwtracing/intel_th/intel_th_acpi.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwtracing/intel_th/intel_th_gth.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwtracing/intel_th/intel_th_msu.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwtracing/intel_th/intel_th_pti.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hwtracing/intel_th/intel_th_msu_sink.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/target/target_core_mod.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/target/target_core_iblock.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/target/target_core_file.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/target/target_core_pscsi.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/target/target_core_user.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/target/loopback/tcm_loop.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/target/iscsi/iscsi_target_mod.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/parsers/ar7part.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/parsers/cmdlinepart.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/parsers/redboot.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/chips/chipreg.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/chips/cfi_probe.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/chips/cfi_util.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/chips/cfi_cmdset_0020.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/chips/cfi_cmdset_0002.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/chips/cfi_cmdset_0001.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/chips/gen_probe.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/chips/jedec_probe.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/chips/map_ram.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/chips/map_rom.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/chips/map_absent.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/lpddr/qinfo_probe.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/lpddr/lpddr_cmds.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/map_funcs.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/l440gx.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/amd76xrom.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/esb2rom.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/ichxrom.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/ck804xrom.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/physmap.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/sbc_gxx.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/pci.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/nettel.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/scb2_flash.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/plat-ram.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/maps/intel_vr_nor.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/devices/slram.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/devices/phram.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/devices/pmc551.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/devices/mtdram.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/devices/block2mtd.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/onenand/onenand.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/onenand/generic.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/raw/nand.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/raw/sm_common.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/raw/cafe_nand.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/raw/denali.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/raw/denali_pci.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/raw/diskonchip.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/raw/nandsim.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/raw/gpio.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/raw/plat_nand.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/raw/r852.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/raw/mxic_nand.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/raw/arasan-nand-controller.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/nandcore.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/mtd.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/mtd_blkdevs.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/mtdblock.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/mtdblock_ro.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/ftl.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/nftl.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/inftl.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/rfd_ftl.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/ssfdc.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/sm_ftl.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/mtdoops.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/mtdpstore.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/mtdswap.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/ubi/ubi.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/ubi/gluebi.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/mtd/hyperbus/hyperbus-core.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/uio/uio.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/uio/uio_pdrv_genirq.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/uio/uio_dmem_genirq.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/uio/uio_pci_generic.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/masters/matrox_w1.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/masters/ds2490.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/masters/ds2482.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/masters/ds1wm.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/masters/w1-gpio.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/masters/sgi_w1.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_therm.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_smem.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds2405.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds2408.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds2413.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds2406.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds2423.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds2430.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds2431.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds2805.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds2433.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds2438.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds250x.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds2780.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds2781.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds28e04.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/slaves/w1_ds28e17.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/w1/wire.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/dca/dca.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/hid.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/uhid.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/hid-generic.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/hid-led.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/hid-sensor-hub.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/hid-sensor-custom.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/usbhid/usbhid.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/usbhid/usbkbd.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/usbhid/usbmouse.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/intel-ish-hid/intel-ishtp.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/intel-ish-hid/intel-ish-ipc.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/intel-ish-hid/intel-ishtp-hid.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/hid/intel-ish-hid/intel-ishtp-loader.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/rpmsg/rpmsg_core.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/rpmsg/rpmsg_char.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/rpmsg/rpmsg_ns.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/rpmsg/qcom_glink.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/rpmsg/qcom_glink_rpm.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/rpmsg/virtio_rpmsg_bus.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/soundwire/soundwire-bus.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/soundwire/soundwire-generic-allocation.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/soundwire/soundwire-cadence.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/soundwire/soundwire-intel.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/ntb/ntb.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/ntb/hw/idt/ntb_hw_idt.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/ntb/hw/intel/ntb_hw_intel.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/ntb/hw/mscc/ntb_hw_switchtec.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/ntb/test/ntb_pingpong.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/ntb/test/ntb_tool.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/ntb/test/ntb_perf.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/ntb/test/ntb_msi_test.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/ntb/ntb_transport.o
ERROR: modpost: missing MODULE_LICENSE() in drivers/counter/counter.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soundcore.o
ERROR: modpost: missing MODULE_LICENSE() in sound/core/snd.o
ERROR: modpost: missing MODULE_LICENSE() in sound/core/snd-hwdep.o
ERROR: modpost: missing MODULE_LICENSE() in sound/core/snd-timer.o
ERROR: modpost: missing MODULE_LICENSE() in sound/core/snd-hrtimer.o
ERROR: modpost: missing MODULE_LICENSE() in sound/core/snd-pcm.o
ERROR: modpost: missing MODULE_LICENSE() in sound/core/snd-pcm-dmaengine.o
ERROR: modpost: missing MODULE_LICENSE() in sound/core/snd-rawmidi.o
ERROR: modpost: missing MODULE_LICENSE() in sound/drivers/snd-aloop.o
ERROR: modpost: missing MODULE_LICENSE() in sound/pci/snd-intel8x0.o
ERROR: modpost: missing MODULE_LICENSE() in sound/pci/ac97/snd-ac97-codec.o
ERROR: modpost: missing MODULE_LICENSE() in sound/pci/hda/snd-hda-codec.o
ERROR: modpost: missing MODULE_LICENSE() in sound/pci/hda/snd-hda-codec-generic.o
ERROR: modpost: missing MODULE_LICENSE() in sound/pci/hda/snd-hda-codec-realtek.o
ERROR: modpost: missing MODULE_LICENSE() in sound/pci/hda/snd-hda-codec-hdmi.o
ERROR: modpost: missing MODULE_LICENSE() in sound/pci/hda/snd-hda-intel.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/snd-usb-audio.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/snd-usbmidi-lib.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/misc/snd-ua101.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/usx2y/snd-usb-usx2y.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/usx2y/snd-usb-us122l.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/caiaq/snd-usb-caiaq.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/6fire/snd-usb-6fire.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/hiface/snd-usb-hiface.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/bcd2000/snd-bcd2000.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/line6/snd-usb-line6.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/line6/snd-usb-pod.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/line6/snd-usb-podhd.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/line6/snd-usb-toneport.o
ERROR: modpost: missing MODULE_LICENSE() in sound/usb/line6/snd-usb-variax.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/snd-soc-acpi.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/snd-soc-core.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-ac97.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-alc5623.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-dmic.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-hdac-hdmi.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-max9759.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-max98373.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-max98373-i2c.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-mt6351.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-mt6358.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-mt6660.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-nau8540.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-nau8810.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-nau8822.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-nau8824.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-hdmi-codec.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-pcm1789-i2c.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-pcm1789-codec.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-pcm512x.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-pcm512x-i2c.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rl6231.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt1011.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt1015.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt1308-sdw.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt5616.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt5631.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt5640.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt5659.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt5682.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt5682-i2c.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt5682-sdw.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt700.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt711.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-rt715.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-spdif-rx.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-spdif-tx.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-sta32x.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-sta350.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-sti-sas.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tas2552.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tas2562.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tas5086.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tas571x.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tas5720.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tas6424.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tda7419.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tas2770.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tfa9879.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tlv320aic23.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tlv320aic23-i2c.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tlv320aic31xx.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tlv320aic32x4.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tlv320aic32x4-i2c.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tlv320aic3x.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tlv320adcx140.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tscs42xx.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tscs454.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-ts3a227e.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-uda1334.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8510.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8523.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8524.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8580.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8711.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8728.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8731.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8737.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8741.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8750.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8753.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8776.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8782.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8804.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8804-i2c.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8903.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8904.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8960.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8962.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8974.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8978.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wm8985.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-wsa881x.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-simple-amplifier.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-tpa6130a2.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/generic/snd-soc-simple-card-utils.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/generic/snd-soc-simple-card.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/dwc/designware_i2s.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/fsl/snd-soc-fsl-audmix.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/fsl/snd-soc-fsl-asrc.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/fsl/snd-soc-fsl-sai.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/fsl/snd-soc-fsl-ssi.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/fsl/snd-soc-fsl-spdif.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/fsl/snd-soc-fsl-esai.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/fsl/snd-soc-fsl-micfil.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/fsl/snd-soc-fsl-mqs.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/fsl/snd-soc-fsl-easrc.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/fsl/snd-soc-imx-audmux.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/intel/common/snd-soc-acpi-intel-match.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/intel/catpt/snd-soc-catpt.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/intel/boards/snd-soc-sof_rt5682.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/intel/boards/snd-soc-sst-haswell.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/intel/boards/snd-soc-sst-sof-pcm512x.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/sof/intel/snd-sof-acpi-intel-byt.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/sof/intel/snd-sof-intel-ipc.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/sof/snd-sof.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/sof/snd-sof-acpi.o
ERROR: modpost: missing MODULE_LICENSE() in sound/soc/sof/xtensa/snd-sof-xtensa-dsp.o
ERROR: modpost: missing MODULE_LICENSE() in sound/hda/snd-hda-core.o
ERROR: modpost: missing MODULE_LICENSE() in sound/hda/ext/snd-hda-ext-core.o
ERROR: modpost: missing MODULE_LICENSE() in sound/hda/snd-intel-dspcfg.o
ERROR: modpost: missing MODULE_LICENSE() in sound/hda/snd-intel-sdw-acpi.o
ERROR: modpost: missing MODULE_LICENSE() in sound/ac97_bus.o
ERROR: modpost: missing MODULE_LICENSE() in net/core/pktgen.o
ERROR: modpost: missing MODULE_LICENSE() in net/core/failover.o
ERROR: modpost: missing MODULE_LICENSE() in net/802/p8022.o
ERROR: modpost: missing MODULE_LICENSE() in net/802/psnap.o
ERROR: modpost: missing MODULE_LICENSE() in net/802/stp.o
ERROR: modpost: missing MODULE_LICENSE() in net/802/garp.o
ERROR: modpost: missing MODULE_LICENSE() in net/802/mrp.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_police.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_gact.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_mirred.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_sample.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_ipt.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_nat.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_pedit.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_simple.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_skbedit.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_csum.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_mpls.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_vlan.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_bpf.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_connmark.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_ctinfo.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_skbmod.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_tunnel_key.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_ct.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/act_gate.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_cbq.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_htb.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_hfsc.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_red.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_gred.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_ingress.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_dsmark.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_sfb.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_sfq.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_tbf.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_teql.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_prio.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_multiq.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_atm.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_netem.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_drr.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_plug.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_ets.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_mqprio.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_skbprio.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_choke.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_qfq.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_codel.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_fq_codel.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_cake.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_fq.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_hhf.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_cbs.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_etf.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/sch_taprio.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/cls_u32.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/cls_route.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/cls_fw.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/cls_rsvp.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/cls_tcindex.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/cls_rsvp6.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/cls_basic.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/cls_flow.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/cls_cgroup.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/cls_bpf.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/cls_flower.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/cls_matchall.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/em_cmp.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/em_nbyte.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/em_u32.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/em_meta.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/em_text.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/em_ipset.o
ERROR: modpost: missing MODULE_LICENSE() in net/sched/em_ipt.o
ERROR: modpost: missing MODULE_LICENSE() in net/netlink/netlink_diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nfnetlink.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nfnetlink_acct.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nfnetlink_queue.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nfnetlink_log.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nfnetlink_osf.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack_netlink.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nfnetlink_cttimeout.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nfnetlink_cthelper.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack_amanda.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack_ftp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack_h323.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack_irc.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack_broadcast.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack_netbios_ns.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack_snmp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack_pptp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack_sane.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack_sip.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conntrack_tftp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_log_common.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_log_netdev.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_nat.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_nat_amanda.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_nat_ftp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_nat_irc.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_nat_sip.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_nat_tftp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_synproxy_core.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_conncount.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_dup_netdev.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_tables.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_compat.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_connlimit.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_numgen.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_ct.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_flow_offload.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_limit.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_nat.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_objref.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_queue.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_quota.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_reject.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_reject_inet.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_tunnel.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_counter.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_log.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_masq.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_redir.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_hash.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_fib.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_fib_inet.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_fib_netdev.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_socket.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_osf.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_tproxy.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_xfrm.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_synproxy.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_chain_nat.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_dup_netdev.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nft_fwd_netdev.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_flow_table.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/nf_flow_table_inet.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/x_tables.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_tcpudp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_mark.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_connmark.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_set.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_nat.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_AUDIT.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_CHECKSUM.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_CLASSIFY.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_CONNSECMARK.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_CT.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_DSCP.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_HL.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_HMARK.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_LED.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_LOG.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_NETMAP.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_NFLOG.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_NFQUEUE.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_RATEEST.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_REDIRECT.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_MASQUERADE.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_SECMARK.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_TPROXY.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_TCPMSS.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_TCPOPTSTRIP.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_TEE.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_TRACE.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_IDLETIMER.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_addrtype.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_bpf.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_cluster.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_comment.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_connbytes.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_connlabel.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_connlimit.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_conntrack.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_cpu.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_dccp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_devgroup.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_dscp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_ecn.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_esp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_hashlimit.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_helper.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_hl.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_ipcomp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_iprange.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_ipvs.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_l2tp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_length.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_limit.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_mac.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_multiport.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_nfacct.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_osf.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_owner.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_cgroup.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_physdev.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_pkttype.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_policy.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_quota.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_rateest.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_realm.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_recent.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_sctp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_socket.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_state.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_statistic.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_string.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_tcpmss.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_time.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/xt_u32.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_bitmap_ip.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_bitmap_ipmac.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_bitmap_port.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_hash_ip.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_hash_ipmac.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_hash_ipmark.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_hash_ipport.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_hash_ipportip.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_hash_ipportnet.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_hash_mac.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_hash_net.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_hash_netport.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_hash_netiface.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_hash_netnet.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_hash_netportnet.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipset/ip_set_list_set.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_rr.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_wrr.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_lc.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_wlc.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_fo.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_ovf.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_lblc.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_lblcr.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_dh.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_sh.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_mh.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_sed.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_nq.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_ftp.o
ERROR: modpost: missing MODULE_LICENSE() in net/netfilter/ipvs/ip_vs_pe_sip.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nf_defrag_ipv4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nf_socket_ipv4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nf_tproxy_ipv4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nf_log_arp.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nf_log_ipv4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nf_reject_ipv4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nf_nat_h323.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nf_nat_pptp.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nf_nat_snmp_basic.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nft_reject_ipv4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nft_fib_ipv4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nft_dup_ipv4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nf_flow_table_ipv4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/ip_tables.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/iptable_filter.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/iptable_mangle.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/iptable_nat.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/iptable_raw.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/ipt_ah.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/ipt_rpfilter.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/ipt_CLUSTERIP.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/ipt_ECN.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/ipt_REJECT.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/ipt_SYNPROXY.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/arp_tables.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/arpt_mangle.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/arptable_filter.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/netfilter/nf_dup_ipv4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/ip_tunnel.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/ipip.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/fou.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/gre.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/ip_gre.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/udp_tunnel.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/ip_vti.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/ah4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/esp4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/esp4_offload.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/ipcomp.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/xfrm4_tunnel.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tunnel4.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/inet_diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/udp_diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/raw_diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_bic.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_cdg.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_cubic.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_dctcp.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_westwood.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_highspeed.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_hybla.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_htcp.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_vegas.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_nv.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_veno.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_scalable.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_lp.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_yeah.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv4/tcp_illinois.o
ERROR: modpost: missing MODULE_LICENSE() in net/xfrm/xfrm_algo.o
ERROR: modpost: missing MODULE_LICENSE() in net/xfrm/xfrm_user.o
ERROR: modpost: missing MODULE_LICENSE() in net/xfrm/xfrm_ipcomp.o
ERROR: modpost: missing MODULE_LICENSE() in net/xfrm/xfrm_interface.o
ERROR: modpost: missing MODULE_LICENSE() in net/unix/unix_diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6_tables.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6table_filter.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6table_mangle.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6table_raw.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6table_nat.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/nf_defrag_ipv6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/nf_socket_ipv6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/nf_tproxy_ipv6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/nf_log_ipv6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/nf_reject_ipv6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/nf_dup_ipv6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/nft_reject_ipv6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/nft_dup_ipv6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/nft_fib_ipv6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/nf_flow_table_ipv6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6t_ah.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6t_eui64.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6t_frag.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6t_ipv6header.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6t_mh.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6t_hbh.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6t_rpfilter.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6t_rt.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6t_srh.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6t_NPT.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6t_REJECT.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/netfilter/ip6t_SYNPROXY.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/ah6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/esp6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/esp6_offload.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/ipcomp6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/xfrm6_tunnel.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/tunnel6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/mip6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/ila/ila.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/ip6_vti.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/sit.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/ip6_tunnel.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/ip6_gre.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/fou6.o
ERROR: modpost: missing MODULE_LICENSE() in net/ipv6/ip6_udp_tunnel.o
ERROR: modpost: missing MODULE_LICENSE() in net/bpfilter/bpfilter.o
ERROR: modpost: missing MODULE_LICENSE() in net/packet/af_packet_diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/8021q/8021q.o
ERROR: modpost: missing MODULE_LICENSE() in net/mpls/mpls_gso.o
ERROR: modpost: missing MODULE_LICENSE() in net/mpls/mpls_router.o
ERROR: modpost: missing MODULE_LICENSE() in net/mpls/mpls_iptunnel.o
ERROR: modpost: missing MODULE_LICENSE() in net/xdp/xsk_diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/mptcp/mptcp_diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/llc/llc.o
ERROR: modpost: missing MODULE_LICENSE() in net/llc/llc2.o
ERROR: modpost: missing MODULE_LICENSE() in net/tls/tls.o
ERROR: modpost: missing MODULE_LICENSE() in net/key/af_key.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/nft_meta_bridge.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/nft_reject_bridge.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/nf_conntrack_bridge.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/nf_log_bridge.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebtables.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebtable_broute.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebtable_filter.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebtable_nat.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_802_3.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_among.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_arp.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_ip.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_ip6.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_limit.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_mark_m.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_pkttype.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_stp.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_vlan.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_arpreply.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_mark.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_dnat.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_redirect.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_snat.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_log.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/netfilter/ebt_nflog.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/bridge.o
ERROR: modpost: missing MODULE_LICENSE() in net/bridge/br_netfilter.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/dsa_core.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_8021q.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_ar9331.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_brcm.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_dsa.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_gswip.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_ksz.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_rtl4_a.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_lan9303.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_mtk.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_ocelot.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_qca.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_sja1105.o
ERROR: modpost: missing MODULE_LICENSE() in net/dsa/tag_trailer.o
ERROR: modpost: missing MODULE_LICENSE() in net/appletalk/appletalk.o
ERROR: modpost: missing MODULE_LICENSE() in net/x25/x25.o
ERROR: modpost: missing MODULE_LICENSE() in net/lapb/lapb.o
ERROR: modpost: missing MODULE_LICENSE() in net/sunrpc/sunrpc.o
ERROR: modpost: missing MODULE_LICENSE() in net/sunrpc/auth_gss/auth_rpcgss.o
ERROR: modpost: missing MODULE_LICENSE() in net/sunrpc/auth_gss/rpcsec_gss_krb5.o
ERROR: modpost: missing MODULE_LICENSE() in net/rxrpc/rxrpc.o
ERROR: modpost: missing MODULE_LICENSE() in net/atm/atm.o
ERROR: modpost: missing MODULE_LICENSE() in net/atm/clip.o
ERROR: modpost: missing MODULE_LICENSE() in net/atm/br2684.o
ERROR: modpost: missing MODULE_LICENSE() in net/atm/lec.o
ERROR: modpost: missing MODULE_LICENSE() in net/atm/mpoa.o
ERROR: modpost: missing MODULE_LICENSE() in net/l2tp/l2tp_core.o
ERROR: modpost: missing MODULE_LICENSE() in net/l2tp/l2tp_ppp.o
ERROR: modpost: missing MODULE_LICENSE() in net/l2tp/l2tp_ip.o
ERROR: modpost: missing MODULE_LICENSE() in net/l2tp/l2tp_netlink.o
ERROR: modpost: missing MODULE_LICENSE() in net/l2tp/l2tp_eth.o
ERROR: modpost: missing MODULE_LICENSE() in net/l2tp/l2tp_debugfs.o
ERROR: modpost: missing MODULE_LICENSE() in net/l2tp/l2tp_ip6.o
ERROR: modpost: missing MODULE_LICENSE() in net/decnet/netfilter/dn_rtmsg.o
ERROR: modpost: missing MODULE_LICENSE() in net/decnet/decnet.o
ERROR: modpost: missing MODULE_LICENSE() in net/phonet/phonet.o
ERROR: modpost: missing MODULE_LICENSE() in net/phonet/pn_pep.o
ERROR: modpost: missing MODULE_LICENSE() in net/dccp/dccp.o
ERROR: modpost: missing MODULE_LICENSE() in net/dccp/dccp_ipv4.o
ERROR: modpost: missing MODULE_LICENSE() in net/dccp/dccp_ipv6.o
ERROR: modpost: missing MODULE_LICENSE() in net/dccp/dccp_diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/sctp/sctp.o
ERROR: modpost: missing MODULE_LICENSE() in net/sctp/sctp_diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/rds/rds.o
ERROR: modpost: missing MODULE_LICENSE() in net/rds/rds_tcp.o
ERROR: modpost: missing MODULE_LICENSE() in net/tipc/tipc.o
ERROR: modpost: missing MODULE_LICENSE() in net/tipc/diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/6lowpan/6lowpan.o
ERROR: modpost: missing MODULE_LICENSE() in net/6lowpan/nhc_dest.o
ERROR: modpost: missing MODULE_LICENSE() in net/6lowpan/nhc_fragment.o
ERROR: modpost: missing MODULE_LICENSE() in net/6lowpan/nhc_hop.o
ERROR: modpost: missing MODULE_LICENSE() in net/6lowpan/nhc_ipv6.o
ERROR: modpost: missing MODULE_LICENSE() in net/6lowpan/nhc_mobility.o
ERROR: modpost: missing MODULE_LICENSE() in net/6lowpan/nhc_routing.o
ERROR: modpost: missing MODULE_LICENSE() in net/6lowpan/nhc_udp.o
ERROR: modpost: missing MODULE_LICENSE() in net/ieee802154/6lowpan/ieee802154_6lowpan.o
ERROR: modpost: missing MODULE_LICENSE() in net/ieee802154/ieee802154.o
ERROR: modpost: missing MODULE_LICENSE() in net/ieee802154/ieee802154_socket.o
ERROR: modpost: missing MODULE_LICENSE() in net/mac802154/mac802154.o
ERROR: modpost: missing MODULE_LICENSE() in net/ceph/libceph.o
ERROR: modpost: missing MODULE_LICENSE() in net/batman-adv/batman-adv.o
ERROR: modpost: missing MODULE_LICENSE() in net/psample/psample.o
ERROR: modpost: missing MODULE_LICENSE() in net/ife/ife.o
ERROR: modpost: missing MODULE_LICENSE() in net/openvswitch/openvswitch.o
ERROR: modpost: missing MODULE_LICENSE() in net/openvswitch/vport-gre.o
ERROR: modpost: missing MODULE_LICENSE() in net/vmw_vsock/vsock.o
ERROR: modpost: missing MODULE_LICENSE() in net/vmw_vsock/vsock_diag.o
ERROR: modpost: missing MODULE_LICENSE() in net/vmw_vsock/vmw_vsock_virtio_transport.o
ERROR: modpost: missing MODULE_LICENSE() in net/vmw_vsock/vmw_vsock_virtio_transport_common.o
ERROR: modpost: missing MODULE_LICENSE() in net/vmw_vsock/vsock_loopback.o
ERROR: modpost: missing MODULE_LICENSE() in net/nsh/nsh.o
ERROR: modpost: missing MODULE_LICENSE() in net/hsr/hsr.o
ERROR: modpost: missing MODULE_LICENSE() in net/qrtr/qrtr.o
ERROR: modpost: missing MODULE_LICENSE() in net/qrtr/ns.o
ERROR: modpost: missing MODULE_LICENSE() in net/qrtr/qrtr-smd.o
ERROR: modpost: missing MODULE_LICENSE() in net/qrtr/qrtr-tun.o
ERROR: modpost: missing MODULE_LICENSE() in net/qrtr/qrtr-mhi.o
ERROR: modpost: "cast_s4" [arch/x86/crypto/cast6-avx-x86_64.ko] undefined!
ERROR: modpost: "cast_s1" [arch/x86/crypto/cast6-avx-x86_64.ko] undefined!
ERROR: modpost: "cast_s2" [arch/x86/crypto/cast6-avx-x86_64.ko] undefined!
ERROR: modpost: "cast_s3" [arch/x86/crypto/cast6-avx-x86_64.ko] undefined!
ERROR: modpost: "cast_s4" [arch/x86/crypto/cast5-avx-x86_64.ko] undefined!
ERROR: modpost: "cast_s1" [arch/x86/crypto/cast5-avx-x86_64.ko] undefined!
ERROR: modpost: "cast_s2" [arch/x86/crypto/cast5-avx-x86_64.ko] undefined!
ERROR: modpost: "cast_s3" [arch/x86/crypto/cast5-avx-x86_64.ko] undefined!
ERROR: modpost: "camellia_sp00444404" [arch/x86/crypto/camellia-x86_64.ko] undefined!
ERROR: modpost: "camellia_sp44044404" [arch/x86/crypto/camellia-x86_64.ko] undefined!
ERROR: modpost: "camellia_sp30333033" [arch/x86/crypto/camellia-x86_64.ko] undefined!
ERROR: modpost: "camellia_sp22000222" [arch/x86/crypto/camellia-x86_64.ko] undefined!
ERROR: modpost: "camellia_sp03303033" [arch/x86/crypto/camellia-x86_64.ko] undefined!
ERROR: modpost: "camellia_sp10011110" [arch/x86/crypto/camellia-x86_64.ko] undefined!
ERROR: modpost: "camellia_sp02220222" [arch/x86/crypto/camellia-x86_64.ko] undefined!
ERROR: modpost: "camellia_sp11101110" [arch/x86/crypto/camellia-x86_64.ko] undefined!

@gottaeat
Copy link

gottaeat commented May 14, 2021

@ms178 i am not getting any of the errors you're describing with andikleen's patchset, though i have no modules. also, i don't think what you're doing is a healthy approach as the way gcc and clang does lto are fundamentally different so i doubt you can succeed that way.

i don't know if it helps you in any way, shape or form but these are my binutils and gcc versions and configuration (bare in mind that this is an x86_64 musl 1.2.2 host and i'm not running gentoo):

 0 ~: gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-apathy-linux-musl/11.1.0/lto-wrapper
Target: x86_64-apathy-linux-musl
Configured with: ../configure --prefix=/usr --libexecdir=/usr/libexec --mandir=/usr/share/man --infodir=/usr/share/info --host=x86_64-apathy-linux-musl --build=x86_64-apathy-linux-musl --target=x86_64-apathy-linux-musl --with-pkgversion=apathy --enable-checking=release --enable-languages=c,c++,lto --enable-cxx-flags='-w -pipe -O2 -mtune=native -march=native' --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-bootstrap --enable-linker-build-id --enable-lto --enable-plugin --enable-shared --enable-threads=posix --enable-tls --without-included-gettext --without-isl --disable-default-pie --disable-default-ssp --disable-fixed-point --disable-libmpx --disable-libmudflap --disable-libsanitizer --disable-libstdcxx-pch --disable-multilib --disable-nls --disable-rpath --disable-static --disable-symvers --disable-werror
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.1.0 (apathy)
 0 ~: ld.bfd -v
GNU ld (GNU Binutils) 2.36.1

you can try doing a make localmodconfig without a .config in the root so that it reads from /proc/config.gz then slim down your kernel a bit with make menuconfig or make nconfig by manually going through each page and disabling everything you don't need, maybe even bake in the modules.

@ms178
Copy link

ms178 commented May 14, 2021

@mssx86 Well, problems were to be expected with my experiment of today which I just wanted to share with the community here. The result was interesting as it brought some progress even with GCC while not fixing the issue entirely (trimmed KSYSMS are a known issue with both Clang LTO and GCC LTO, just Clang's ThinLTO does work reliably with Sami's patch and that option now, FullLTO ran into the same boot issue).

Regarding my boot problems, Andi just told me that he was able to reproduce it and has it on his radar to debug further. My Kernel is already trimmed down heavily and way slimmer than anything Ubuntu ships with at default and building without modules had no effect, building it with less aggressive compiler flags had no effects either.

@barolo
Copy link

barolo commented Jun 16, 2021

What's the easiest way of applying LTO patches to a gentoo-src kernel?

@gottaeat
Copy link

@barolo not aware whether the current andikleen lto branches apply to current kernels but what i do is cloning the repo with --depth=n+1 -b lto-X.X-X where n is the number of lto commits, then generate patches with git format-patch -n.

@barolo
Copy link

barolo commented Jun 17, 2021

@barolo not aware whether the current andikleen lto branches apply to current kernels but what i do is cloning the repo with --depth=n+1 -b lto-X.X-X where n is the number of lto commits, then generate patches with git format-patch -n.

Do they apply cleanly to a corresponding gentoo-src kernel?
I remember having some issues and pretty much did the inverse, cloned andi's patched kernel and applied gentoo's patches to it.

@gottaeat
Copy link

Do they apply cleanly to a corresponding gentoo-src kernel?

only one way to find out like i said in the beginning of my first post.

@barolo
Copy link

barolo commented Jun 26, 2021

Do they apply cleanly to a corresponding gentoo-src kernel?

only one way to find out like i said in the beginning of my first post.

Your way worked beautifully, applied to 5.12.10-gentoo with everything built-in, GCC 11.
Thanks!
The weird thing is that it's 1MB bigger than non-lto one, which makes me think that something isn't right.

@gottaeat
Copy link

@barolo

Your way worked beautifully, applied to 5.12.10-gentoo with everything built-in, GCC 11.

glad to hear.

The weird thing is that it's 1MB bigger than non-lto one, which makes me think that something isn't right.

that is also the case with my kernel config w/ gcc 11.1.0 stable, 5.8 patchset reduced ~1.5 megs iirc.

@barolo
Copy link

barolo commented Jun 27, 2021

Unfortunately that kernel is unstable for me, I get occasional hard locks, possibly related to gpu drivers [AMD], gonna try clang.

@barolo
Copy link

barolo commented Jun 28, 2021

Does anyone have idea how to enable clang build for Andi's kernel? I have only options for GCC

@gottaeat
Copy link

gottaeat commented Jun 28, 2021

@barolo you don't need andikleen's patchset for clang lto, clang lto patchset is the work of sami tolvanen from google and 5.12+ already have the support for it in the tree.

to enable it, you need to invoke all make instances with LLVM=1 LLVM_IAS=1. you also need clang and lld 11.0.0+ otherwise you cannot pass the CLANG_VERSION >=110000 and LD_IS_LLD checks for the HAS_LTO_CLANG to be set so that you can enable clang lto.

@barolo
Copy link

barolo commented Jun 29, 2021

Clang one seems to be stable, but again, it's even bigger.

@archenroot
Copy link

So what about gcc 11. I have fully ltoized system with 1304 packages (kde plasma desktop).

Now, from what I read here I am not much clever how to do ltoized kernel with GCC 11, is there a way?

@hedmo
Copy link
Contributor

hedmo commented Aug 16, 2021

So what about gcc 11. I have fully ltoized system with 1304 packages (kde plasma desktop).

Now, from what I read here I am not much clever how to do ltoized kernel with GCC 11, is there a way?

i like to know the state to . last time i tried , external modules was a no go...

@archenroot
Copy link

archenroot commented Aug 17, 2021

@hedmo - can you share your command to compile kernel with LTO?
for LLVM: export LLVM=1 LLVM_IAS=1 && make nconfig, enable CONFIG_LTO_CLANG_THIN, and make && make modules_install should work, so what for gcc?

@hedmo
Copy link
Contributor

hedmo commented Aug 17, 2021

last time i tested it was : make -j8 AR=gcc-ar NM=gcc-nm KCFLAGS="-march=skylake -O3 -falign-functions=32 -fipa-pta -fno-semantic-interposition -fgraphite-identity -floop-nest-optimize -flto=8 -ffat-lto-objects"

be ware of my : march=skylake

@gottaeat
Copy link

@hedmo it's not that simple, you need certain modifications to the linux kernel tree, i don't know if andikleen still ports it to newer kernels but check his work. linked multiple times above.

@barolo
Copy link

barolo commented Aug 17, 2021

Clang one is Google backed and is upstreamed, there's no money behind GCC one.

@hedmo
Copy link
Contributor

hedmo commented Aug 17, 2021

@mssx86 . I am just wondering about THE state of LTO and gcc . As i Said last time i was testing , external modules was No go. That was with kernel 5.8.x .

@guduhanyan
Copy link

@mssx86

(Doesn't work) https://gist.github.com/jiblime/328856e8b989b679d482ed2b7d63e980

I've tried to update it for 5.10, but it doesn't boot. I mostly removed hunks that were already upstreamed. Interesting note, scripts/link-vmlinux.sh might not need Andi Kleen's change to create .S files. 5.10, 5.8-lto, 5.9.

I needed to use -ffat-lto-objects in the linker flags to build. I initially tried using KCFLAGS="-ffat-lto-objects, so the final kernel would be built with -fno-lto-objects and modules would be built with -fno-fat-lto-objects -ffat-lto-objects (the last option takes precedence), but that didn't work. At the end of the build, the output complains of unknown symbols, orphan sections, missing CRC. Worth noting my GCC now has PIE on by default, so I added fno-pie -no-pie to the Makefile as per the above suggestion.

It's probably trivial to fix up why the symbols aren't being processed correctly, but I don't have the know how.

Pretty exciting to finally have a 'modern' LTS kernel. I'd like to see if I can update that old kgcov PGO patchset for 4.19 to 5.10

@ms178 does that allow building LTO with GCC?

Can the kernel 5.10 be started normally now build with gcc?

@barolo
Copy link

barolo commented Nov 6, 2022

@mssx86
(Doesn't work) https://gist.github.com/jiblime/328856e8b989b679d482ed2b7d63e980
I've tried to update it for 5.10, but it doesn't boot. I mostly removed hunks that were already upstreamed. Interesting note, scripts/link-vmlinux.sh might not need Andi Kleen's change to create .S files. 5.10, 5.8-lto, 5.9.
I needed to use -ffat-lto-objects in the linker flags to build. I initially tried using KCFLAGS="-ffat-lto-objects, so the final kernel would be built with -fno-lto-objects and modules would be built with -fno-fat-lto-objects -ffat-lto-objects (the last option takes precedence), but that didn't work. At the end of the build, the output complains of unknown symbols, orphan sections, missing CRC. Worth noting my GCC now has PIE on by default, so I added fno-pie -no-pie to the Makefile as per the above suggestion.
It's probably trivial to fix up why the symbols aren't being processed correctly, but I don't have the know how.
Pretty exciting to finally have a 'modern' LTS kernel. I'd like to see if I can update that old kgcov PGO patchset for 4.19 to 5.10
@ms178 does that allow building LTO with GCC?

Can the kernel 5.10 be started normally now build with gcc?

There's no effort whatsoever for GCC LTO support, there's no config for doing that with recent ones even, Clang one is maintained by Google

It will get even worse with the inclusion of rust in kernel, almost everything that requires cross-lto, needs to be compiled with clang nowadays.

@xxTree
Copy link

xxTree commented Nov 8, 2022

I tried to use linux kernel5.11.0 in vmware to enable LTO to compile and install. After reboot, it stuck in Booting the kernel. Does anyone know the reason?
https://user-images.githubusercontent.com/32122937/200339794-34e95522-6935-4465-8579-f1da70a1271e.png

GCC 10.3.1

@ptr1337
Copy link

ptr1337 commented Nov 14, 2022

https://lore.kernel.org/lkml/[email protected]/T/#md8014ad799b02221b67f33584002d98ede6234eb

New patches are out for GCC LTO (FULL)

Did tried a 6.1 rc5 compilation, but sadly it failed.

@ptr1337
Copy link

ptr1337 commented Nov 14, 2022

I got a 6.1rc5 Kernel with the patchset above build.
It requires to have the gcc build with:
--disable-default-pie

@pchome
Copy link
Contributor

pchome commented Nov 14, 2022

https://lore.kernel.org/lkml/[email protected]/T/#md8014ad799b02221b67f33584002d98ede6234eb

...
In our measurements, the performance differences are negligible.

The kernel is bigger with gcc LTO due to more inlining. The next step
might be to play with non-static functions as we export everything, so
the compiler cannot actually drop anything (esp. inlined and no longer
needed functions).

So, the same we observed on latest patches, but earlier patch versions gave smaller kernels somehow (at least for me).

@ptr1337
No need to recompile your gcc, see #90 (comment)

@ptr1337
Copy link

ptr1337 commented Nov 14, 2022

https://lore.kernel.org/lkml/[email protected]/T/#md8014ad799b02221b67f33584002d98ede6234eb

...
In our measurements, the performance differences are negligible.
The kernel is bigger with gcc LTO due to more inlining. The next step
might be to play with non-static functions as we export everything, so
the compiler cannot actually drop anything (esp. inlined and no longer
needed functions).

So, the same we observed on latest patches, but earlier patch versions gave smaller kernels somehow (at least for me).

@ptr1337 No need to recompile your gcc, see #90 (comment)

Thanks for your answer. I will test this.

@ptr1337
Copy link

ptr1337 commented Nov 16, 2022

@pchome

Im running currently into issues, when DEBUG/BTF (CONFIG_DEBUG_INFO_BTF=y) is enabled.
Like this is the error:

  BTFIDS  vmlinux
FAILED: load BTF from vmlinux: Invalid argument

I have tested different pahole version (1.24, 1.23, latest git) but they have not helped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests