Re: [PATCH kbuild RFC] kbuild: fix modpost throwing away module symvers when linking vmlinux.o

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

 



On Sun, May 3, 2020 at 3:29 AM Marek Behun <marek.behun@xxxxxx> wrote:
>
> Just to note how this breaks things:
>
> On OpenWRT this may happen
> 1. make modules is run
>    - Module.symvers contains symbols from modules
> 2. make Image/bzImage is run (as part of another OpenWRT make target)
>    - Module.symvers is rewritten to contain only vmlinux.o symbols
> 3. external kernel modules try to build (wireguard, mac80211)
>    - this now fails because external modules may depend on symbols from
>      other modules and this information isn't in Module.symvers anymore
>
> Marek


Is this a regression by a721588d9475 ?

I can reproduce it even before that commit.


$ git checkout a721588d^
HEAD is now at acf2a1397a68 kbuild: modpost: remove unnecessary
dependency for __modpost
$ make mrproper
  [ snip ]
$ make defconfig
  [ snip]
$ make -j24 modules
  [ snip ]
$ cat Module.symvers
0x00000000 nf_log_dump_packet_common net/netfilter/nf_log_common
EXPORT_SYMBOL_GPL
0x00000000 nf_log_l2packet net/netfilter/nf_log_common EXPORT_SYMBOL_GPL
0x00000000 nf_log_dump_sk_uid_gid net/netfilter/nf_log_common EXPORT_SYMBOL_GPL
0x00000000 nf_log_dump_tcp_header net/netfilter/nf_log_common EXPORT_SYMBOL_GPL
0x00000000 nf_log_dump_udp_header net/netfilter/nf_log_common EXPORT_SYMBOL_GPL

$ make -j24 bzImage
  [ snip ]
$ grep  -v  vmlinux   Module.symvers
  [ nothing is printed.  symbols from nf_log_common.ko are gone. ]


I can change it, but this is a long-standing behavior, I think.






--
Best Regards

Masahiro Yamada



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

  Powered by Linux