Module Name: src
Committed By: matt
Date: Sun Aug 10 23:26:26 UTC 2014
Modified Files:
src/compat/arm/eabi: bsd.eabi.mk
src/compat/arm/oabi: bsd.oabi.mk
Added Files:
src/compat/arm/eabihf: Makefile bsd.eabihf.mk
Log Message:
MKCOMPAT fixes for aarch64
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/compat/arm/eabi/bsd.eabi.mk
cvs rdiff -u -r0 -r1.1 src/compat/arm/eabihf/Makefile \
src/compat/arm/eabihf/bsd.eabihf.mk
cvs rdiff -u -r1.2 -r1.3 src/compat/arm/oabi/bsd.oabi.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/compat/arm/eabi/bsd.eabi.mk
diff -u src/compat/arm/eabi/bsd.eabi.mk:1.2 src/compat/arm/eabi/bsd.eabi.mk:1.3
--- src/compat/arm/eabi/bsd.eabi.mk:1.2 Sat Apr 27 08:44:35 2013
+++ src/compat/arm/eabi/bsd.eabi.mk Sun Aug 10 23:26:25 2014
@@ -1,28 +1,70 @@
-# $NetBSD: bsd.eabi.mk,v 1.2 2013/04/27 08:44:35 matt Exp $
+# $NetBSD: bsd.eabi.mk,v 1.3 2014/08/10 23:26:25 matt Exp $
+
+.if !defined(MLIBDIR)
MLIBDIR= eabi
-.if ${MACHINE_ARCH:M*eb} != ""
-EARM_MACHINE_ARCH= earmeb
-LD+= -m armelfb_nbsd_eabi
+
+EARM_COMPAT_FLAGS= -mfloat-abi=soft
+EARM_COMPAT_FLAGS+= -mabi=aapcs-linux
+MKSOFTFLOAT=yes
+
+.if ${MACHINE_ARCH} == "aarch64eb"
+EARM_COMPAT_FLAGS+= -target armeb--netbsdelf-gnueabi
+EARM_COMPAT_FLAGS+= -mcpu=cortex-a53
+ARM_MACHINE_ARCH= earmv7eb
+LDFLAGS+= -Wl,--be8
+ARM_LD= -m armelfb_nbsd_eabi --be8
+.elif ${MACHINE_ARCH} == "aarch64"
+EARM_COMPAT_FLAGS+= -target arm--netbsdelf-gnueabi
+EARM_COMPAT_FLAGS+= -mcpu=cortex-a53
+ARM_MACHINE_ARCH= earmv7
+ARM_LD= -m armelf_nbsd_eabi
+.elif !empty(MACHINE_ARCH:M*eb)
+EARM_COMPAT_FLAGS+= -target armeb--netbsdelf-gnueabi
+ARM_MACHINE_ARCH= earmeb
+ARM_LD= -m armelfb_nbsd_eabi
.else
-EARM_MACHINE_ARCH= earm
-LD+= -m armelf_nbsd_eabi
+EARM_COMPAT_FLAGS+= -target arm--netbsdelf-gnueabi
+ARM_MACHINE_ARCH= earm
+ARM_LD= -m armelf_nbsd_eabi
.endif
-LIBC_MACHINE_ARCH= ${EARM_MACHINE_ARCH}
-LIBGCC_MACHINE_ARCH= ${EARM_MACHINE_ARCH}
-COMMON_MACHINE_ARCH= ${EARM_MACHINE_ARCH}
-KVM_MACHINE_ARCH= ${EARM_MACHINE_ARCH}
-PTHREAD_MACHINE_ARCH= ${EARM_MACHINE_ARCH}
-BFD_MACHINE_ARCH= ${EARM_MACHINE_ARCH}
-CSU_MACHINE_ARCH= ${EARM_MACHINE_ARCH}
-CRYPTO_MACHINE_CPU= ${EARM_MACHINE_ARCH}
-LDELFSO_MACHINE_CPU= ${EARM_MACHINE_ARCH}
-GOMP_MACHINE_ARCH= ${EARM_MACHINE_ARCH}
-
-COPTS+= -mabi=aapcs-linux -mfloat-abi=soft -Wa,-meabi=5
-CPUFLAGS+= -mabi=aapcs-linux -mfloat-abi=soft -Wa,-meabi=5
-LDADD+= -mabi=aapcs-linux -mfloat-abi=soft -Wa,-meabi=5
-LDFLAGS+= -mabi=aapcs-linux -mfloat-abi=soft -Wa,-meabi=5
-MKDEPFLAGS+= -mabi=aapcs-linux -mfloat-abi=soft -Wa,-meabi=5
+
+EARM_COMPAT_FLAGS+= -B ${TOOLDIR}/aarch64--netbsd/bin
+
+LIBC_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+LIBGCC_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+LIBEXECINFO_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+LIBM_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+COMMON_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+KVM_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+PTHREAD_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+BFD_MACHINE_ARCH= earm
+CSU_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+GOMP_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+
+COMMON_MACHINE_CPU= arm
+COMPAT_MACHINE_CPU= arm
+CRYPTO_MACHINE_CPU= arm
+CSU_MACHINE_CPU= arm
+KVM_MACHINE_CPU= arm
+LDELFSO_MACHINE_CPU= arm
+LIBC_MACHINE_CPU= arm
+PTHREAD_MACHINE_CPU= arm
+
+.if defined(ACTIVE_CC)
+EARM_COMPAT_FLAGS+= ${${ACTIVE_CC} == "gcc":?-Wa,-meabi=5:}
+.endif
+
+COPTS+= ${EARM_COMPAT_FLAGS}
+CPUFLAGS+= ${EARM_COMPAT_FLAGS}
+LDADD+= ${EARM_COMPAT_FLAGS}
+LDFLAGS+= ${EARM_COMPAT_FLAGS}
+MKDEPFLAGS+= ${EARM_COMPAT_FLAGS}
.include "${.PARSEDIR}/../../Makefile.compat"
+
+.endif
+
+.if empty(LD:M-m)
+LD+= ${ARM_LD}
+.endif
Index: src/compat/arm/oabi/bsd.oabi.mk
diff -u src/compat/arm/oabi/bsd.oabi.mk:1.2 src/compat/arm/oabi/bsd.oabi.mk:1.3
--- src/compat/arm/oabi/bsd.oabi.mk:1.2 Sun Dec 15 18:08:37 2013
+++ src/compat/arm/oabi/bsd.oabi.mk Sun Aug 10 23:26:26 2014
@@ -1,29 +1,56 @@
-# $NetBSD: bsd.oabi.mk,v 1.2 2013/12/15 18:08:37 joerg Exp $
+# $NetBSD: bsd.oabi.mk,v 1.3 2014/08/10 23:26:26 matt Exp $
+.if !defined(MLIBDIR)
MLIBDIR= oabi
-.if ${MACHINE_ARCH:M*eb} != ""
+
+.if ${MACHINE_ARCH} == "aarch64eb"
+.error oabi is not supported on big endian AARCH64
+.elif ${MACHINE_ARCH} == "aarch64"
+ARM_MACHINE_ARCH= arm
+ARM_LD= -m armelf_nbsd
+LDFLAGS+= -Wl,-m,armelf_nbsd
+COPTS+= -mcpu=cortex-a53
+ARM_APCS_FLAGS= ${${ACTIVE_CC} == "clang":? -target arm--netbsdelf -B ${TOOLDIR}/aarch64--netbsd/bin :} -mabi=apcs-gnu -mfloat-abi=soft
+.elif !empty(MACHINE_ARCH:M*eb)
ARM_MACHINE_ARCH= armeb
-LD+= -m armelfb
+ARM_LD= -m armelfb_nbsd
+LDFLAGS+= -Wl,-m,armelfb_nbsd
.else
ARM_MACHINE_ARCH= arm
-LD+= -m armelf
+ARM_LD= -m armelf_nbsd
+LDFLAGS+= -Wl,-m,armelf_nbsd
.endif
+
LIBC_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
LIBGCC_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
LIBEXECINFO_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+LIBM_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
COMMON_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
KVM_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
PTHREAD_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
BFD_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
CSU_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
-CRYPTO_MACHINE_CPU= ${ARM_MACHINE_ARCH}
-LDELFSO_MACHINE_CPU= ${ARM_MACHINE_ARCH}
GOMP_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+COMMON_MACHINE_CPU= arm
+COMPAT_MACHINE_CPU= arm
+CRYPTO_MACHINE_CPU= arm
+CSU_MACHINE_CPU= arm
+KVM_MACHINE_CPU= arm
+LIBC_MACHINE_CPU= arm
+LDELFSO_MACHINE_CPU= arm
+PTHREAD_MACHINE_CPU= arm
+
+MKSOFTFLOAT= yes
COPTS+= ${ARM_APCS_FLAGS}
CPUFLAGS+= ${ARM_APCS_FLAGS}
-LDADD+= ${ARM_APCS_FLAGS}
LDFLAGS+= ${ARM_APCS_FLAGS}
MKDEPFLAGS+= ${ARM_APCS_FLAGS}
.include "${.PARSEDIR}/../../Makefile.compat"
+
+.endif
+
+.if empty(LD:M-m)
+LD+= ${ARM_LD}
+.endif
Added files:
Index: src/compat/arm/eabihf/Makefile
diff -u /dev/null src/compat/arm/eabihf/Makefile:1.1
--- /dev/null Sun Aug 10 23:26:26 2014
+++ src/compat/arm/eabihf/Makefile Sun Aug 10 23:26:25 2014
@@ -0,0 +1,5 @@
+# $NetBSD: Makefile,v 1.1 2014/08/10 23:26:25 matt Exp $
+
+BSD_MK_COMPAT_FILE=${.CURDIR}/bsd.eabihf.mk
+
+.include "../../compatsubdir.mk"
Index: src/compat/arm/eabihf/bsd.eabihf.mk
diff -u /dev/null src/compat/arm/eabihf/bsd.eabihf.mk:1.1
--- /dev/null Sun Aug 10 23:26:26 2014
+++ src/compat/arm/eabihf/bsd.eabihf.mk Sun Aug 10 23:26:25 2014
@@ -0,0 +1,70 @@
+# $NetBSD: bsd.eabihf.mk,v 1.1 2014/08/10 23:26:25 matt Exp $
+
+.if !defined(MLIBDIR)
+
+MLIBDIR= eabihf
+
+EARM_COMPAT_FLAGS= -mfloat-abi=hard
+EARM_COMPAT_FLAGS+= -mabi=aapcs-linux
+MKSOFTFLOAT=no
+
+.if ${MACHINE_ARCH} == "aarch64eb"
+EARM_COMPAT_FLAGS+= -target armeb--netbsdelf-gnueabi
+EARM_COMPAT_FLAGS+= -mcpu=cortex-a53
+ARM_MACHINE_ARCH= earmv7hfeb
+LDFLAGS+= -Wl,--be8
+ARM_LD= -m armelfb_nbsd_eabihf --be8
+.elif ${MACHINE_ARCH} == "aarch64"
+EARM_COMPAT_FLAGS+= -target arm--netbsdelf-gnueabi
+EARM_COMPAT_FLAGS+= -mcpu=cortex-a53
+ARM_MACHINE_ARCH= earmv7hf
+ARM_LD= -m armelf_nbsd_eabihf
+.elif !empty(MACHINE_ARCH:M*eb)
+EARM_COMPAT_FLAGS+= -target armeb--netbsdelf-gnueabi
+ARM_MACHINE_ARCH= earmhfeb
+ARM_LD= -m armelfb_nbsd_eabihf
+.else
+EARM_COMPAT_FLAGS+= -target arm--netbsdelf-gnueabi
+ARM_MACHINE_ARCH= earmhf
+ARM_LD= -m armelf_nbsd_eabihf
+.endif
+
+EARM_COMPAT_FLAGS+= -B ${TOOLDIR}/aarch64--netbsd/bin
+
+LIBC_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+LIBGCC_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+LIBEXECINFO_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+LIBM_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+COMMON_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+KVM_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+PTHREAD_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+BFD_MACHINE_ARCH= earmhf
+CSU_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+GOMP_MACHINE_ARCH= ${ARM_MACHINE_ARCH}
+
+COMMON_MACHINE_CPU= arm
+COMPAT_MACHINE_CPU= arm
+CRYPTO_MACHINE_CPU= arm
+CSU_MACHINE_CPU= arm
+KVM_MACHINE_CPU= arm
+LDELFSO_MACHINE_CPU= arm
+LIBC_MACHINE_CPU= arm
+PTHREAD_MACHINE_CPU= arm
+
+.if defined(ACTIVE_CC)
+EARM_COMPAT_FLAGS+= ${${ACTIVE_CC} == "gcc":?-Wa,-meabi=5:}
+.endif
+
+COPTS+= ${EARM_COMPAT_FLAGS}
+CPUFLAGS+= ${EARM_COMPAT_FLAGS}
+LDADD+= ${EARM_COMPAT_FLAGS}
+LDFLAGS+= ${EARM_COMPAT_FLAGS}
+MKDEPFLAGS+= ${EARM_COMPAT_FLAGS}
+
+.include "${.PARSEDIR}/../../Makefile.compat"
+
+.endif
+
+.if empty(LD:M-m)
+LD+= ${ARM_LD}
+.endif