प्रश्न अपेक्षाकृत सीधे आगे है: मैं 4.x श्रृंखला (binutils और दोस्तों के साथ) का जीसीसी कैसे बना सकता हूं जो एक ही आर्किटेक्चर पर 2.4 एबीआई को संकलक के मेजबान के रूप में लक्षित करता है?मेजबान के समान वास्तुकला पर 2.4.x कर्नेल को लक्षित करने के लिए आधुनिक (4.x) जीसीसी बनाएं?
मेजबान सिस्टम x86 या x86_64 होगा और एकमात्र आवश्यकता यह है कि निर्मित ईएलएफ फाइल पुराने कर्नेल पर चलती है जब तक एबीआई मैचों। (कर्नेल स्रोत/शीर्षलेख मौजूद हैं)
एक संगत libc की आवश्यकता भी इसके साथ-साथ इसे जोड़ने के लिए भी आवश्यक होगी। हालांकि, मैं गतिशील रूप से इसके खिलाफ भी लिंक कर सकता हूं, क्योंकि मुझे (g) libc संस्करण पता है।
किसी भी पॉइंटर्स की बहुत सराहना की जाएगी। मैं crosstool-ng से कुछ हद तक परिचित हूं, लेकिन यह अब भी 2.4 कर्नेल का समर्थन नहीं करता है (स्पष्ट कारणों से)।
तकनीकी शब्दों में, वह कैसे सबसे आधुनिक वितरण द्वारा इस्तेमाल किया लोगों की तुलना में कम ABI लक्षित करते हैं, और एक प्राप्त करने के लिए यह पता लगाने के लिए देख रहा है ईएलएफ बाइनरी के संगत रूप से कम। नोट। एबीआई-टैग अनुभाग। मुझे इस बारे में कहीं भी वेब पर जानकारी नहीं मिल रही है, इसलिए मुझे लगता है कि यह एक सुंदर विशेष अनुरोध है। शायद आप [email protected] मेलिंग सूची को ईमेल करना चाहते हैं। –
@ केन ब्लूम: धन्यवाद। अच्छा विचार। वास्तव में मुझे कोई संकेत नहीं मिला, इसलिए मैंने सोचा कि मैं यहां पूछूंगा :) – 0xC0000022L