Le 2016-11-11 11:52, H. Nikolaus Schaller a écrit :
Am 11.11.2016 um 11:49 schrieb H. Nikolaus Schaller hns@goldelico.com:
Am 10.11.2016 um 11:08 schrieb Linux-SWAT openpandora@free.fr:
Hi,
I usually have no problem compiling vanilla or Letux kernel, but Letux 4.9-rc4 produces a lot of this at boot on the EVM : ... [ 15.922851] nvmem_core: no symbol version for memcpy [ 15.931809] nvmem_core: Unknown symbol memcpy (err -22) [ 15.931993] snd_pcm_dmaengine: no symbol version for _set_bit [ 15.948771] snd_pcm_dmaengine: Unknown symbol _set_bit (err -22) [ 15.964411] snd_pcm_dmaengine: no symbol version for __aeabi_uidiv [ 15.977449] palmas_gpadc: no symbol version for __aeabi_idiv [ 15.983640] snd_pcm_dmaengine: Unknown symbol __aeabi_uidiv (err -22) [ 16.003734] palmas_gpadc: Unknown symbol __aeabi_idiv (err -22) ...
and most modules can't load. Gcc version 5.4.0 .
I should have added that it works for me with a gcc 4.9.
Question: where did you get the compiler from? What is your build host?
Maybe the compiler setup has a bug and/or something changed in global Linux 4.9 Makefiles.
I'm on a standard Slackware ARM -current, armhf ARMv7-a.
Latest perfectly working kernels I tested were both vanilla and Letux 4.8.0.
To me it looks as if these are compiler-builtin functions which are for some unknown reason not built into the kernel modules but referenced explicitly as external functions. So they are expected to be an exported part of the uImage.
Does gcc 5.4 have a new compiler option required to inline such compiler builtins? Or does the build process not include the libgcc properly?
Maybe one of the fellow kernel developers knows something.