簡體   English   中英

/proc/kallsyms 中的 T 和 t 有什么區別

[英]What is the difference between T and t in /proc/kallsyms

這是來自 System.map 和/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用於文本(代碼)部分。

我猜T可以從內核模塊調用,而t不能從內核模塊調用。

讓我知道它們之間的確切含義和區別。

文件 /proc/kallsyms 包含內核知道的所有符號,因此您的模塊可以訪問這些符號,因為它們共享內核的代碼空間。

man nm

符號值,以選項選擇的基數(見下文),或默認為十六進制。 符號類型。 至少使用了以下類型; 其他的也取決於目標文件格式。 如果是小寫,符號通常是本地的; 如果大寫,則符號是全局的(外部的)。 但是,對於特殊的全局符號(u、v 和 w),會顯示一些小寫符號。

T t 符號在文本(代碼)部分。

T表示該符號是全局可見的,可以在其他內核的代碼中使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM