[PATCH] lib/meson.build: allow build IGT with link time optimization

Andrzej Hajda andrzej.hajda at intel.com
Mon Dec 16 14:38:38 UTC 2024


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.

Signed-off-by: Andrzej Hajda <andrzej.hajda at 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.
---
 lib/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/meson.build b/lib/meson.build
index beaf43dffc5b..5a2fd9bf310c 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -239,7 +239,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: 48a70f6795e6d68b9fae275261ae3b09d3401fe1
change-id: 20241216-fix-lto-8d3bc1488c6a

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



More information about the igt-dev mailing list