Author: ed
Date: Wed Aug 24 11:35:49 2016
New Revision: 304745
URL: https://svnweb.freebsd.org/changeset/base/304745

Log:
  Add a Makefile for building the cloudabi32 kernel module.
  
  Where the cloudabi64 kernel can be used to execute 64-bit CloudABI
  binaries, this one should be used for 32-bit binaries. Right now it
  works on i386 and amd64.

Added:
  head/sys/modules/cloudabi32/
     - copied from r304742, head/sys/modules/cloudabi64/
Modified:
  head/sys/modules/Makefile
  head/sys/modules/cloudabi32/Makefile

Modified: head/sys/modules/Makefile
==============================================================================
--- head/sys/modules/Makefile   Wed Aug 24 10:51:33 2016        (r304744)
+++ head/sys/modules/Makefile   Wed Aug 24 11:35:49 2016        (r304745)
@@ -75,6 +75,7 @@ SUBDIR=       \
        ${_cfi} \
        ${_ciss} \
        cloudabi \
+       ${_cloudabi32} \
        ${_cloudabi64} \
        ${_cm} \
        ${_cmx} \
@@ -765,6 +766,9 @@ _epic=              epic
 _igb=          igb
 .endif
 
+.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
+_cloudabi32=   cloudabi32
+.endif
 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
 _cloudabi64=   cloudabi64
 .endif

Modified: head/sys/modules/cloudabi32/Makefile
==============================================================================
--- head/sys/modules/cloudabi64/Makefile        Wed Aug 24 10:13:18 2016        
(r304742)
+++ head/sys/modules/cloudabi32/Makefile        Wed Aug 24 11:35:49 2016        
(r304745)
@@ -2,36 +2,36 @@
 
 SYSDIR?=${.CURDIR}/../..
 
-.PATH: ${SYSDIR}/compat/cloudabi64
-.PATH: ${SYSDIR}/${MACHINE}/cloudabi64
+.PATH: ${SYSDIR}/compat/cloudabi32
+.PATH: ${SYSDIR}/${MACHINE}/cloudabi32
 
-KMOD=  cloudabi64
-SRCS=  cloudabi64_fd.c cloudabi64_module.c cloudabi64_poll.c \
-       cloudabi64_sock.c cloudabi64_syscalls.c cloudabi64_sysent.c \
-       cloudabi64_sysvec.c cloudabi64_thread.c
-
-OBJS=  cloudabi64_vdso_blob.o
-CLEANFILES=cloudabi64_vdso.o
-
-.if ${MACHINE_CPUARCH} == "aarch64"
-VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_aarch64.S
-OUTPUT_TARGET=elf64-littleaarch64
-BINARY_ARCHITECTURE=aarch64
+KMOD=  cloudabi32
+SRCS=  cloudabi32_fd.c cloudabi32_module.c cloudabi32_poll.c \
+       cloudabi32_sock.c cloudabi32_syscalls.c cloudabi32_sysent.c \
+       cloudabi32_sysvec.c cloudabi32_thread.c
+
+OBJS=  cloudabi32_vdso_blob.o
+CLEANFILES=cloudabi32_vdso.o
+
+.if ${MACHINE_CPUARCH} == "i386"
+VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_i686.S
+OUTPUT_TARGET=elf32-i386-freebsd
+BINARY_ARCHITECTURE=aarch32
 .elif ${MACHINE_CPUARCH} == "amd64"
-VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_x86_64.S
+VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S
 OUTPUT_TARGET=elf64-x86-64-freebsd
 BINARY_ARCHITECTURE=i386
 .endif
 
-cloudabi64_vdso.o: ${VDSO_SRCS}
-       ${CC} -x assembler-with-cpp -shared -nostdinc -nostdlib \
+cloudabi32_vdso.o: ${VDSO_SRCS}
+       ${CC} -x assembler-with-cpp -m32 -shared -nostdinc -nostdlib \
            -Wl,-T${SYSDIR}/compat/cloudabi/cloudabi_vdso.lds \
            ${VDSO_SRCS} -o ${.TARGET}
 
-cloudabi64_vdso_blob.o: cloudabi64_vdso.o
+cloudabi32_vdso_blob.o: cloudabi32_vdso.o
        ${OBJCOPY} --input-target binary \
            --output-target ${OUTPUT_TARGET} \
            --binary-architecture ${BINARY_ARCHITECTURE} \
-           cloudabi64_vdso.o ${.TARGET}
+           cloudabi32_vdso.o ${.TARGET}
 
 .include <bsd.kmod.mk>
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to