2.6内核中的EXPORT_SYMTAB

时间:2012-09-27 13:17:39

标签: linux linux-kernel linux-device-driver

我们的makefile EXPORT_SYMTAB中注意到here中所述。

它是否仍与2.6及以上的内核相关? 我无法找到它当前状态的参考,但在LXR中找不到它。

2 个答案:

答案 0 :(得分:3)

自{2.6}内核以来,EXPORT_SYMTAB名称本身似乎已经一劳永逸。但是,相关的宏EXPORT_SYMTAB_STROPS似乎与SPARC架构所关注的问题仍有一点关联here。直接从邮件列表中引用:

  
    

>鉴于EXPORT_SYMTAB已从内核树中删除了很多     >时光倒流,这个相关的宏还在做什么有用吗?只是
    >问。

  
     

它仅供sparc使用,因此它可以导出memcpy()之类的符号,   memset()等。适当

     

在构建ksyms.c时没有ifdef保护,字符串* .h会   将这些函数定义为宏,这就像:

EXPORT_SYMBOL(memcpy)
     

和类似的不起作用,因为memcpy将宏扩展并因此中断   构造有语法错误。

EXPORT_SYMTAB_STROPS宏仍存在于3.4.9内核中。

#> find . \( -name '*.c' -o -name '*.h' \) -exec grep -inH EXPORT_SYMTAB {} \;
./arch/sparc/lib/ksyms.c:6:#define EXPORT_SYMTAB_STROPS
./arch/sparc/include/asm/string_64.h:18:#ifndef EXPORT_SYMTAB_STROPS
./arch/sparc/include/asm/string_64.h:58:#endif /* !EXPORT_SYMTAB_STROPS */
./arch/sparc/include/asm/string_32.h:20:#ifndef EXPORT_SYMTAB_STROPS
./arch/sparc/include/asm/string_32.h:127:#endif /* !EXPORT_SYMTAB_STROPS */

答案 1 :(得分:2)

无法找到任何直接参考。在2.6内核中发现以下提交但是..

commit fe4f699c6fb886a8deaf1120fd52402c3bd7c459
Author: Robert P. J. Day <rpjday@crashcourse.ca>
Date:   Sun Jul 5 05:19:29 2009 -0400

    Staging: vt6655: Remove Makefile refs to EXPORT_SYMTAB

    Given that EXPORT_SYMTAB was removed long ago, remove the Makefile
    references to it.

    Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


commit 1fad810473423bbf0626fab2fbeb27a4663fa2d5
Author: Adrian Bunk <bunk@stusta.de>
Date:   Sat Jul 30 12:49:56 2005 -0700

    [PATCH] hostap update

    EXPORT_SYMTAB does nothing. There's no need to define something if it
    doesn't have any effect.

    Signed-off-by: Adrian Bunk <bunk@stusta.de>
    Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
    Signed-off-by: Jeff Garzik <jgarzik@pobox.com>

这表明不再使用EXPORT_SYMTAB。