我有一個模塊,其中包含具有ref
屬性的函數。這將.text
放在不同的部分。 ARM stack frame unwinding的工作方式是將兩個附加部分放置在一個ELF文件中。這些部分向ARM unwind.c提供表格。加載模塊時,module.c文件會填充這些表。模塊可以在ARM上使用'ref'部分嗎?
當使用.ref.text
部分時,gcc-4.7創建了兩個部分.ARM.extab.ref.text
和.ARM.exidx.ref.text
以允許展開此代碼。不幸的是,module.c只能掃描.init
,.devinit
等,並不會添加這些部分。如果我們打開CONFIG_DEBUG_KMEMLEAK,並且__ref
幀在分配期間處於活動狀態,堆棧跟蹤代碼會給出許多展開:內核日誌中未找到索引消息。
- 在模塊中使用
__ref
錯誤嗎? - 如果有通過architechure該地點的
.ref
extab和exidx核心中ARM鏈接文件.ARM.extab和.ARM.exidx板塊? - 爲什麼我是唯一一個看到這個的?我有2.6.36,但問題似乎存在於主線上。
+1好的研究。儘管如此,在採用它之前,相關人員運行它似乎是個好主意。 –