2012-04-09 25 views
12

Voglio controllare l'elenco dei simboli esportati dal kernel di Linux. Così mi sparano il comando,Simboli del kernel Linux esportati

# cat /proc/kallsyms 
0000000000000000 D per_cpu__irq_stack_union 
0000000000000000 D __per_cpu_start 
0000000000004000 D per_cpu__gdt_page 
0000000000005000 d per_cpu__exception_stacks 
000000000000b000 d per_cpu__idt_desc 
000000000000b010 d per_cpu__xen_cr0_value 
000000000000b018 D per_cpu__xen_vcpu 
000000000000b020 D per_cpu__xen_vcpu_info 
000000000000b060 d per_cpu__mc_buffer 
000000000000c570 D per_cpu__xen_mc_irq_flags 

Questa è l'uscita ho ottenuto. La mia domanda è: qual è il significato di ogni campo in questo output? Il primo campo appare come l'indirizzo, non ho ricevuto alcun riferimento per il secondo campo. Qualcuno può spiegarmi il significato dei valori, D, d, t, T, s nel secondo campo?

risposta

18

I caratteri nella seconda colonna hanno lo stesso significato che fanno in uscita dal nm:

D d Il simbolo è nella sezione dati inizializzata.

S s Il simbolo si trova in una sezione di dati non inizializzata per piccoli oggetti.

T t Il simbolo è nella sezione di testo (codice).

I simboli maiuscoli sono globali/esportati; le lettere minuscole sono simboli locali non esportati.

Problemi correlati