2021-07-10 14:52:04

by Guenter Roeck

[permalink] [raw]
Subject: [PATCH] ARC: Fix CONFIG_STACKDEPOT

Enabling CONFIG_STACKDEPOT results in the following build error.

arc-elf-ld: lib/stackdepot.o: in function `filter_irq_stacks':
stackdepot.c:(.text+0x456): undefined reference to `__irqentry_text_start'
arc-elf-ld: stackdepot.c:(.text+0x456): undefined reference to `__irqentry_text_start'
arc-elf-ld: stackdepot.c:(.text+0x476): undefined reference to `__irqentry_text_end'
arc-elf-ld: stackdepot.c:(.text+0x476): undefined reference to `__irqentry_text_end'
arc-elf-ld: stackdepot.c:(.text+0x484): undefined reference to `__softirqentry_text_start'
arc-elf-ld: stackdepot.c:(.text+0x484): undefined reference to `__softirqentry_text_start'
arc-elf-ld: stackdepot.c:(.text+0x48c): undefined reference to `__softirqentry_text_end'
arc-elf-ld: stackdepot.c:(.text+0x48c): undefined reference to `__softirqentry_text_end'

Other architectures address this problem by adding IRQENTRY_TEXT and
SOFTIRQENTRY_TEXT to the text segment, so do the same here.

Signed-off-by: Guenter Roeck <[email protected]>
---
arch/arc/kernel/vmlinux.lds.S | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arc/kernel/vmlinux.lds.S b/arch/arc/kernel/vmlinux.lds.S
index e2146a8da195..529ae50f9fe2 100644
--- a/arch/arc/kernel/vmlinux.lds.S
+++ b/arch/arc/kernel/vmlinux.lds.S
@@ -88,6 +88,8 @@ SECTIONS
CPUIDLE_TEXT
LOCK_TEXT
KPROBES_TEXT
+ IRQENTRY_TEXT
+ SOFTIRQENTRY_TEXT
*(.fixup)
*(.gnu.warning)
}
--
2.25.1


2021-07-13 19:46:25

by Vineet Gupta

[permalink] [raw]
Subject: Re: [PATCH] ARC: Fix CONFIG_STACKDEPOT

On 7/10/21 7:50 AM, Guenter Roeck wrote:
> Enabling CONFIG_STACKDEPOT results in the following build error.
>
> arc-elf-ld: lib/stackdepot.o: in function `filter_irq_stacks':
> stackdepot.c:(.text+0x456): undefined reference to `__irqentry_text_start'
> arc-elf-ld: stackdepot.c:(.text+0x456): undefined reference to `__irqentry_text_start'
> arc-elf-ld: stackdepot.c:(.text+0x476): undefined reference to `__irqentry_text_end'
> arc-elf-ld: stackdepot.c:(.text+0x476): undefined reference to `__irqentry_text_end'
> arc-elf-ld: stackdepot.c:(.text+0x484): undefined reference to `__softirqentry_text_start'
> arc-elf-ld: stackdepot.c:(.text+0x484): undefined reference to `__softirqentry_text_start'
> arc-elf-ld: stackdepot.c:(.text+0x48c): undefined reference to `__softirqentry_text_end'
> arc-elf-ld: stackdepot.c:(.text+0x48c): undefined reference to `__softirqentry_text_end'
>
> Other architectures address this problem by adding IRQENTRY_TEXT and
> SOFTIRQENTRY_TEXT to the text segment, so do the same here.
>
> Signed-off-by: Guenter Roeck <[email protected]>

Thx for the fix. Added to for-curr

-Vineet