On Mon, Jun 2, 2025 at 11:04 PM Alexey Gladkov <legion@xxxxxxxxxx> wrote: > > On Mon, Jun 02, 2025 at 07:58:41PM +0900, Masahiro Yamada wrote: > > On Mon, Jun 2, 2025 at 5:07 PM Alexey Gladkov <legion@xxxxxxxxxx> wrote: > > > > > > On Mon, Jun 02, 2025 at 04:45:36PM +0900, Masahiro Yamada wrote: > > > > On Tue, May 27, 2025 at 6:08 PM Alexey Gladkov <legion@xxxxxxxxxx> wrote: > > > > > > > > > > In order to avoid symbol conflicts if they appear in the same binary, a > > > > > more unique alias identifier can be generated. > > > > > > > > Why must this be unique? > > > > > > > > What problem would happen if the same symbol names > > > > appear in MODULE_DEVICE_TABLE()? > > > > > > Before these patches this was not a problem as non-unique characters are > > > in separate object files when the module is compiled separately. > > > > > > But when the modules are compiled into the kernel, there is a symbol > > > conflict when linking vmlinuz. We have modules that export multiple device > > > tables from different object files. > > > > This is because the __mod_device_table__* symbols are global, but > > I suspect they do not need to be. > > > > Let's test this > > https://lore.kernel.org/lkml/20250602105539.392362-1-masahiroy@xxxxxxxxxx/T/#u > > I tested this patch with the config: > > make allmodconfig > make mod2yesconfig > > and it works. Good. Then, __COUNTER__ is unnecessary. -- Best Regards Masahiro Yamada