/proc/kallsyms中的T和t有什么区别 [英] What is the difference between T and t in /proc/kallsyms

查看:707
本文介绍了/proc/kallsyms中的T和t有什么区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是System.map和 /proc/kallsyms 中文本文件的一部分.

This is a part of text file from System.map and /proc/kallsyms.

ffffffff8106c260 T leave_mm
ffffffff8106c340 t do_flush_tlb_all
ffffffff8106c390 t flush_tlb_func
ffffffff8106c510 T native_flush_tlb_others
ffffffff8106c540 T flush_tlb_current_task
ffffffff8106c600 T flush_tlb_mm_range
ffffffff8106c770 T flush_tlb_page
ffffffff8106c820 T flush_tlb_all
ffffffff8106c840 T flush_tlb_kernel_range

Tt有什么区别?
我知道Tt用于文本(代码)部分.

What is the difference between T and t?
I know that T or t is for text (code) section.

我猜想T可以从内核模块调用,而t不能从内核模块调用.

I guessed T could be invoked from kernel module and t couldn't be invoked from kernel module.

让我知道它们的确切含义和区别.

Let me know exact meaning and difference between them.

推荐答案

文件/proc/kallsyms包含内核知道的所有符号,并且由于共享内核的代码空间,因此模块可以访问这些符号.

The file /proc/kallsyms holds all the symbols that the kernel knows about and which are therefore accessible to your modules since they share the kernel's codespace.

来自man nm:

符号值,以选项(请参见下文)选择的基数为单位,或者默认为十六进制. 符号类型.至少使用以下类型;其他也取决于目标文件格式.如果是小写,则该符号通常是局部的;如果为大写,则符号为全局(外部).但是,有一些小写的符号针对特殊的全局符号(u,v和w)显示.

The symbol value, in the radix selected by options (see below), or hexadecimal by default. The symbol type. At least the following types are used; others are, as well, depending on the object file format. If lowercase, the symbol is usually local; if uppercase, the symbol is global (external). There are however a few lowercase symbols that are shown for special global symbols (u, v and w).

T Ť 该符号在文本(代码)部分中.

T t The symbol is in the text (code) section.

T表示该符号是全局可见的,并且可以在其他内核代码中使用.

T means that symbol is globally visible, and can be used in other kernel's code.

这篇关于/proc/kallsyms中的T和t有什么区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆