From 04356c74e547612f5f467136e0aaa14fd2d33f10 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Thu, 3 Mar 2022 11:32:24 -0500 Subject: [PATCH] Use string type with -release compilation flag to avoid undefined reference to __assert --- Makefile | 2 +- kernel_main.d | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 40fda66..03d6794 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/kernel_main.d b/kernel_main.d index 30b1721..f75d7e6 100644 --- a/kernel_main.d +++ b/kernel_main.d @@ -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];