Ahoj Jakube,
chyba indikuje linkovani se sdcc knihovnami. Zkontroluj:
- v adresari ../../../sdcc (relativne ke kernel makefile) musi byt
zdrojaky SDCC i s knihovnami po prekladu, nejlepe posledni nightly
verze
- do adresare ../../../sdcc/device/lib/z80/ musi byt prekopirovan
soubor utils/z80.lib z mzixu
Pak by se to snad melo zlinkovat.
Kdyz tak dal ohledne rozjeti buildu soukrome na muj mail, stejne tam
brzo dam nejaky komplexnejsi prekladaci instrukce pro ostatni zajemce.
Fuzzy
2012/8/26 Jakub Ladman (sharpemupandora.cz) <ladmanj[doména skryta]>:
Zobrazit citovaný text (155 řádků)
>
> Tak s aktuálním kódem ze svn a s doinstalovanými mzftools to vypadá asi
> takhle.
>
>
> ladmanjhovado ~/src/umzix/kernel $ make
> sdcc -mz80 -c --opt-code-size --std-c89 -I../include -D__KERNEL__ --max-
> allocs-per-node 50000 dummy.c
> asz80 -l -o -s kernel_loader.rel kernel_loader.s
>
> asz80 -l -o -s devttyinit.rel devttyinit.s
>
> asz80 -l -o -s fdc_detect.rel fdc_detect.s
>
> asz80 -l -o -s dev_mz800_unicard_init.rel dev_mz800_unicard_init.s
>
> asz80 -l -o -s devttya.rel devttya.s
>
> asz80 -l -o -s devttykbd_mz800.rel devttykbd_mz800.s
>
> asz80 -l -o -s devttyscreen_mz800.rel devttyscreen_mz800.s
>
> asz80 -l -o -s devttyqueue.rel devttyqueue.s
>
> asz80 -l -o -s utils.rel utils.s
>
> sdcc -mz80 -c --opt-code-size --std-c89 -I../include -D__KERNEL__ --max-
> allocs-per-node 50000 simpleio.c
> sdcc -mz80 -c --opt-code-size --std-c89 -I../include -D__KERNEL__ --max-
> allocs-per-node 50000 mzixinit.c
> sdcc -mz80 -c --opt-code-size --std-c89 -I../include -D__KERNEL__ --max-
> allocs-per-node 50000 devrdinit_c.c
> devrdinit_c.c:585: warning 84: 'auto' variable 'rd_ram_id' may be used
before
> initialization
> devrdinit_c.c:597: warning 84: 'auto' variable 'rd_flash_id' may be used
before
> initialization
> devrdinit_c.c:632: warning 85: in function devrd_detect unreferenced local
> variable : 'i'
> sdcc -mz80 -c --opt-code-size --std-c89 -I../include -D__KERNEL__ --max-
> allocs-per-node 50000 devswap_memext_init.c
> asz80 -l -o -s loader_tail.rel loader_tail.s
>
> aslink -i -m -w -b _CODE=0x0000 -k ../../../sdcc/device/lib/z80/ -l z80.lib
> mzixldr.ihx dummy.rel kernel_loader.rel devttyinit.rel fdc_detect.rel
> dev_mz800_unicard_init.rel devttya.rel devttykbd_mz800.rel
> devttyscreen_mz800.rel devttyqueue.rel utils.rel simpleio.rel mzixinit.rel
> devrdinit_c.rel devswap_memext_init.rel loader_tail.rel
>
> ASlink >> -i
> ASlink >> -m
> ASlink >> -w
> ASlink >> -b _CODE=0x0000
> ASlink >> -k ../../../sdcc/device/lib/z80/
> ASlink >> -l z80.lib
> ASlink >> mzixldr.ihx
> ASlink >> dummy.rel
> ASlink >> kernel_loader.rel
> ASlink >> devttyinit.rel
> ASlink >> fdc_detect.rel
> ASlink >> dev_mz800_unicard_init.rel
> ASlink >> devttya.rel
> ASlink >> devttykbd_mz800.rel
> ASlink >> devttyscreen_mz800.rel
> ASlink >> devttyqueue.rel
> ASlink >> utils.rel
> ASlink >> simpleio.rel
> ASlink >> mzixinit.rel
> ASlink >> devrdinit_c.rel
> ASlink >> devswap_memext_init.rel
> ASlink >> loader_tail.rel
>
> ?ASlink-Warning-Undefined Global __moduint_rrx_s referenced by module
simpleio
>
> ?ASlink-Warning-Undefined Global __divuint_rrx_s referenced by module
simpleio
> make: *** [mzixldr.ihx] Error 2
>
>
> Dne Pá 24. srpna 2012 00:15:07 Fuzzy (sharpemupandora.cz) napsal(a):
>> Ahoj Jakube,
>>
>> jo, k prekladu cesta dlouha :-(
>> Jak na to uz jsem pred casem naznacoval
>> (http://pandora.idnes.cz/part/2012/5/12384), asi bych mel napsat
>> nejakou dokumentaci.
>> Momentalne jsem stejne zakyslej na sdcc chybe
>> (https://sourceforge.net/tracker/?func=detail&aid=3559997&group_id=599&atid
>> =100599) kterou zatim nevim jak obejit.
>>
>> Kazdopadne doporucuju pouzit latest zdrojaky sdcc a prelozit.
>> Sdcc pouziva prehistoricky assembler ktery nic neumi tak jsem ho
>> nahradil novejsi verzi. To s sebou nese nejaky dalsi problemy, tak je
>> potreba presunout utils/z80.lib do adresare <sdcc>/device/lib/z80.
>> Je potreba k linkovani.
>>
>> V svn chybely nejaky soubory na kterych ti to havarovalo, doplnil
>> jsem, snad je to vsechno.
>> Nezapomen stahnout mzftools.
>>
>> Kdyz tak se jeste ptej do konce zitrka, pak jsem tyden pryc.
>>
>> Fuzzy
>>
>> 2012/8/23 Jakub Ladman (sharpemupandora.cz) <ladmanj[doména skryta]>:
>> > Dne Út 21. srpna 2012 00:13:01 Fuzzy (sharpemupandora.cz) napsal(a):
>> >> svn: vsechen posledni kod je aktualne v svn na
>> >> http://sourceforge.net/projects/umzix/
>> >>
>> >> Fuzzy
>> >
>> > Tak jsem zjistil že sdcc v gentoo je starý (mj. jsem přitom našel
tvůj
>> > bugreport).
>> >
>> > Tak jsem přeložil samostatně poslední verzi a zjistil že se s tím
>> > nenainstaloval správný assembler.
>> >
>> > Tak tipovačka, jestli pod názvem asz80 najdu správnej.
>> >
>> > Asi jsem našel - http://shop-pdp.kent.edu/ashtml/asxget.htm
>> > Bohužel mi nejde přeložit,což bych radši, ale binární soubory v
tom
>> > archivu zdá se na mým systému fungují.
>> >
>> > Po mnoha hodinách jsem se dostal k tomuto:
>> >
>> > ~/src/umzix/umzix/trunk/kernel $ make
>> > sdcc -mz80 -c --opt-code-size --std-c89 -I../include -D__KERNEL__ --max-
>> > allocs-per-node 50000 dummy.c
>> > asz80 -l -o -s kernel_loader.rel kernel_loader.s
>> >
>> > asz80 -l -o -s devttyinit.rel devttyinit.s
>> >
>> > asz80 -l -o -s fdc_detect.rel fdc_detect.s
>> >
>> > asz80 -l -o -s dev_mz800_unicard_init.rel dev_mz800_unicard_init.s
>> >
>> > ?ASxxxx-Error-<i> in line 2 of dev_mz800_unicard_init.s
>> >
>> > <i> .include file error or an .if/.endif mismatch
>> >
>> > make: *** [dev_mz800_unicard_init.rel] Error 2
>> >
>> > Jestli nepudu na pivo, pokračování zítra po práci...
>> >
>> > Jakub Ladman
>> >
>> > ---
>>
>> ---
>
> ---