हमारी निर्माण प्रक्रिया के हिस्से के रूप में हम एक निष्पादन योग्य संकलित करते समय एक मानचित्र फ़ाइल उत्पन्न करते हैं। उदाहरण के लिए:लिंकर मानचित्र फ़ाइल में कभी-कभी उलझन वाले प्रतीक होते हैं लेकिन हमेशा
g++ -Wl,-Map,/tmp/foo.map -o foo foo.cpp
जीसीसी 4.3/4.4 से जीसीसी 4.9 में माइग्रेट करने के प्रयास में हमने एक नया निर्माण सर्वर स्थापित किया है। 4.9 बिल्ड सर्वर द्वारा उत्पन्न मानचित्र फ़ाइल में उलझन वाले प्रतीक नाम नहीं हैं। 4.3/4.4 बिल्ड सर्वर द्वारा उत्पन्न मानचित्र फ़ाइल करते हैं। उदाहरण के लिए, चल 4.3 मैं इस नक्शे फ़ाइल में कतरना पाने के साथ ऊपर:
.plt 0x0000000000400700 0x90 /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crt1.o
0x0000000000400710 [email protected]@GLIBCXX_3.4
0x0000000000400720 [email protected]@GLIBCXX_3.4
0x0000000000400730 [email protected]@GLIBC_2.2.5
4,9 के खिलाफ एक ही कोड चल रहा है मैं निम्नलिखित स्निपेट हो:
.plt 0x00000000004006e0 0x80 /usr/lib/../lib64/crt1.o
0x00000000004006f0 std::ostream::operator<<(int)@@GLIBCXX_3.4
0x0000000000400700 std::ios_base::Init::Init()@@GLIBCXX_3.4
0x0000000000400710 [email protected]@GLIBC_2.2.5
0x0000000000400720 [email protected]@GLIBC_2.2.5
इस बदलाव की उम्मीद है? क्या जीसीसी 4.9 (कुछ प्रकार की पिछली संगतता विकल्प) के साथ मैंगल्ड आउटपुट उत्पन्न करने का कोई तरीका है? मैं पूछता हूं क्योंकि हमारे निर्माण में बाद के उपकरण प्रतीक फ़ाइल का उपयोग करते हैं और बदनाम नामों पर चकित कर रहे हैं।
धन्यवाद, जोड़ना - किसी भी मुद्दे को हल नहीं किया। – Pace