2011-05-22 19 views
5

जीसीसी और एएमडी ओपन 64 ओपनसीसी दोनों में -s विकल्प "स्ट्रिप प्रतीक तालिका और स्थानांतरण जानकारी" विकल्प है। अब तक मैं क्लैंग/एलएलवीएम में एक ही विकल्प नहीं ढूंढ पा रहा हूं। क्या यह अस्तित्व में है?जीसीसी बनाम क्लैंग: प्रतीक

+1

मुझे लगता है कि आपको प्रतीकों को विभाजित करने के लिए 'objcopy' (binutils से) का उपयोग करना चाहिए। इस तरह यदि आप अपने उपयोगकर्ताओं में से एक को दुर्घटना का अनुभव करते हैं तो आपको उन्हें आसान बना दिया जाएगा, लेकिन आपको उन्हें उपयोगकर्ताओं को दी जाने वाली बाइनरी के साथ शामिल करने की आवश्यकता नहीं है। – 0xC0000022L

+0

ऐसा लगता है कि सामान किसी अवसर से चूक गया था। एलएलवीएम बगजिला में पीआर भरें। धन्यवाद! –

+0

@ एंटन ठीक है, मैंने http://llvm.org/bugs/show_bug.cgi?id=9986 दायर किया है। – Reinderien

उत्तर

6

आप binutils से strip उपयोगिता का उपयोग कर सकते हैं।

वास्तव में, एक LLVM-ld इस विकल्प http://llvm.org/cmds/llvm-ld.html

-strip-सब, निष्पादन योग्य से पट्टी सभी डिबग और प्रतीक जानकारी -s यह छोटा करने के लिए है।

-स्ट्रिप-डीबग, -एस निष्पादन योग्य से सभी डीबग जानकारी पर इसे छोटा करें।

-strip-डिबग यह विकल्प कारणों अन्य अनुकूलन लागू करने से पहले मॉड्यूल से डिबग जानकारी पट्टी चुनते:

ऑप्ट भी कुछ है। यह अनिवार्य रूप से-स्ट्रिप जैसा ही है लेकिन यह सुनिश्चित करता है कि डीबग जानकारी को पहले से किया जाता है।

+10

मैं क्लैंग '-Wl, -s' पास करके इसे प्रभावी ढंग से कर रहा हूं। – Reinderien

संबंधित मुद्दे