linux64: use linux output target for linux_vdso.so

linux_vdso.so provides the vdso for the linuxulator's amd64 target and
is mapped into a Linux binary's address space.  Thus it should be a
Linux-style .so, which has the ELF OS/ABI unset.

It turns out that ELF Tool Chain elfcopy/objcopy also has a bug where
the OS/ABI field is unset, regardless of the specified --output-target,
so this change is a no-op with the default in-tree toolchain.  This is a
real fix when using external binutils, and the ELF Tool Chain bug will
be fixed in the future.

PR:		228934
Sponsored by:	Turing Robotic Industries
This commit is contained in:
Ed Maste 2018-06-12 13:32:42 +00:00
parent 5bede50958
commit 0f69696824

View File

@ -36,7 +36,7 @@ linux_locore.o: linux_locore.s linux_assym.h
${.IMPSRC} -o ${.TARGET}
${VDSO}.so: linux_locore.o
${OBJCOPY} --input-target binary --output-target elf64-x86-64-freebsd \
${OBJCOPY} --input-target binary --output-target elf64-x86-64 \
-S -g --binary-architecture i386:x86-64 linux_locore.o ${.TARGET}
strip -N _binary_linux_locore_o_size ${.TARGET}