public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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