免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1508 | 回复: 0
打印 上一主题 下一主题

Build NVMe driver issue [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-05-12 18:22 |只看该作者 |倒序浏览
Hi,
During building the NVMe driver on OpenIndiana, I meet the link issue although pass source code compile.
As the followed log show, object fie could not found some functions, such as "bd_mod_init".
I found the /kernel/drv/amd64/blkdev should include "bd_mod_init".
How to update the Makefile? Thanks!

$nm nvme
[93]    |                   0|                   0|FUNC |GLOB |0    |UNDEF  |bd_alloc_handle
[203]   |                   0|                   0|FUNC |GLOB |0    |UNDEF  |bd_attach_handle
[216]   |                   0|                   0|FUNC |GLOB |0    |UNDEF  |bd_detach_handle
[222]   |                   0|                   0|FUNC |GLOB |0    |UNDEF  |bd_free_handle
[143]   |                   0|                   0|FUNC |GLOB |0    |UNDEF  |bd_mod_fini
[142]   |                   0|                   0|FUNC |GLOB |0    |UNDEF  |bd_mod_init
[187]   |                   0|                   0|FUNC |GLOB |0    |UNDEF  |bd_xfer_done
[180]   |                   0|                   0|FUNC |GLOB |0    |UNDEF  |curcpup
[123]   |                   0|                   0|FUNC |GLOB |0    |UNDEF  |cv_broadcast
[182]   |                   0|                   0|FUNC |GLOB |0    |UNDEF  |cv_destroy
[179]   |                   0|                   0|FUNC |GLOB |0    |UNDEF  |cv_init
[131]   |                   0|                   0|FUNC |GLOB |0    |UNDEF  |cv_timedwait


***************************************
Content of Makfile

all: nvme

drivername = nvme

# which compiler
CC = cc

# which linker
LD = ld

# options for compile
#CFLAGS = -D_KERNEL -m64 -xarch=sse2a -xmodel=kernel -c

#options for compile, add debug flag
CFLAGS = -D_KERNEL -DDEBUG -m64 -xarch=sse2a -xmodel=kernel -c -g

#options for compile, add debug flag
CFLAGS_S = -D_KERNEL -DDEBUG -m64 -xarch=sse2a -xmodel=kernel -c -g -S

# options for link
#LFLAGS = -dy -N /kernel/drv/adm64/blkdev -o
#LFLAGS = -lsec -lgen -ldl -lnsl -lsocket -lresolv -L /usr/lib/amd64/ -r -o
#LFLAGS = -L /usr/lib -lsocket -lresolv -r -o
#LFLAGS = -r -o
LFLAGS = -r -dy -o

SRCS = $(wildcard *.c)
objects = $(patsubst %c, %o, $(SRCS))

#objects = nvme.o nvme_ns.o nvme_ns_cmd.o nvme_qpair.o nvme_ctrlr_cmd.o nvme_ctrlr.o
$(drivername)(objects)
        @echo "ld_library_path=" $(LD_LIBRARY_PATH)
        @echo "object=" $(objects)
        $(LD) $(LFLAGS) $@ $(objects)

.c.o:
        $(CC) $(CFLAGS) $<
        $(CC) $(CFLAGS_S) $<

clean:
        -rm *.s
        -rm *.o
        -rm nvme
#       -rem_drv $(drivername)
        -rm /tmp/nvme


install:nvme
#       cp nvme.conf /usr/kernel/drv
#       -ln -s /tmp/nvme /usr/kernel/drv/amd64/nvme
#       cp $(drivername) /tmp/
#       cp $(drivername) /usr/kernel/drv/amd64
#       add_drv $(drivername)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP