[OSy] Odevzdani 3. zakladniho zadani

Tom� Martinec fyzmat at gmail.com
Mon Jan 19 00:28:21 CET 2009


Dobry vecer,

ohledne naroku na prekladani bych chtel podporit kolegu. Zpusob
prekladu behove knihovny je netypicky a myslim, ze pro spoustu lidi je
to do znacne miry experimentalni zalezitost. Osobne jsem stravil
takovymi pokusy nemale mnozstvi casu a priznavam, ze nas tym doposud
nepreklada librt.a korektne - binarku prvniho procesu prekladame se
vsemi zdrojovymi kody knihovny, nikoliv postupne pres librt.a. Hodlame
s tim v nejblizsi dobe neco delat...

V zasade jsme se setkali se dvema problemy:

Bylo potreba umistit vstupni bod userspace vlaken na konkretni
(virtualni) adresu. S timto jsme si poradili vytvorenim zvlastniho
zdrojoveho souboru obsahujici pouze funkci, ktera predstavovala tento
vstupni bod a nasledne se nam podarilo pomoci definice sekce v linker
scriptu umistit funkci na pevnou adresu. Nejsem si zcela jist, jestli
muze dojit pri naslednem linkovani librt.a s kodem uzivatelskeho
procesu ke zmenam jiz nadefinovanych adres symbolu a proto jsme
zmineny linker script uplatnovali az pri linkovani uzivatelskeho kodu
s librt.a.

Druhy problem, ktery jsme doposud neprorazili, je pouziti main funkce
v behove knihovne a prelozeni knihovny tak, aby nevyzadovala
implementaci main. Nadejny se jevil option linkeru -u, ale ani tento
option nefungoval (nevim z jakeho duvodu).

Jako diagnosticky prostredek se vyplati seznamit se s objdump pro
mips. Aplikuje se na .raw binarky, nikoliv na binarky prohnane pres
objcopy.

Take tedy prosim o navod, jakym zpusobem docilit korektniho prekladu
librt.a. Miru podrobnosti bych rad nechal na vasem uvazeni.

S pozdravem
Tomas Martinec


2009/1/19 Martin Suchan <martin.suchan at gmail.com>:
> Zdravim,
>
> asi budeme patrit k jednomu z tymu, kteri nestihnou treti cast do 18.
> 1. a z toho duvodu bych mel dotaz, nebyla by mozna nejaka "uleva" z
> penalizace v pripade, ze prvni dve zadani jsme stihli vcas a az treti
> se nam asi protahne? Asi ne, ale zeptat jsem se musel. Trochu je to
> nefer treba proti tymum, kteri nestihli uz prvni zadani a vsechny
> dalsi mohli mit se spozdenim.
>
>
> Jinak zejmena u tretiho zadani narazime na problemy, ktere jsou uz
> dost vzdalene samotnemu psani OSu, zejmena netrivialni modifikace
> makefilu, se kterymi nemusi mit vsichni takove zkusenosti. Dale
> nutnost pouzivani assembleru pro upravy obsluhy vyjimek a nakonec take
> upravu linker skriptu, se kterym se asi vetsina z nas dosud ani
> nesetkala (nikdo z naseho tymu napr.) Pripadne rady k temto ukolum by
> se prinejmensim do priste, urcite hodily.
>
>
> A jeste jedna perlicka, pri kompilaci jsme narazili na tento bug(?):
>
> *** Interactive tests ***
> Running make --silent distclean
> Running make --silent USER_TEST=tests/as3/io1/test.c
> mipsel-linux-gnu-gcc: Internal error: File size limit exceeded (program as)
> Please submit a full bug report.
> See <URL:http://bugs.gentoo.org/> for instructions.
> make[1]: *** [head.o] Error 1
> make: *** [kernel] Error 2
>
> Failure: Compilation
>
> Sice nejsem odbornik pres mipsel cross compiler, ale mam pocit, ze to
> je chyba v nem, nebo v nejakem nastaveni.
>
>
> S pozdravem Martin Suchan
>
>
>
> On Sat, Jan 17, 2009 at 7:40 PM, Martin Decky <decky at dsrg.mff.cuni.cz> wrote:
>> Hezky vecer,
>>
>> rad bych pripomnel, ze zitra 18. 1. presne o pulnoci je termin pro
>> odevzdani 3. zakladniho zadani semestralnich praci. Vse bude probihat
>> v jiz zabehanych kolejich, proto posilam informace jen pro rekapitulaci.
>>
>> Behem pristiho tydne provedeme kontrolu, zda Vase reseni prochazi testy
>> 3. zakladniho zadani, tedy testy uzivatelskeho prostoru (opet budeme
>> testovat to, co je v trunku, nebo pripadne v tags/as3), a vysledek Vam
>> oznamime emailem.
>>
>> Toto bude z duvodu zpetne vazby, abychom predesli pripadnym
>> nedorozumenim, ale pokud sami vite, ze Vase reseni testy projde,
>> nemusite cekat a muzete pochopitelne pokracovat v implementaci
>> rozsireneho zadani.
>>
>> Pokud naopak nechcete, abychom Vase reseni testovali uz nyni, tak nam
>> prosim napiste, abychom zbytecne neplytvali casem. Pripominam pravidlo,
>> ze penalizace se zapocitava vzdy jen jednou (v nejvyssi dosazene
>> hodnote), takze pokud jste v predchozich fazich napriklad dosahli
>> nejvyssi penalizace 3 bodu, muzete nyni "beztrestne" odevzdavat o tyden
>> pozdeji. Zaroven vsak nadale plati, ze nelze odevzdavat pozdeji nez 2
>> tydny po terminu!
>>
>>
>> V pripade rozsireneho zadani je situace jina. Pote, co dokoncite praci
>> na rozsirenem zadani, mi napiste email a domluvime se na terminu, kdy
>> nam Vase reseni a dokumentaci osobne predvedete a odevzdate. Behem
>> tohoto osobniho odevzdani Vase reseni v rychlosti projdeme a dostanete
>> taky hruby odhad ziskanych bodu (jeho presnost se vzdy do znacne miry
>> odviji od toho, jaci "kostlivci" na nas vypadnou pri pozdejsim podrobnem
>> zkoumani zdrojaku a dokumentace). Finalni bodove hodnoceni potom
>> obdrzite v prubehu brezna.
>>
>> Nejzazsi termin odevzdani rozsireneho zadani je 20. 2. 2009 a jeho
>> odklad neni jiz mozny (vyjma pripadu zvlastniho zretele, o jehoz
>> opravnenosti musime predem rozhodnout). Zaroven vsak pripominam, ze
>> v pripade rozsireneho zadani jiz nevyzadujeme bezchybny pruchod testy
>> (je to jen jedno z mnoha kriterii hodnoceni), lze tedy odevzdavat a
>> ziskat rozumne body i za ne zcela funkcni, ale hezky naprogramovane a
>> zdokumentovane reseni.
>>
>>
>> M.D.
>>
>> _______________________________________________
>> OSy mailing list
>> OSy at dsrg.mff.cuni.cz
>> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>>
>
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>




More information about the NSWI004 mailing list