Use string type with -release compilation flag to avoid undefined reference to __assert

This commit is contained in:
Josh Holtrop 2022-03-03 11:32:24 -05:00
parent 1944a3450e
commit 04356c74e5
2 changed files with 2 additions and 2 deletions

View File

@ -1,7 +1,7 @@
.PHONY: kernel
kernel:
./i686-elf-gcc/bin/i686-elf-gcc -c -o boot.o -ffreestanding boot.S
ldc2 -march=x86 -mcpu=i686 --betterC -c -of=kernel_main.o kernel_main.d
ldc2 -march=x86 -mcpu=i686 --betterC -release -c -of=kernel_main.o kernel_main.d
./i686-elf-gcc/bin/i686-elf-gcc -o kernel.elf -ffreestanding -nostdlib -T link.ld boot.o kernel_main.o
.PHONY: image

View File

@ -2,7 +2,7 @@ extern (C) void mykernel_main() {
write("Hello from D!");
}
void write(immutable(char) * message) {
void write(string message) {
ubyte * vidmem = cast(ubyte *) 0xB8000u;
for (size_t i = 0u; message[i] != '\0'; i++) {
vidmem[i * 2] = message[i];