summaryrefslogtreecommitdiff
path: root/Makefile.libcompat
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2017-01-06 23:30:54 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2017-01-06 23:30:54 +0000
commit69b4d461bef57a2b7a4dcd20c2c0faff4f25eb85 (patch)
tree46443df35cf949011425fa21fcd2566ea83fb35c /Makefile.libcompat
parent452a3101674c96bc97913f2e7b38be13c7ee7f20 (diff)
downloadsrc-test-69b4d461bef57a2b7a4dcd20c2c0faff4f25eb85.tar.gz
src-test-69b4d461bef57a2b7a4dcd20c2c0faff4f25eb85.zip
Enable /usr/lib32 for o32 binaries on mips64.
Build and install an o32 set of libraries on mips64 suitable for running o32 binaries via COMPAT_FREEBSD32. Enable COMPAT_FREEBSD32 in MALTA64. Reviewed by: jmallett, imp Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D9032
Notes
Notes: svn path=/head/; revision=311567
Diffstat (limited to 'Makefile.libcompat')
-rw-r--r--Makefile.libcompat18
1 files changed, 16 insertions, 2 deletions
diff --git a/Makefile.libcompat b/Makefile.libcompat
index b1aa86249aace..ea2a2e69d94c1 100644
--- a/Makefile.libcompat
+++ b/Makefile.libcompat
@@ -4,8 +4,7 @@
__<${_this:T}>__:
# Makefile for the compatibility libraries.
-# - 32-bit compat libraries on PowerPC and AMD64.
-# could also be for mips, but that doesn't work today.
+# - 32-bit compat libraries on MIPS, PowerPC, and AMD64.
# -------------------------------------------------------------------
# 32 bit world
@@ -34,6 +33,21 @@ LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc
LIB32WMAKEFLAGS= \
LD="${XLD} -m elf32ppc_fbsd" \
OBJCOPY="${XOBJCOPY}"
+
+.elif ${TARGET_ARCH:Mmips64*} != ""
+.if empty(TARGET_CPUTYPE)
+LIB32CPUFLAGS= -march=mips3
+.else
+LIB32CPUFLAGS= -march=${TARGET_CPUTYPE}
+.endif
+LIB32CPUFLAGS+= -mabi=32
+LIB32WMAKEENV= MACHINE=mips MACHINE_ARCH=mips
+.if ${TARGET_ARCH:Mmips64el*} != ""
+LIB32WMAKEFLAGS= LD="${XLD} -m elf32ltsmip_fbsd"
+.else
+LIB32WMAKEFLAGS= LD="${XLD} -m elf32btsmip_fbsd"
+.endif
+LIB32WMAKEFLAGS+= OBJCOPY="${XOBJCOPY}"
.endif