summaryrefslogtreecommitdiffstats
path: root/sys/modules/linux
diff options
context:
space:
mode:
authornetchild <netchild@FreeBSD.org>2006-08-15 13:01:36 +0000
committernetchild <netchild@FreeBSD.org>2006-08-15 13:01:36 +0000
commiteb91ee0f35d84b6103c7b3e9bec6a6f2e2652279 (patch)
treeefa31992ab4558a6b2217d6c7a2eed0f4a547608 /sys/modules/linux
parent133c6ea86255aacd39f148297f9eabc73ba3f23d (diff)
downloadFreeBSD-src-eb91ee0f35d84b6103c7b3e9bec6a6f2e2652279.zip
FreeBSD-src-eb91ee0f35d84b6103c7b3e9bec6a6f2e2652279.tar.gz
- Add the new files to the linux module.
- Prepare the modules for build on amd64, but don't build them there as part of the kernel build yet. The code for the missing symbols on amd64 isn't committed and it may be solved differently. Sponsored by: Google SoC 2006 Submitted by: rdivacky
Diffstat (limited to 'sys/modules/linux')
-rw-r--r--sys/modules/linux/Makefile31
1 files changed, 18 insertions, 13 deletions
diff --git a/sys/modules/linux/Makefile b/sys/modules/linux/Makefile
index d58e3d6..db8ea9c 100644
--- a/sys/modules/linux/Makefile
+++ b/sys/modules/linux/Makefile
@@ -1,17 +1,22 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../compat/linux ${.CURDIR}/../../${MACHINE_ARCH}/linux
+.if ${MACHINE_ARCH} == "amd64"
+SFX= 32
+CFLAGS+=-DCOMPAT_IA32 -DCOMPAT_LINUX32
+.endif
+
+.PATH: ${.CURDIR}/../../compat/linux ${.CURDIR}/../../${MACHINE_ARCH}/linux${SFX}
KMOD= linux
-SRCS= linux_dummy.c linux_file.c linux_getcwd.c linux_ioctl.c linux_ipc.c \
- linux_machdep.c linux_mib.c linux_misc.c linux_signal.c linux_socket.c \
- linux_stats.c linux_sysctl.c linux_sysent.c linux_sysvec.c \
- linux_util.c opt_inet6.h opt_mac.h \
+SRCS= linux${SFX}_dummy.c linux_emul.c linux_file.c linux_futex.c linux_getcwd.c linux_ioctl.c \
+ linux_ipc.c linux${SFX}_machdep.c linux_mib.c linux_misc.c linux_signal.c \
+ linux_socket.c linux_stats.c linux_sysctl.c linux${SFX}_sysent.c linux${SFX}_sysvec.c \
+ linux_uid16.c linux_util.c linux_time.c opt_inet6.h opt_mac.h opt_compat.h opt_posix.h \
vnode_if.h device_if.h bus_if.h
-OBJS= linux_locore.o
+OBJS= linux${SFX}_locore.o
.if ${MACHINE_ARCH} == "i386"
-SRCS+= linux_ptrace.c linux_uid16.c imgact_linux.c opt_cpu.h
+SRCS+= linux_ptrace.c imgact_linux.c opt_cpu.h
.endif
EXPORT_SYMS=
@@ -22,19 +27,19 @@ EXPORT_SYMS+= linux_ifname
EXPORT_SYMS+= linux_ioctl_register_handler
EXPORT_SYMS+= linux_ioctl_unregister_handler
-CLEANFILES= linux_assym.h linux_genassym.o
+CLEANFILES= linux${SFX}_assym.h linux${SFX}_genassym.o
-linux_assym.h: linux_genassym.o
+linux${SFX}_assym.h: linux${SFX}_genassym.o
.if exists(@)
-linux_assym.h: @/kern/genassym.sh
+linux${SFX}_assym.h: @/kern/genassym.sh
.endif
- sh @/kern/genassym.sh linux_genassym.o > ${.TARGET}
+ sh @/kern/genassym.sh linux${SFX}_genassym.o > ${.TARGET}
-linux_locore.o: linux_locore.s linux_assym.h
+linux${SFX}_locore.o: linux${SFX}_locore.s linux${SFX}_assym.h
${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
${.IMPSRC} -o ${.TARGET}
-linux_genassym.o: linux_genassym.c linux.h @ machine
+linux${SFX}_genassym.o: linux${SFX}_genassym.c linux.h @ machine
${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
.if !defined(KERNBUILDDIR)
OpenPOWER on IntegriCloud