-
Fototrend
Mára a ProHardver!/IT.News Fórum is nagylétszámú Linuxban jártas taggal büszkélkedhet. Nehéz szinteket felállítani egy olyan rendszer ismeretében, ami annyira sokrétű, hogy teljesen szinte lehetetlen megismerni minden egyes részét. Azt azonban mindenki tudja, hogy kezdő-e vagy sem. Elsősorban nekik szólnak az alábbiak, de érdemes mindenkinek elolvasnia, mint útjelző táblát.
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz bambano #14089 üzenetére
Minden bizonnyal a megfelelő assemblert hívja, mivel a gcc alapból is assembly kódot generál és már sikerült neki pár modult lefordítania. Az inline asm blokkokat még a gcc alakítja át és illeszti be az assembly kimenetbe. Az adott hibaüzenet még a gcc-től jön, mivel az assembler már nem tudná hogy a problémás kódrészlet asm blokk volt.
A gcc valóban tudja mit mivel fordítson, de a makefile minden bizonnyal a szokásos CXX-re hivatkozott, ami ha nincs beállítva akkor az alapértelmezés szerint a natív fordító lesz. Itt pedig cross-compile van, ezért nem lett jó.
Az "egy architektúra" az definíció kérdése - a "mips" fordító több alváltozatra tud fordítani, amelyek kisebb-nagyobb mértékben eltérhetnek. Hasonlóan az x86-os gcc is tud 32 és 64 bites kódot generálni, illetve megadható a kismillió különböző utasításkészlet bővítmény (sse és társai) is. Például ez a kis értelmetlen asm blokk:
__asm__ __volatile__ ("nop" : : "x" (1.0));
az alap 32 bites gcc-vel (vagy 64 bites esetén -m32 kapcsolóval) ilyen hibát dob:
error: impossible constraint in 'asm'
Ha bekapcsolod az sse támogatást akkor lefordul. Lehet, hogy a kolléga is valami olyanba futott bele ami a default architektúrán nem megy.Jester
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest