From adfa0adec0b5d7c19c220a85ef6ca729235ed172 Mon Sep 17 00:00:00 2001 From: Alexander Leidinger Date: Tue, 15 Aug 2006 13:01:36 +0000 Subject: - 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 --- sys/modules/linprocfs/Makefile | 4 ++++ sys/modules/linsysfs/Makefile | 4 ++++ sys/modules/linux/Makefile | 31 ++++++++++++++++++------------- 3 files changed, 26 insertions(+), 13 deletions(-) (limited to 'sys') diff --git a/sys/modules/linprocfs/Makefile b/sys/modules/linprocfs/Makefile index 98f9fcb55c36..9b89c96aa56d 100644 --- a/sys/modules/linprocfs/Makefile +++ b/sys/modules/linprocfs/Makefile @@ -7,4 +7,8 @@ SRCS= vnode_if.h \ linprocfs.c \ opt_compat.h +.if ${MACHINE_ARCH} == "amd64" +CFLAGS+=-DCOMPAT_LINUX32 +.endif + .include diff --git a/sys/modules/linsysfs/Makefile b/sys/modules/linsysfs/Makefile index 084b82833c2e..1320212004ff 100644 --- a/sys/modules/linsysfs/Makefile +++ b/sys/modules/linsysfs/Makefile @@ -8,4 +8,8 @@ SRCS= vnode_if.h \ linsysfs.c \ opt_compat.h +.if ${MACHINE_ARCH} == "amd64" +CFLAGS+=-DCOMPAT_LINUX32 +.endif + .include diff --git a/sys/modules/linux/Makefile b/sys/modules/linux/Makefile index d58e3d6f2224..db8ea9c3b0fc 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) -- cgit v1.3