在我们的 makefile 中注意到 EXPORT_SYMTAB
的使用如 here 中所述。 .
它仍然与 2.6 及更高版本的内核相关吗? 我找不到它当前状态的引用,但在 LXR 中找不到它。
最佳答案
EXPORT_SYMTAB
自 2.6 内核以来,名称本身似乎一劳永逸地消失了。然而相关宏EXPORT_SYMTAB_STROPS
似乎与 SPARC 架构的相关性仍然很小,如所解释的 here 。直接引用邮件列表:
> given that EXPORT_SYMTAB was removed from the kernel tree quite some
> time back, is this related macro still doing anything useful? just
> asking.它仅由 sparc 使用,以便它可以导出类似
memcpy()
的符号,memset()
等人。正确地没有这个
ifdef
构建 ksyms.c 时的保护,string*.h 将 将这些函数定义为宏,这使得:EXPORT_SYMBOL(memcpy)
和类似的不起作用,因为
block 引用>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 */
关于linux - 2.6 内核中的 EXPORT_SYMTAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12622311/