There is no problem to create hello.mo with default compiler on
Debian-9.5/amd64. But building hello.mo with i386-elf-gcc (5.5.0) cross compiler on OpenBSD-6.3/amd64, undefined reference to 'rt_kprintf' error occurs. To avoid this error, "compile and link" process needs to be divided to simply "compile" and "link". On Debian-9.5, both previous and current method produces same hello.mo. We have to improve disk image creation (Linux dependent), this is a future homework.
This commit is contained in:
parent
ee1e316d1e
commit
86742879f3
|
@ -7,7 +7,7 @@ all: rtthread rtsym exe dll floppy.img
|
|||
@sudo mount -t vfat floppy.img tmp -o loop
|
||||
@sudo cp -fv rtthread.elf tmp/boot/oskernel
|
||||
@sudo rm tmp/bin/* -fr
|
||||
@sudo cp out/* tmp/bin/ -fv
|
||||
@sudo cp out/*.mo tmp/bin/ -fv
|
||||
@sudo umount tmp
|
||||
|
||||
rtthread:
|
||||
|
@ -23,7 +23,8 @@ out:
|
|||
mkdir -p out
|
||||
|
||||
dll: obj out
|
||||
$(CC) -shared -s -fPIC -e main -Isrc src/hello.c -o out/hello.mo
|
||||
$(CC) -c -fPIC -Isrc src/hello.c -o out/hello.o
|
||||
$(CC) -s -Wl,-shared,-melf_i386,--entry=main -o out/hello.mo out/hello.o
|
||||
|
||||
disasm: obj out
|
||||
$(CC) -shared -S -fPIC -Isrc src/hello.c -o obj/hello.s
|
||||
|
|
Loading…
Reference in New Issue