Re: [kbuild-all] Re: arceb-elf-ld: include/linux/leds.h:193: undefined reference to `devm_led_classdev_register_ext'

From: Randy Dunlap
Date: Sat Oct 10 2020 - 19:11:24 EST


On 10/10/20 12:13 AM, Rong Chen wrote:
>
>
> On 10/10/20 11:49 AM, Randy Dunlap wrote:
>> On 10/9/20 8:19 PM, Rong Chen wrote:
>>>
>>> On 10/8/20 3:15 PM, Pavel Machek wrote:
>>>> Hi!
>>>>
>>>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>>>> head:   c85fb28b6f999db9928b841f63f1beeb3074eeca
>>>>> commit: 92a81562e695628086acb92f95090ab09d9b9ec0 leds: lp55xx: Add multicolor framework support to lp55xx
>>>>> date:   3 months ago
>>>>> config: arc-randconfig-r035-20201008 (attached as .config)
>>>>> compiler: arceb-elf-gcc (GCC) 9.3.0
>>>>> reproduce (this is a W=1 build):
>>>>>           wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>>>>           chmod +x ~/bin/make.cross
>>>>>           # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=92a81562e695628086acb92f95090ab09d9b9ec0
>>>>>           git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>>>>           git fetch --no-tags linus master
>>>>>           git checkout 92a81562e695628086acb92f95090ab09d9b9ec0
>>>>>           # save the attached .config to linux build tree
>>>>>           COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
>>>>>
>>>>> If you fix the issue, kindly add following tag as appropriate
>>>>> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>>>> Hi robot. Do you have human around to talk to?
>>>>
>>>>> All errors (new ones prefixed by >>):
>>>>>
>>>>>      arceb-elf-ld: lib/stackdepot.o: in function `filter_irq_stacks':
>>>>>      lib/stackdepot.c:331: undefined reference to `__irqentry_text_start'
>>>>>      arceb-elf-ld: lib/stackdepot.c:331: undefined reference to `__irqentry_text_start'
>>>>>      arceb-elf-ld: lib/stackdepot.o: in function `in_irqentry_text':
>>>>>      lib/stackdepot.c:323: undefined reference to `__irqentry_text_end'
>>>>>      arceb-elf-ld: lib/stackdepot.c:323: undefined reference to `__irqentry_text_end'
>>>>>      arceb-elf-ld: lib/stackdepot.c:324: undefined reference to `__softirqentry_text_start'
>>>>>      arceb-elf-ld: lib/stackdepot.c:324: undefined reference to `__softirqentry_text_start'
>>>>>      arceb-elf-ld: lib/stackdepot.c:325: undefined reference to `__softirqentry_text_end'
>>>>>      arceb-elf-ld: lib/stackdepot.c:325: undefined reference to
>>>> What is going on here? Did you just start testing arc? The commit
>>>> is... really old.
>>>>
>>> Hi Pavel,
>>>
>>> Only this error "arceb-elf-ld: include/linux/leds.h:193: undefined reference to `devm_led_classdev_register_ext'" was found in this commit,
>>> other errors are for reference only, and the test config is a rand config, so it's discovered by chance.
>> Hi,
>> Just for the record, I could not reproduce the build error
>> with the config file that was provided.
>>
>
> Hi Randy,
>
> I can reproduce it with the above reproduce steps:
>
> ➜  linux git:(92a81562e695) ✗ make CROSS_COMPILE=/home/nfs/0day/gcc-9.3.0-nolibc/arceb-elf/bin/arceb-elf- ARCH=arc
>   CALL    scripts/checksyscalls.sh
>   CALL    scripts/atomic/check-atomics.sh
>   CHK     include/generated/compile.h
>   GEN     .version
>   CHK     include/generated/compile.h
>   UPD     include/generated/compile.h
>   CC      init/version.o
>   AR      init/built-in.a
>   LD      vmlinux.o
>   MODPOST vmlinux.symvers
>   MODINFO modules.builtin.modinfo
>   GEN     modules.builtin
>   LD      .tmp_vmlinux.kallsyms1
> /home/nfs/0day/gcc-9.3.0-nolibc/arceb-elf/bin/arceb-elf-ld: lib/stackdepot.o: in function `filter_irq_stacks':
> /home/nfs/linux/lib/stackdepot.c:331: undefined reference to `__irqentry_text_start'
> /home/nfs/0day/gcc-9.3.0-nolibc/arceb-elf/bin/arceb-elf-ld: /home/nfs/linux/lib/stackdepot.c:331: undefined reference to `__irqentry_text_start'
> /home/nfs/0day/gcc-9.3.0-nolibc/arceb-elf/bin/arceb-elf-ld: lib/stackdepot.o: in function `in_irqentry_text':
> /home/nfs/linux/lib/stackdepot.c:323: undefined reference to `__irqentry_text_end'
> /home/nfs/0day/gcc-9.3.0-nolibc/arceb-elf/bin/arceb-elf-ld: /home/nfs/linux/lib/stackdepot.c:323: undefined reference to `__irqentry_text_end'
> /home/nfs/0day/gcc-9.3.0-nolibc/arceb-elf/bin/arceb-elf-ld: /home/nfs/linux/lib/stackdepot.c:324: undefined reference to `__softirqentry_text_start'
> /home/nfs/0day/gcc-9.3.0-nolibc/arceb-elf/bin/arceb-elf-ld: /home/nfs/linux/lib/stackdepot.c:324: undefined reference to `__softirqentry_text_start'
> /home/nfs/0day/gcc-9.3.0-nolibc/arceb-elf/bin/arceb-elf-ld: /home/nfs/linux/lib/stackdepot.c:325: undefined reference to `__softirqentry_text_end'
> /home/nfs/0day/gcc-9.3.0-nolibc/arceb-elf/bin/arceb-elf-ld: /home/nfs/linux/lib/stackdepot.c:325: undefined reference to `__softirqentry_text_end'
> /home/nfs/0day/gcc-9.3.0-nolibc/arceb-elf/bin/arceb-elf-ld: drivers/leds/leds-lp55xx-common.o: in function `devm_led_classdev_register':
> /home/nfs/linux/./include/linux/leds.h:193: undefined reference to `devm_led_classdev_register_ext'
> /home/nfs/0day/gcc-9.3.0-nolibc/arceb-elf/bin/arceb-elf-ld: /home/nfs/linux/./include/linux/leds.h:193: undefined reference to `devm_led_classdev_register_ext'
> make: *** [Makefile:1139: vmlinux] Error 1

Oh, I guess I see the difference. The bot is checking out a commit
that is 3 months old:

git fetch --no-tags linus master
git checkout 92a81562e695628086acb92f95090ab09d9b9ec0


So it's a bit like Pavel said, that commit is old. I can't say that I care
as long as current mainline builds, and I have already verified that it does.


cheers.
--
~Randy