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

Reply via email to