aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMao Han <[email protected]>2019-07-11 10:38:40 +0800
committerPaul Walmsley <[email protected]>2019-07-31 12:26:10 -0700
commitb399abe7c21e248dc6224cadc9a378a2beb10cfd (patch)
treecb747e3d9ad777a4fa9a027368da790b7ac498b8
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 <[email protected]> Cc: Paul Walmsley <[email protected]> Cc: Palmer Dabbelt <[email protected]> Cc: Albert Ou <[email protected]> Signed-off-by: Paul Walmsley <[email protected]>
-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)