From 2344c8df392d4d8489c5bbee60a6894f908561e5 Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Tue, 13 Jan 2026 19:30:47 +0000 Subject: Don't bother with LTO in debug builds There was never really much point in this, and it probably slowed things down a little bit, though not a lot. --- compile | 8 ++++---- compile.bat | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/compile b/compile index 3ede107..0860bdf 100755 --- a/compile +++ b/compile @@ -28,8 +28,8 @@ if [ "$dbg" = 1 ]; then cflags="-O0 -g3 -masm=intel -fsanitize-trap=undefined -DSST_DBG" ldflags="-O0 -g3" else - cflags="-O2 -fvisibility=hidden -masm=intel -ffreestanding" - ldflags="-O2 -s -ffreestanding" + cflags="-flto -O2 -fvisibility=hidden -masm=intel -ffreestanding" + ldflags="-flto -O2 -s -ffreestanding" fi objs= @@ -40,12 +40,12 @@ cc() { # ugly annoying special case if [ "$_mn" = " -DMODULE_NAME=con_" ]; then _mn=" -DMODULE_NAME=con" elif [ "$_mn" = "-DMODULE_NAME=sst" ]; then _mn=; fi - $CC -c -flto -fpic -fno-ident $cflags $warnings -include src/1.h \ + $CC -c -fpic -fno-ident $cflags $warnings -include src/1.h \ -I.build/include $stdflags$_mn -o ".build/${_bn%%.c}.o" "src/$1" } ld() { - $CC -shared -flto -fpic -fuse-ld=lld $ldflags -L.build -ldl \ + $CC -shared -fpic -fuse-ld=lld $ldflags -L.build -ldl \ -ltier0 -lvstdlib -o .build/sst.so$objs mv .build/sst.so sst.so } diff --git a/compile.bat b/compile.bat index 10be904..b101ebe 100644 --- a/compile.bat +++ b/compile.bat @@ -29,8 +29,8 @@ if "%dbg%"=="1" ( set cflags=-O0 -g3 -masm=intel -fsanitize-trap=undefined -DSST_DBG set ldflags=-O0 -g3 ) else ( - set cflags=-O2 -masm=intel -ffreestanding - set ldflags=-O2 -ffreestanding + set cflags=-flto -O2 -masm=intel -ffreestanding + set ldflags=-flto -O2 -ffreestanding ) set objs= @@ -46,7 +46,7 @@ set dmodname= -DMODULE_NAME=%basename% if "%dmodname%"==" -DMODULE_NAME=con_" set dmodname= -DMODULE_NAME=con if "%dmodname%"==" -DMODULE_NAME=sst" set dmodname= set objs=%objs% .build/%basename%%ext%.o -%CC% -c -flto -mno-stack-arg-probe %cflags% %warnings% %stdflags% -include src/1.h ^ +%CC% -c -mno-stack-arg-probe %cflags% %warnings% %stdflags% -include src/1.h ^ -I.build/include -D_DLL%dmodname% -o .build/%basename%%ext%.o %1 || goto :end goto :eof @@ -145,7 +145,7 @@ if "%dbg%"=="1" ( ) else ( set clibs=-lucrt ) -%CC% -fuse-ld=lld -shared -flto %ldflags% -Wl,-implib:.build/sst.lib,-Brepro,-nodefaultlib,-safeseh:no ^ +%CC% -fuse-ld=lld -shared %ldflags% -Wl,-implib:.build/sst.lib,-Brepro,-nodefaultlib,-safeseh:no ^ -L.build %clibs% -lkernel32 -luser32 -lbcryptprimitives -lshlwapi -ld3d9 -ldsound ^ -ltier0 -lvstdlib -lntdll -o .build/sst.dll%objs% .build/dll.res || goto :end :: get rid of another useless file (can we just not create this???) -- cgit v1.2.3-54-g00ecf