From ffeb553c4eb75b0a750a6454c2979e8138588a41 Mon Sep 17 00:00:00 2001 From: texhno Date: Wed, 14 Feb 2024 12:25:38 +0000 Subject: [PATCH] Update Home --- Home.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Home.md b/Home.md index b6487e8..3d086a4 100644 --- a/Home.md +++ b/Home.md @@ -15,7 +15,9 @@ To safeguard against dependency hell, all the essential software needed to devel * GCC - GPL, Clang - Apache licenses * While the standard may move to LLVM, GCC still remains the industry standard as of now. -Decision: They have many differences, above are the potentially most relevant. The GPL license seems preferable in this case, which is a point in favor of GCC. A major performance consideration comes when there are a lot of lib files as well as `-debug` mode (which is expected to be the case in this project). This difference will come down to the linker, and seeing as `lld` can be a drop-in replacement for `ld`, and added independently of Clang, it is not a major point in favor of Clang. We can simply install `lld` from the LLVM backend (Clang is just the frontend), and pass the `-fuse-ld=lld` flag to GCC to make it use `lld` instead of `ld`. For these reasons, I propose to start with GCC. +Decision: TL;DR - *GCC*. + +They have many differences, above are the potentially most relevant. The GPL license seems preferable in this case, which is a point in favor of GCC. A major performance consideration comes when there are a lot of lib files as well as `-debug` mode (which is expected to be the case in this project). This difference will come down to the linker, and seeing as `lld` can be a drop-in replacement for `ld`, and added independently of Clang, it is not a major point in favor of Clang. We can simply install `lld` from the LLVM backend (Clang is just the frontend), and pass the `-fuse-ld=lld` flag to GCC to make it use `lld` instead of `ld`. For these reasons, I propose to start with GCC. Preliminary list of essential software: - QEMU: open-source machine emulator