reworked LTO to have no-lto package, gcc defaults to gnu-ld, clang defaults to lld now

This commit is contained in:
Moritz Gmeiner 2023-08-28 17:52:19 +02:00
commit 75f64148b7
13 changed files with 50 additions and 27 deletions

View file

@ -1,4 +1,4 @@
COMMON_FLAGS="-O2 -pipe -march=native -flto"
COMMON_FLAGS="-O2 -pipe -march=native -flto=full"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
@ -11,10 +11,6 @@ RUSTFLAGS="-C target-cpu=native -C opt-level=3 -C linker=clang -C link-arg=-fuse
CC="clang"
CXX="clang++"
LD="ld.mold"
LDFLAGS="${LDFLAGS} -fuse-ld=mold -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -flto"
AR="llvm-ar"
AS="clang -c"
CPP="clang-cpp"
@ -27,11 +23,12 @@ OBJDUMP="llvm-objdump"
READELF="llvm-readelf"
ADDR2LINE="llvm-addr2line"
# don't strip comment section of binaries
# assumes STRIP will be gnu-strip
PORTAGE_STRIP_FLAGS="--strip-unneeded -N __gentoo_check_ldflags__ -R .GCC.command.line -R .note.gnu.gold-version"
LD="ld.mold"
# EMERGE_DEFAULT_OPTS="--jobs 2"
LDFLAGS="${LDFLAGS} -fuse-ld=mold -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -flto"
# don't strip comment section of binaries
PORTAGE_STRIP_FLAGS="--strip-unneeded -N __gentoo_check_ldflags__ -R .GCC.command.line -R .note.gnu.gold-version"
USE="clang dist-kernel llvm-libunwind lto pulseaudio X -systemd -wayland"