[OSy] Linkovani
Miloslav Beno
beno at mbox.dkm.cz
Sun Dec 30 20:42:49 CET 2007
Dobry vecer,
Mame knihovnu libc.a, ve ktere jsou funkce _entry, _main, printk, kazda ve
svem object souboru.
V uzivatelskem programu pak je funkce main, ze ktere se vola printk.
Problem je, ze linker pri sestavovani uzivatelskeho programu do binary
formatu najde a prilinkuje funkce (libc.a)_entry, (libc.a) _main,
(main.o)main . ale uz neprilinkuje (libc.a)printk. GCC nenahlasi ani, ze
funkce printk neni definovana a pri spusteni uzivatelsky program na tomto
volani padne.
$(LD) --verbose -T ../libc/binary.lds -G 0 -static ../libc/libc.a
$(OFILES_EXE) -o $@
Binary.lds:
STARTUP(../libc/entry.o)
OUTPUT_FORMAT(binary)
OUTPUT_ARCH(mips)
SECTIONS {
.uspace 0x00000000 : {
*(.text)
*(.data)
*(.rodata .rodata.*)
*(.bss)
*(COMMON)
}
/DISCARD/ : {
*(.reginfo)
}
}
Predem dekujeme za reakce.
More information about the NSWI004
mailing list