2012-03-17 13 views
5

हैलो मेरे पास एक लिंकर स्क्रिप्ट है जिसमें मुझे यह कोड "__exidx_start = .;" मिला है जो स्थान काउंटर "." के मान पर लेबल मान सेट करता है। इस लेबल का उपयोग उसी लिंकर स्क्रिप्ट के भीतर कहीं भी नहीं किया जाता है।'__exidx_start' और '__exidx_end' वे क्या करते हैं?

एक समान लेबल पहले एक नीचे परिभाषित लाइनों की जोड़ी नहीं है और यह उसी तरह "__exidx_end = .;" परिभाषित किया गया है।

इन दो लेबल .text और .rodata वर्गों के boundries रहे हैं, लेकिन मुझे नहीं पता क्यों किसी को भी अगर वे लिंकर लिपि में उपयोग नहीं कर रहे उन दो परिभाषित करेंगे?

उत्तर

2

वे लिंकर स्क्रिप्ट में इस्तेमाल नहीं कर रहे हैं, लेकिन वे निर्वासन चर के रूप में घोषित कर दिया और जीसीसी पुस्तकालय में किया जाता है। उन्हें बाहर ले लो, और तो ऐसा होता है:

 
.../gcc/config/arm/unwind-arm.c:614: undefined reference to `__exidx_start' 
.../gcc/config/arm/unwind-arm.c:614: undefined reference to `__exidx_end' 
संबंधित मुद्दे