* [gentoo-commits] proj/binhost:master commit in: builders/dola/kde-23/portage/package.env/, builders/dola/server-23/portage/, ...
@ 2025-01-10 1:04 Eli Schwartz
0 siblings, 0 replies; only message in thread
From: Eli Schwartz @ 2025-01-10 1:04 UTC (permalink / raw
To: gentoo-commits
commit: b3c6fd47bbecf0af3d9da44555bd04ba28f76ef6
Author: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 10 01:03:03 2025 +0000
Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Fri Jan 10 01:03:07 2025 +0000
URL: https://gitweb.gentoo.org/proj/binhost.git/commit/?id=b3c6fd47
dola: enable LTO builds
Again like milou, we build with USE="lto pgo" on gnome, and
semi-selectively inject -flto into *FLAGS.
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>
builders/dola/gnome-23/portage/env/lto.conf | 5 +++++
builders/dola/gnome-23/portage/env/nolto.conf | 5 +++++
builders/dola/gnome-23/portage/make.conf | 10 +++++++---
builders/dola/gnome-23/portage/package.env/lto | 8 ++++++++
builders/dola/kde-23/portage/env/lto.conf | 5 +++++
builders/dola/kde-23/portage/env/nolto.conf | 5 +++++
builders/dola/kde-23/portage/make.conf | 8 ++++++--
builders/dola/kde-23/portage/package.env/lto | 8 ++++++++
builders/dola/server-23/portage/env/lto.conf | 5 +++++
builders/dola/server-23/portage/env/nolto.conf | 5 +++++
builders/dola/server-23/portage/make.conf | 8 ++++++--
builders/dola/server-23/portage/package.env/lto | 8 ++++++++
12 files changed, 73 insertions(+), 7 deletions(-)
diff --git a/builders/dola/gnome-23/portage/env/lto.conf b/builders/dola/gnome-23/portage/env/lto.conf
new file mode 100644
index 0000000..37647dd
--- /dev/null
+++ b/builders/dola/gnome-23/portage/env/lto.conf
@@ -0,0 +1,5 @@
+CFLAGS="${CFLAGS} -flto"
+CXXFLAGS="${CXXFLAGS} -flto"
+FCFLAGS="${FCFLAGS} -flto"
+FFLAGS="${FFLAGS} -flto"
+LDFLAGS="${LDFLAGS} -flto"
diff --git a/builders/dola/gnome-23/portage/env/nolto.conf b/builders/dola/gnome-23/portage/env/nolto.conf
new file mode 100644
index 0000000..4f1f356
--- /dev/null
+++ b/builders/dola/gnome-23/portage/env/nolto.conf
@@ -0,0 +1,5 @@
+CFLAGS="${CFLAGS} -fno-lto"
+CXXFLAGS="${CXXFLAGS} -fno-lto"
+FCFLAGS="${FCFLAGS} -fno-lto"
+FFLAGS="${FFLAGS} -fno-lto"
+LDFLAGS="${LDFLAGS} -fno-lto"
diff --git a/builders/dola/gnome-23/portage/make.conf b/builders/dola/gnome-23/portage/make.conf
index 3f97c6b..affe604 100644
--- a/builders/dola/gnome-23/portage/make.conf
+++ b/builders/dola/gnome-23/portage/make.conf
@@ -2,12 +2,17 @@
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
-COMMON_FLAGS="-O2 -pipe"
+
+# For now, we enforce LTO warnings but only enable LTO for certain packages.
+LTOFLAGS="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
+COMMON_FLAGS="-O2 -pipe ${LTOFLAGS}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
+LDFLAGS="${LDFLAGS} ${LTOFLAGS}"
+
# NOTE: This stage was built with the bindist Use flag enabled
PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
@@ -26,11 +31,10 @@ FEATURES="binpkg-multi-instance buildpkg compress-index -network-sandbox"
BINPKG_FORMAT="gpkg"
BINPKG_COMPRESS="xz"
-USE="bindist"
+USE="bindist lto pgo"
ACCEPT_RESTRICT="* -bindist"
ACCEPT_LICENSE="@FREE MPEG-4"
LC_ALL="en_US.utf8"
-
diff --git a/builders/dola/gnome-23/portage/package.env/lto b/builders/dola/gnome-23/portage/package.env/lto
new file mode 100644
index 0000000..f10b0f4
--- /dev/null
+++ b/builders/dola/gnome-23/portage/package.env/lto
@@ -0,0 +1,8 @@
+dev-lang/python lto.conf
+sys-devel/* lto.conf
+www-client/firefox lto.conf
+
+# These packages distribute static archives.
+# https://bugs.gentoo.org/926120
+dev-util/sysprof-capture nolto.conf
+sys-devel/flex nolto.conf
diff --git a/builders/dola/kde-23/portage/env/lto.conf b/builders/dola/kde-23/portage/env/lto.conf
new file mode 100644
index 0000000..37647dd
--- /dev/null
+++ b/builders/dola/kde-23/portage/env/lto.conf
@@ -0,0 +1,5 @@
+CFLAGS="${CFLAGS} -flto"
+CXXFLAGS="${CXXFLAGS} -flto"
+FCFLAGS="${FCFLAGS} -flto"
+FFLAGS="${FFLAGS} -flto"
+LDFLAGS="${LDFLAGS} -flto"
diff --git a/builders/dola/kde-23/portage/env/nolto.conf b/builders/dola/kde-23/portage/env/nolto.conf
new file mode 100644
index 0000000..4f1f356
--- /dev/null
+++ b/builders/dola/kde-23/portage/env/nolto.conf
@@ -0,0 +1,5 @@
+CFLAGS="${CFLAGS} -fno-lto"
+CXXFLAGS="${CXXFLAGS} -fno-lto"
+FCFLAGS="${FCFLAGS} -fno-lto"
+FFLAGS="${FFLAGS} -fno-lto"
+LDFLAGS="${LDFLAGS} -fno-lto"
diff --git a/builders/dola/kde-23/portage/make.conf b/builders/dola/kde-23/portage/make.conf
index 3f97c6b..2b52511 100644
--- a/builders/dola/kde-23/portage/make.conf
+++ b/builders/dola/kde-23/portage/make.conf
@@ -2,12 +2,17 @@
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
-COMMON_FLAGS="-O2 -pipe"
+
+# For now, we enforce LTO warnings but only enable LTO for certain packages.
+LTOFLAGS="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
+COMMON_FLAGS="-O2 -pipe ${LTOFLAGS}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
+LDFLAGS="${LDFLAGS} ${LTOFLAGS}"
+
# NOTE: This stage was built with the bindist Use flag enabled
PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
@@ -33,4 +38,3 @@ ACCEPT_RESTRICT="* -bindist"
ACCEPT_LICENSE="@FREE MPEG-4"
LC_ALL="en_US.utf8"
-
diff --git a/builders/dola/kde-23/portage/package.env/lto b/builders/dola/kde-23/portage/package.env/lto
new file mode 100644
index 0000000..f10b0f4
--- /dev/null
+++ b/builders/dola/kde-23/portage/package.env/lto
@@ -0,0 +1,8 @@
+dev-lang/python lto.conf
+sys-devel/* lto.conf
+www-client/firefox lto.conf
+
+# These packages distribute static archives.
+# https://bugs.gentoo.org/926120
+dev-util/sysprof-capture nolto.conf
+sys-devel/flex nolto.conf
diff --git a/builders/dola/server-23/portage/env/lto.conf b/builders/dola/server-23/portage/env/lto.conf
new file mode 100644
index 0000000..37647dd
--- /dev/null
+++ b/builders/dola/server-23/portage/env/lto.conf
@@ -0,0 +1,5 @@
+CFLAGS="${CFLAGS} -flto"
+CXXFLAGS="${CXXFLAGS} -flto"
+FCFLAGS="${FCFLAGS} -flto"
+FFLAGS="${FFLAGS} -flto"
+LDFLAGS="${LDFLAGS} -flto"
diff --git a/builders/dola/server-23/portage/env/nolto.conf b/builders/dola/server-23/portage/env/nolto.conf
new file mode 100644
index 0000000..4f1f356
--- /dev/null
+++ b/builders/dola/server-23/portage/env/nolto.conf
@@ -0,0 +1,5 @@
+CFLAGS="${CFLAGS} -fno-lto"
+CXXFLAGS="${CXXFLAGS} -fno-lto"
+FCFLAGS="${FCFLAGS} -fno-lto"
+FFLAGS="${FFLAGS} -fno-lto"
+LDFLAGS="${LDFLAGS} -fno-lto"
diff --git a/builders/dola/server-23/portage/make.conf b/builders/dola/server-23/portage/make.conf
index 3f97c6b..2b52511 100644
--- a/builders/dola/server-23/portage/make.conf
+++ b/builders/dola/server-23/portage/make.conf
@@ -2,12 +2,17 @@
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
-COMMON_FLAGS="-O2 -pipe"
+
+# For now, we enforce LTO warnings but only enable LTO for certain packages.
+LTOFLAGS="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
+COMMON_FLAGS="-O2 -pipe ${LTOFLAGS}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
+LDFLAGS="${LDFLAGS} ${LTOFLAGS}"
+
# NOTE: This stage was built with the bindist Use flag enabled
PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
@@ -33,4 +38,3 @@ ACCEPT_RESTRICT="* -bindist"
ACCEPT_LICENSE="@FREE MPEG-4"
LC_ALL="en_US.utf8"
-
diff --git a/builders/dola/server-23/portage/package.env/lto b/builders/dola/server-23/portage/package.env/lto
new file mode 100644
index 0000000..f10b0f4
--- /dev/null
+++ b/builders/dola/server-23/portage/package.env/lto
@@ -0,0 +1,8 @@
+dev-lang/python lto.conf
+sys-devel/* lto.conf
+www-client/firefox lto.conf
+
+# These packages distribute static archives.
+# https://bugs.gentoo.org/926120
+dev-util/sysprof-capture nolto.conf
+sys-devel/flex nolto.conf
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2025-01-10 1:04 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-10 1:04 [gentoo-commits] proj/binhost:master commit in: builders/dola/kde-23/portage/package.env/, builders/dola/server-23/portage/, Eli Schwartz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox