2014-05-18 13 views
5

जब एक ChibiOS-आर टी परियोजना संकलन, मैं (हाथ-नन-EABI-जीसीसी 4.8 के साथ) लिंक समय में निम्न त्रुटि मिलती है:हाथ-नन-EABI-जीसीसी 4.8 विभाजन गलती (ChibiOS-आर टी)

../../../../test/rt/test.c: In function 'TestThread': 
../../../../test/rt/test.c:314:7: internal compiler error: Segmentation fault: 11 
msg_t TestThread(void *p) { 
^
libbacktrace could not find executable to open 
Please submit a full bug report, 
with preprocessed source if appropriate. 
See <http://gcc.gnu.org/bugs.html> for instructions. 
lto-wrapper: arm-none-eabi-gcc returned 1 exit status 
/usr/gcc-arm-none-eabi-4_8-2013q4/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: lto-wrapper failed 
collect2: error: ld returned 1 exit status 
make: *** [build/ch.elf] Error 1 

यह बांह-नो-ईबी-जीसीसी 4.7 के साथ नहीं होता है।

यह ओएस बिल्ड फाइलों में से एक है, इसलिए मैं इसके साथ गड़बड़ नहीं करना चाहता - और मैंने कभी देखा नहीं है कि जीसीसी स्वयं निर्माण के दौरान एक सेगमेंटेशन गलती का सामना कर रही है। इसके अतिरिक्त, यह तब होता है जब किसी भी परियोजना का निर्माण होता है, यहां तक ​​कि पूरी तरह से चिबियोस भंडार रूट से अपरिवर्तित भी होते हैं।

इस समस्या का निदान करने पर कोई सलाह?

+1

पहले, होता है * हर बार * यदि आप इस संकलक के साथ इस विशेष बात यह है कि लिंक ? यदि नहीं, तो आपके पास क्या खराब रैम है। दूसरा, आर्म-नो-एबी-जीसीसी -4.8 * और * बिनटिल्स का जो भी संस्करण है उसे मिटाकर पुनः स्थापित करने का प्रयास करें। यदि इनमें से कोई भी समस्या को हल नहीं करता है, तो आपको संकलक और/या लिंकर में ईमानदार-से-घोड बग मिला है, और आपको रिपोर्ट करने के तरीके के बारे में सलाह के लिए 'gcc-help @ gcc.gnu.org' से परामर्श लेना चाहिए। – zwol

+0

एक आईसीई एक बग है; जीसीसी ने खुद को मान्यता दी कि कुछ गलत है। अगर यह 4.7 के साथ ठीक काम करता है, तो 4.7 पर वापस जाएं, और इसका उपयोग 4.8 या 4.9 बनाने के लिए करें। 'टिस अजीब; आम तौर पर, जीसीसी को स्वयं और उसके समर्थन पुस्तकालयों का निर्माण करने के लिए एक अच्छा कसरत मिलता है। –

उत्तर

4

जीसीसी 4.8 LTO और ggdb को एक साथ सक्षम नहीं करता है। बस एक या दूसरे को अक्षम करें। अपने Makefile कॉन्फ़िगर करने के लिए

प्रयास करें: -ggdb झंडा बिना

USE_LTO = no 

या

USE_OPT = -O2 -fomit-frame-pointer -falign-functions=16 

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