From fd8d4e53bc2ac424d6f08ac700800093b03a2d97 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Thu, 3 Feb 2022 16:38:15 +0200 Subject: [PATCH] vdso linker scripts: explicitly specify output arch and target Requested by: jhb Reviewed by: emaste, imp, jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D34157 --- sys/conf/vdso_amd64.ldscript | 8 ++++++++ sys/conf/vdso_amd64_ia32.ldscript | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/sys/conf/vdso_amd64.ldscript b/sys/conf/vdso_amd64.ldscript index d412abd4cd02..40b147e3a715 100644 --- 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 index 2033ebb9a396..543cfad4ef73 100644 --- 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 {