Bug 52145

Summary: -mtune=native
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: fftw3Assignee: placeholder <placeholder>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: egori, glebfm, ilyakurdyukov, ldv, paladin.robby, placeholder
Version: unstable   
Hardware: e2k   
OS: Linux   

Description Michael Shigorin 2024-11-22 18:10:58 MSK
Выяснилось при сборке в sisyphus_e2k (точнее, отладке падения darktable на e2kv4) -- но судя по configure, выстрелить может примерно где угодно при достаточно новых сборочных узлах:

---
e1601:/tasks/archive/done/_56/57857/build/100/e2kv4> grep march log | head -1   
+ CFLAGS='-pipe -Wall -Wno-error -g -O3 -march=elbrus-v4 -fvisibility=hidden'

Но дальше сборочная система библиотеки на всё забила и пошла во все тяжкие:

e1601:/tasks/archive/done/_56/57857/build/100/e2kv4> grep -E mtune log | head -3
checking whether C compiler accepts -mtune=native... yes
checking whether C compiler accepts -O3 -fomit-frame-pointer -mtune=native -fstrict-aliasing -fno-schedule-insns... yes
/bin/sh ../libtool  --tag=CC   --mode=compile e2k-alt-linux-gcc -DHAVE_CONFIG_H -I. -I../../kernel -I..  -I ../..   -O3 -fomit-frame-pointer -mtune=native -fstrict-aliasing -fno-schedule-insns -c -o awake.lo ../../kernel/awake.c
---
Comment 1 ilyakurdyukov 2024-11-22 18:25:05 MSK
Во первых fftw3 вообще не использует optflags. Во вторых ставит "-mtune=native", который из configure вообще никак не отключается!

У нас есть враппер, что ставит правильный -march= в начале опций компилятора, но -mtune= для LCC полностью нивелирует любой установленный ранее -march=.

В итоге собранное на v6 с опциями -march=elbrus-v4 -mtune=native будет собирать для v6.