2012-03-17 16 views
5

Merhaba ben "." konum sayaç değerine etiket değerini ayarlar bu kodu "__exidx_start = .;" bulduğu bir bağlayıcı komut dosyası var. Bu etiket aynı bağlayıcı komut dosyasının herhangi bir yerinde kullanılmamaktadır.'__exidx_start' ve '__exidx_end' ne yapıyorlar?

Orada ilki Aşağıdaki satırlardan birkaç tanımlanmış benzer bir etikettir ve aynı şekilde "__exidx_end = .;" tanımlanır.

Bu iki etiket .text ve .rodata bölümden boundries vardır, ama onlar bağlayıcı komut kullanılmazsa neden kimse bu iki tanımlarsınız bilemiyorum?

cevap

2

Onlar bağlayıcı komut alışık değiller, ama onlar extern değişkenler olarak ilan etmiş ve gcc kütüphanede kullanılmaktadır. Onları dışarı atın ve bu gerçekleşecektir:

 
.../gcc/config/arm/unwind-arm.c:614: undefined reference to `__exidx_start' 
.../gcc/config/arm/unwind-arm.c:614: undefined reference to `__exidx_end' 
İlgili konular