ld.bfd requires an explicit emulation for MIPS for ld -r.

Unlike lld, ld.bfd doesn't infer the emulation from the first object
file, but assumes its compiled in default for ld -r.

Differential Revision:	https://reviews.freebsd.org/D25728
This commit is contained in:
John Baldwin 2020-08-04 18:23:32 +00:00
parent 0ea6e5109d
commit ec71044958
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=363848

View file

@ -2,6 +2,27 @@
.PATH: ${.CURDIR:H}/common
.include <src.opts.mk>
CFLAGS+= -DCRT_IRELOC_SUPPRESS
.if ${MACHINE_ARCH:Mmips64}
ELFCLASS= 64
.else
ELFCLASS= 32
.endif
.if ${MACHINE_ARCH:Mmips*el}
ENDIAN= l
.else
ENDIAN= b
.endif
.if ${MACHINE_ARCH:Mmipsn32*}
SUFFIX= n32
.else
SUFFIX=
.endif
# binutils requires an explicit emulation for ld -r
LDFLAGS.bfd+= -Wl,-m -Wl,elf${ELFCLASS}${ENDIAN}tsmip${SUFFIX}_fbsd
.include <bsd.lib.mk>