diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 9e3c90f..cfd3dd7 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -1,7 +1,7 @@ { "configurations": [ { - "name": "Linux", + "name": "Fennix x64 (Linux, GCC, debug)", "includePath": [ "${workspaceFolder}/include/**" ], @@ -11,36 +11,99 @@ "KERNEL_VERSION=\"1.0\"", "GIT_COMMIT=\"0000000000000000000000000000000000000000\"", "GIT_COMMIT_SHORT=\"0000000\"", + "a64", "DEBUG=\"1\"" ], - "compilerPath": "/usr/bin/gcc", + "compilerPath": "${workspaceFolder}/../tools/cross/bin/x86_64-elf-gcc", "cStandard": "c17", "cppStandard": "c++20", "intelliSenseMode": "gcc-x64", "configurationProvider": "ms-vscode.makefile-tools", "compilerArgs": [ - // "-m32", - "-mcmodel=kernel", /* 64-bit only */ + // Compiler flags + "-fno-pic", + "-fno-pie", + "-mno-red-zone", + "-march=core2", + "-pipe", + "-mcmodel=kernel", + "-fno-builtin", + + // C++ flags "-fno-rtti", "-fexceptions", + + // Linker flags + "-T${workspaceFolder}/Architecture/amd64/linker.ld", + "-Wl,-static,--no-dynamic-linker,-ztext", + "-nostdlib", + "-nodefaultlibs", + "-nolibc", + "-zmax-page-size=0x1000", + "-shared", + + // Debug flags + "-ggdb3", + "-O0", + "-fdiagnostics-color=always", + "-fverbose-asm", + "-fstack-usage", + "-fstack-check", + "-fsanitize=undefined" + ] + }, + { + "name": "Fennix x32 (Linux, GCC, debug)", + "includePath": [ + "${workspaceFolder}/include/**" + ], + "defines": [ + "__debug_vscode__", + "KERNEL_NAME=\"Fennix\"", + "KERNEL_VERSION=\"1.0\"", + "GIT_COMMIT=\"0000000000000000000000000000000000000000\"", + "GIT_COMMIT_SHORT=\"0000000\"", + "a32", + "DEBUG=\"1\"" + ], + "compilerPath": "${workspaceFolder}/../tools/cross/bin/i686-elf-gcc", + "cStandard": "c17", + "cppStandard": "c++20", + "intelliSenseMode": "gcc-x86", + "configurationProvider": "ms-vscode.makefile-tools", + "compilerArgs": [ + // Compiler flags "-fno-pic", "-fno-pie", "-mno-80387", "-mno-mmx", "-mno-3dnow", "-mno-red-zone", - "-mno-sse", - "-mno-sse2", - "-march=nehalem", + "-march=pentium", "-pipe", "-msoft-float", "-fno-builtin", - "-ffreestanding", - "-nostdinc", + + // C++ flags + "-fno-rtti", + "-fexceptions", + + // Linker flags + "-T${workspaceFolder}/Architecture/i686/linker.ld", "-Wl,-static,--no-dynamic-linker,-ztext", - "-shared", + "-nostdlib", + "-nodefaultlibs", + "-nolibc", "-zmax-page-size=0x1000", - "-nostdinc++", + "-shared", + + // Debug flags + "-ggdb3", + "-O0", + "-fdiagnostics-color=always", + "-fverbose-asm", + "-fstack-usage", + "-fstack-check", "-fsanitize=undefined" ] }