summaryrefslogtreecommitdiff
path: root/arch/riscv/kernel/vdso
diff options
context:
space:
mode:
authorMao Han <han_mao@c-sky.com>2019-07-11 10:38:40 +0800
committerPaul Walmsley <paul.walmsley@sifive.com>2019-07-31 12:26:10 -0700
commitb399abe7c21e248dc6224cadc9a378a2beb10cfd (patch)
treecb747e3d9ad777a4fa9a027368da790b7ac498b8 /arch/riscv/kernel/vdso
parent609488bc979f99f805f34e9a32c1e3b71179d10b (diff)
riscv: Fix perf record without libelf support
This patch fix following perf record error by linking vdso.so with build id. perf.data perf.data.old [ perf record: Woken up 1 times to write data ] free(): double free detected in tcache 2 Aborted perf record use filename__read_build_id(util/symbol-minimal.c) to get build id when libelf is not supported. When vdso.so is linked without build id, the section size of PT_NOTE will be zero, buf size will realloc to zero and cause memory corruption. Signed-off-by: Mao Han <han_mao@c-sky.com> Cc: Paul Walmsley <paul.walmsley@sifive.com> Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Albert Ou <aou@eecs.berkeley.edu> Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
Diffstat (limited to 'arch/riscv/kernel/vdso')
-rw-r--r--arch/riscv/kernel/vdso/Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile
index f1d6ffe43e42..49a5852fd07d 100644
--- a/arch/riscv/kernel/vdso/Makefile
+++ b/arch/riscv/kernel/vdso/Makefile
@@ -37,7 +37,7 @@ $(obj)/vdso.so.dbg: $(src)/vdso.lds $(obj-vdso) FORCE
# these symbols in the kernel code rather than hand-coded addresses.
SYSCFLAGS_vdso.so.dbg = -shared -s -Wl,-soname=linux-vdso.so.1 \
- -Wl,--hash-style=both
+ -Wl,--build-id -Wl,--hash-style=both
$(obj)/vdso-dummy.o: $(src)/vdso.lds $(obj)/rt_sigreturn.o FORCE
$(call if_changed,vdsold)