[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAABZP2wZgZGAg5iVry21suEZ3e2PXhAhfwLvRCPvMRU5+zGG+g@mail.gmail.com>
Date: Thu, 17 Mar 2022 23:22:28 +0800
From: Zhouyi Zhou <zhouzhouyi@...il.com>
To: Hyeonggon Yoo <42.hyeyoo@...il.com>
Cc: rcu <rcu@...r.kernel.org>, "Paul E. McKenney" <paulmck@...nel.org>,
Josh Triplett <josh@...htriplett.org>,
Steven Rostedt <rostedt@...dmis.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Joel Fernandes <joel@...lfernandes.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: RCU: undefined reference to irq_work_queue
Hi,
On Thu, Mar 17, 2022 at 8:48 PM Hyeonggon Yoo <42.hyeyoo@...il.com> wrote:
>
> Hello RCU folks,
>
> I like to use minimal configuration for kernel development.
> when building with tinyconfig + CONFIG_PREEMPT=y on arm64:
I invoke cross compiler to reproduce the bug on my X86 machine
$make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
CC=aarch64-linux-gnu-gcc-10 tinyconfig
let CONFIG_PREEMPT=y in .config
$make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
CC=aarch64-linux-gnu-gcc-10 -j 16
LD vmlinux
aarch64-linux-gnu-ld: kernel/rcu/update.o: in function `call_rcu_tasks':
update.c:(.text+0xb30): undefined reference to `irq_work_queue'
update.c:(.text+0xb30): relocation truncated to fit: R_AARCH64_CALL26
against undefined symbol `irq_work_queue'
>
> ld: kernel/rcu/update.o: in function `call_rcu_tasks':
> update.c:(.text+0xb2c): undefined reference to `irq_work_queue'
> update.c:(.text+0xb2c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `irq_work_queue'
> make: *** [Makefile:1155: vmlinux] Error 1
>
> It seems RCU calls irq_work_queue() without checking if CONFIG_IRQ_WORK is enabled.
>
> --
> Thank you, You are awesome!
> Hyeonggon :-)
Meanwhile, there is no error for doing the same to build X86 kernel.
I think the reason is:
arch/x86/Kconfig select PERF_EVENT
and PERF_EVENT select IRQ_WORK
Hope my little research could provide some clues to solve the problem ;-)
You are welcome
Cheers
Zhouyi
Powered by blists - more mailing lists