From f9d19f0460151dd28c0f40f406337966a336ea50 Mon Sep 17 00:00:00 2001
From: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Date: Fri, 18 Feb 2022 14:32:52 +0100
Subject: [PATCH] seminaries/binrep/qtrvsim_binrep: add libgcc.a to the final
 executable link.

The libgcc provides helper functions as __mulsi3 which are necessary
for limited rv32i instruction set to allow complete C operators
and floats use.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
---
 seminaries/binrep/qtrvsim_binrep/Makefile | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/seminaries/binrep/qtrvsim_binrep/Makefile b/seminaries/binrep/qtrvsim_binrep/Makefile
index ee9ef99..fd7b3a3 100644
--- a/seminaries/binrep/qtrvsim_binrep/Makefile
+++ b/seminaries/binrep/qtrvsim_binrep/Makefile
@@ -23,6 +23,8 @@ LDFLAGS += -nostdlib
 LDFLAGS += -static
 #LDFLAGS += -specs=/opt/musl/riscv64-linux-gnu/lib/musl-gcc.specs
 
+LOADLIBES += -lgcc
+
 CFLAGS  += $(ARCHFLAGS)
 CXXFLAGS+= $(ARCHFLAGS)
 AFLAGS  += $(ARCHFLAGS)
@@ -51,7 +53,7 @@ all : default
 default : $(TARGET_EXE)
 
 $(TARGET_EXE) : $(OBJECTS)
-	$(CC) $(LDFLAGS) $^ -o $@
+	$(CC) $(LDFLAGS) $^ $(LOADLIBES) -o $@
 
 dep: depend
 
-- 
GitLab