[OSy] Odevzdani 3. zakladniho zadani
Fanda Princ
frantisek.princ at gmail.com
Tue Jan 20 12:31:30 CET 2009
Dobry den,
ja se taky podelim se zpusobem, ktery pouzivame v nasem OS.
Kdyz jsem nevedel jak to udelat, tak jsem si linkoval soubor entry.o
extra a ne jako soucast librt.a. Bylo to dejme tomu reseni, kterym
jsem obesel potrebu se problemu venovat, protoze jsem potreboval
programovat a rekl jsem si, ze se k tomu vratim pozdeji.
Ted uz linkuji k objektovym modulum daneho procesu pouze librt.a,
ale nepouzivam zadnou specialni sekci...
Na zacatku linker skriptu mam direktivu
STARTUP(librt/entry.o)
coz taky funguje.
Uznavam ze to taky neni uplne ciste, ale casem se dopracuju k tomu
ze si vyrobim i nejakou tu sekci pro linker a budu to delat poradne.
Kazdopadne dekuji za celkem inspirativni diskusi o tom, jak by
se to melo delat spravne :)
Frantisek Princ
2009/1/20 Martin Decky <decky at dsrg.mff.cuni.cz>:
>> Vstupni bod byl deklarovan jako .globl. Operator (nebo jak se to
>> nazyva) .global nejak nemohu na webu nalezt.
>
> Direktivy .global a .globl by mely byt zcela ekvivalentni, viz
> http://sourceware.org/binutils/docs/as/Global.html
>
>> Jedine, co me zarazi, je proc byla najednou sekce .excvec pritomna
>> kdyz jsem nahradil wildcard za konkretni jmeno souboru v linker
>> scriptu.
>
> Stopu bych hledal opet v dokumentaci (viz
> http://sourceware.org/binutils/docs/ld/Input-Section-Basics.html):
>
> "When you use a file name which is not an `archive:file' specifier and
> does not contain any wild card characters, the linker will first see if
> you also specified the file name on the linker command line or in an
> INPUT command. If you did not, the linker will attempt to open the file
> as an input file, as though it appeared on the command line."
>
> Takze mi prijde, ze v pripade, ze pouzijete ten zapis
>
> head.o (.excvec)
>
> se neodkazete na head.o uvnitr librt.a, ale na samostatne stojici head.o
> (prestoze neni na prikazove radce linkeru uveden). V pripade explicitne
> uvedeneho objektoveho souboru jiz linker nepotrebne globalni symboly
> nevynechava (viz linkovani Kalista), ale vzdy je vsechny prilinkuje.
>
>
> M.D.
>
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>
More information about the NSWI004
mailing list