diff --git a/sys/conf/vdso_amd64.ldscript b/sys/conf/vdso_amd64.ldscript --- a/sys/conf/vdso_amd64.ldscript +++ b/sys/conf/vdso_amd64.ldscript @@ -32,6 +32,14 @@ * Linker script for amd64 vdso. */ +/* + * The OUTPUT_ARCH and TARGET lines are for ld.bfd. + * lld doesn't do much with them, the only thing it does is producing ELF + * or binary based on TARGET. + */ +OUTPUT_ARCH(i386:x86-64) +TARGET(elf64-x86-64-freebsd) + PHDRS { text PT_LOAD FILEHDR PHDRS FLAGS(5); /* PF_R|PF_X */ diff --git a/sys/conf/vdso_amd64_ia32.ldscript b/sys/conf/vdso_amd64_ia32.ldscript --- a/sys/conf/vdso_amd64_ia32.ldscript +++ b/sys/conf/vdso_amd64_ia32.ldscript @@ -32,7 +32,14 @@ * Linker script for ia32 (32bit) vdso on amd64. */ +/* + * The OUTPUT_ARCH and TARGET lines are for ld.bfd, which cannot determine + * the output format based on the first input file. + * lld doesn't do much with them, the only thing it does is produce ELF + * or binary based on TARGET. + */ OUTPUT_ARCH(i386) +TARGET(elf32-i386-freebsd) PHDRS {