当前位置: 技术问答>linux和unix
[求助]请问在2.6内核下,怎样用ld把几个o链接成一个ko驱动模块呢?
来源: 互联网 发布时间:2015-11-13
本文导语: ifneq ($(KERNELRELEASE),) obj-m := init_sfnet.o init_sfnet-objs := indep.o init_net.o endif module: checkkernel $(MAKE) -w -C $(KDIR) SUBDIRS=$(PWD) modules; ================================== 在Makefile文件里有这样一段,有这样的信息: CC [M] ........
ifneq ($(KERNELRELEASE),)
obj-m := init_sfnet.o
init_sfnet-objs := indep.o
init_net.o
endif
module: checkkernel
$(MAKE) -w -C $(KDIR) SUBDIRS=$(PWD) modules;
==================================
在Makefile文件里有这样一段,有这样的信息:
CC [M] ................./indep.o
CC [M] ................./init_net.o
LD [M] ................./init_sfnet.o
Building modules, stage 2
MODPOST
CC ...................../init_sfnet.mod.o
LD [M] ................./init_sfnet.ko
==================================
现在的问题是,最后的init_sfnet.ko需要链接上另外一个xxx.o文件才能用,请问我怎样用ld命令,
把[indep.o,init_net.o,init_sfnet.o]+xxx.o(或者 还是应该是init_sfnet.mod.o+xxx.o?),链接
成为init_sfnet.ko 呢?
谢谢指点一二了,不胜感激 :-)
obj-m := init_sfnet.o
init_sfnet-objs := indep.o
init_net.o
endif
module: checkkernel
$(MAKE) -w -C $(KDIR) SUBDIRS=$(PWD) modules;
==================================
在Makefile文件里有这样一段,有这样的信息:
CC [M] ................./indep.o
CC [M] ................./init_net.o
LD [M] ................./init_sfnet.o
Building modules, stage 2
MODPOST
CC ...................../init_sfnet.mod.o
LD [M] ................./init_sfnet.ko
==================================
现在的问题是,最后的init_sfnet.ko需要链接上另外一个xxx.o文件才能用,请问我怎样用ld命令,
把[indep.o,init_net.o,init_sfnet.o]+xxx.o(或者 还是应该是init_sfnet.mod.o+xxx.o?),链接
成为init_sfnet.ko 呢?
谢谢指点一二了,不胜感激 :-)
|
直接加在init_sfnet-objs里试试?
|
试试单独指定,什么也不做:
xxx.o:
xxx.o: