diff options
author | netchild <netchild@FreeBSD.org> | 2006-08-15 13:01:36 +0000 |
---|---|---|
committer | netchild <netchild@FreeBSD.org> | 2006-08-15 13:01:36 +0000 |
commit | eb91ee0f35d84b6103c7b3e9bec6a6f2e2652279 (patch) | |
tree | efa31992ab4558a6b2217d6c7a2eed0f4a547608 | |
parent | 133c6ea86255aacd39f148297f9eabc73ba3f23d (diff) | |
download | FreeBSD-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
-rw-r--r-- | sys/modules/linprocfs/Makefile | 4 | ||||
-rw-r--r-- | sys/modules/linsysfs/Makefile | 4 | ||||
-rw-r--r-- | sys/modules/linux/Makefile | 31 |
3 files changed, 26 insertions, 13 deletions
diff --git a/sys/modules/linprocfs/Makefile b/sys/modules/linprocfs/Makefile index 98f9fcb..9b89c96 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 <bsd.kmod.mk> diff --git a/sys/modules/linsysfs/Makefile b/sys/modules/linsysfs/Makefile index 084b828..1320212 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 <bsd.kmod.mk> 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) |