diff --git a/linker/linker.cpp b/linker/linker.cpp index fe4d6c49a..6ebba8e2f 100755 --- a/linker/linker.cpp +++ b/linker/linker.cpp @@ -1750,6 +1750,9 @@ static bool soinfo_link_image(soinfo* si) { static void add_vdso(KernelArgumentBlock& args UNUSED) { #if defined(AT_SYSINFO_EHDR) Elf_Ehdr* ehdr_vdso = reinterpret_cast(args.getauxval(AT_SYSINFO_EHDR)); + if (ehdr_vdso == NULL) { + return; + } soinfo* si = soinfo_alloc("[vdso]"); @@ -1761,7 +1764,6 @@ static void add_vdso(KernelArgumentBlock& args UNUSED) { si->load_bias = get_elf_exec_load_bias(ehdr_vdso); soinfo_link_image(si); - insert_soinfo_into_debug_map(si); #endif }