Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Andrzej Hajda <andrzej.hajda@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>,
	 Kamil Konieczny <kamil.konieczny@linux.intel.com>,
	 Andrzej Hajda <andrzej.hajda@intel.com>
Subject: [PATCH v2] lib/meson.build: allow build IGT with link time optimization
Date: Thu, 09 Jan 2025 17:26:30 +0100	[thread overview]
Message-ID: <20250109-fix-lto-v2-1-3dc74d60a124@intel.com> (raw)

Some distributions use -flto gcc flag to build IGT. With this flag
enabled variables declared with section attribute do not appear in
correct section in .o files. Since iga64 assembly helper script relies
on it we need to use -ffat-lto-objects in case of files containing
iga64 assembly. According to documentation this option is effective
only in case lto is in use, so it should not affect non-lto builds.

Closes: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/165
Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
---
This patch 'fixes' building IGT with link-time-optimization. I am not
sure it is or should be supported by IGT, but build scripts can be
modified to allow it for testing.
Grepping internet shows at least Gentoo and Arch Linux builds IGT with
LTO, so I guess it is working for them.
---
Changes in v2:
 - added Closes tag
- Link to v1: https://lore.kernel.org/r/20241216-fix-lto-v1-1-1280b17dc70f@intel.com
---
 lib/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/meson.build b/lib/meson.build
index 1704ed1e1c17..9fffdd3c6218 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -240,7 +240,7 @@ foreach f: lib_sources
 	    '-DIGT_DATADIR="@0@"'.format(join_paths(prefix, datadir)),
 	    '-DIGT_SRCDIR="@0@"'.format(srcdir),
 	    '-DIGT_LOG_DOMAIN="@0@"'.format(f.split('.')[0]),
-	])
+	] + (iga64_assembly_sources.contains(f) ? [ '-ffat-lto-objects' ] : []))
 
     lib_intermediates += lib
     if iga64_assembly_sources.contains(f)

---
base-commit: ee7a3ac616f55f6ed1b959ff951237099bda86d8
change-id: 20241216-fix-lto-8d3bc1488c6a

Best regards,
-- 
Andrzej Hajda <andrzej.hajda@intel.com>


             reply	other threads:[~2025-01-09 16:26 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-09 16:26 Andrzej Hajda [this message]
2025-01-09 17:05 ` [PATCH v2] lib/meson.build: allow build IGT with link time optimization Kamil Konieczny
2025-01-09 17:29 ` Lucas De Marchi
2025-01-10  7:58   ` Hajda, Andrzej
2025-01-10 15:49     ` Lucas De Marchi
2025-01-09 17:31 ` ✓ i915.CI.BAT: success for lib/meson.build: allow build IGT with link time optimization (rev2) Patchwork
2025-01-09 18:00 ` ✓ Xe.CI.BAT: " Patchwork
2025-01-12  2:39 ` ✗ Xe.CI.Full: failure " Patchwork
2025-01-14 14:31   ` Kamil Konieczny
2025-01-12 21:32 ` ✗ i915.CI.Full: " Patchwork
2025-01-14 14:32   ` Kamil Konieczny
2025-01-14 14:42 ` [PATCH v2] lib/meson.build: allow build IGT with link time optimization Kamil Konieczny

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250109-fix-lto-v2-1-3dc74d60a124@intel.com \
    --to=andrzej.hajda@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=janusz.krzysztofik@linux.intel.com \
    --cc=kamil.konieczny@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox