Skip to content

Commit 74f6bb5

Browse files
xhackerustcpalmer-dabbelt
authored andcommitted
riscv: vdso: fix section overlapping under some conditions
lkp reported a build error, I tried the config and can reproduce build error as below: VDSOLD arch/riscv/kernel/vdso/vdso.so.dbg ld.lld: error: section .note file range overlaps with .text >>> .note range is [0x7C8, 0x803] >>> .text range is [0x800, 0x1993] ld.lld: error: section .text file range overlaps with .dynamic >>> .text range is [0x800, 0x1993] >>> .dynamic range is [0x808, 0x937] ld.lld: error: section .note virtual address range overlaps with .text >>> .note range is [0x7C8, 0x803] >>> .text range is [0x800, 0x1993] Fix it by setting DISABLE_BRANCH_PROFILING which will disable branch tracing for vdso, thus avoid useless _ftrace_annotated_branch section and _ftrace_branch section. Although we can also fix it by removing the hardcoded .text begin address, but I think that's another story and should be put into another patch. Link: https://lore.kernel.org/lkml/[email protected]/#r Reported-by: kernel test robot <[email protected]> Signed-off-by: Jisheng Zhang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Fixes: ad5d112 ("riscv: use vDSO common flow to reduce the latency of the time-related functions") Cc: [email protected] Signed-off-by: Palmer Dabbelt <[email protected]>
1 parent 3f105a7 commit 74f6bb5

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

arch/riscv/kernel/vdso/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ vdso-syms += flush_icache
1717
obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o
1818

1919
ccflags-y := -fno-stack-protector
20+
ccflags-y += -DDISABLE_BRANCH_PROFILING
2021

2122
ifneq ($(c-gettimeofday-y),)
2223
CFLAGS_vgettimeofday.o += -fPIC -include $(c-gettimeofday-y)

0 commit comments

Comments
 (0)