क्यों लिनक्स के बजाय मेरे सिस्टम के रूप में "सिस्टम V" को दिखाया जाता है?


10

मैंने ELF फ़ाइल प्रारूप को समझने की कोशिश करने के लिए gcc के साथ एक छोटा C प्रोग्राम (कोड की 2 लाइनें) संकलित किया। readelf -hऑब्जेक्ट फ़ाइल पर कर , मैं शीर्ष लेख में है:

OS/ABI:                            UNIX - System V 

मैं फेडोरा का उपयोग कर रहा हूं, तो इसके बजाय लिनक्स क्यों नहीं है?

संपादित करें : मैंने संकलित किया

int main(){
  int x = 0;
  x++;
}

के साथ gcc -o main.o -c main.c। मेरा gcc संस्करण है

gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) 

कृपया हमें दिखाएं) आपने जिस कोड का संकलन किया है ii) का आउटपुट gcc --versionऔर iii) उसका संकलन करने के लिए आपके द्वारा उपयोग की जाने वाली सटीक कमांड।
terdon

मैंने अपने अनुसार प्रश्न संपादित किया है।
अलेक्स_राइडर

मैंने सिर्फ readelf -h /bin/lsडेबियन गनु / लिनक्स पर किया। यह भी दिखाया OS/ABI: UNIX - System V। मेरा अनुमान है कि ABI एक से अधिक कर्नेल पर प्रयोग किया जाता है, न कि केवल linux पर। मुझे यह भी पता है कि linux एक से अधिक ABI का समर्थन करता है।
ctrl-alt-delor

6
विकिपीडिया का कहना है कि [ELF हेडर में OSABI फ़ील्ड] अक्सर लक्ष्य प्लेटफॉर्म की परवाह किए बिना 0 [SysV] पर सेट होता है
स्टीफन चेज़लस

1
यह फ़ील्ड बताती है कि यदि ELF फ़ाइल किसी OS विशिष्ट एक्सटेंशन का उपयोग कर रही है, तो डिफ़ॉल्ट है 0. अधिक विवरण यहां (EI_OSABI पर)।
लीज

जवाबों:


8

विभिन्न प्लेटफार्मों पर ईएलएफ निष्पादनयोग्य के बीच कुछ अंतर हैं। "UNIX - सिस्टम V" आम जमीन है; सिस्टम V वह स्थान है जहाँ ELF प्रारूप आया था। संबंधित संख्यात्मक मान 0. है। यह मान बताता है कि निष्पादन योग्य किसी भी ओएस-विशिष्ट एक्सटेंशन का उपयोग नहीं करता है। डेबियन जीएनयू / लिनक्स, कम से कम, जीसीसी / बिनुटिल्स को डिफ़ॉल्ट रूप से 0 पर सेट इस क्षेत्र के साथ निष्पादनयोग्य उत्पन्न करने के लिए कॉन्फ़िगर करता है।


3
और ELF मानक कहता है 0 का अर्थ है "ELFOSABI_NONE 0 कोई एक्सटेंशन या अनिर्दिष्ट" sco.com/developers/gabi/2003-12-17/ch4.eheader.html
Ciro Santilli 冠状 病毒 says says 法轮功 法轮功
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.