Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Aug 2020 18:23:33 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r363848 - head/lib/csu/mips
Message-ID:  <202008041823.074INXHM054018@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Tue Aug  4 18:23:32 2020
New Revision: 363848
URL: https://svnweb.freebsd.org/changeset/base/363848

Log:
  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

Modified:
  head/lib/csu/mips/Makefile

Modified: head/lib/csu/mips/Makefile
==============================================================================
--- head/lib/csu/mips/Makefile	Tue Aug  4 18:20:39 2020	(r363847)
+++ head/lib/csu/mips/Makefile	Tue Aug  4 18:23:32 2020	(r363848)
@@ -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>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008041823.074INXHM054018>