ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: alexei@taf.ru
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] I: LTO in %optflags by default
Date: Thu, 26 Aug 2021 12:23:01 +0800 (IRKT)
Message-ID: <314147364.789293.1629951781436.JavaMail.zimbra@taf.ru> (raw)
In-Reply-To: <20210825231929.GC24439@altlinux.org>

Добрый день!

----- Исходное сообщение -----
> От: "ldv" <ldv@altlinux.org>
> Кому: "ALT Linux Team development discussions" <devel@lists.altlinux.org>
> Отправленные: Четверг, 26 Август 2021 г 7:19:29
> Тема: Re: [devel] I: LTO in %optflags by default

> On Thu, Aug 26, 2021 at 02:07:49AM +0300, Aleksey Novodvorsky wrote:
>> чт, 26 авг. 2021 г. в 00:24, Dmitry V. Levin <ldv@altlinux.org>:
>> >
>> > On Tue, Aug 24, 2021 at 09:20:50PM +0300, Dmitry V. Levin wrote:
>> > > Hi,
>> > >
>> > > Пришло время включить в Сизифе LTO (link-time optimization).
>> >
>> > Поскольку мы в теме, нам это казалось очевидным и не требующим
>> > дополнительных пояснений, но, поскольку это ещё не всем очевидно,
>> > поясню, из каких соображений мы исходили:
>> >
>> > - LTO - это безусловно полезная оптимизация, об этом много написано,
>> >   см. напр. [1] [2], поэтому ею хорошо было бы воспользоваться;
>> >
>> > - LTO - это уже широко распространённая оптимизация, её уже включили в
>> >   openSUSE, Fedora, Ubuntu, Clearlinux, скоро Debian, там уже вытоптали
>> >   основные грабли, большинство фиксов пакетов заапстримлено, поэтому ею
>> >   уже можно пользоваться;
>> >
>> > - LTO - это уже настолько распространённая оптимизация, что скоро без LTO
>> >   уже мало кто будет собирать, поэтому не пользоваться ею скоро будет себе
>> >   дороже;
>> >
>> > - После бранчевания мы в начале нового цикла разработки, самое время
>> >   включить LTO.
>> >
>> > - Исправление самой массовой сборочной ошибки "process-lto: ERROR:",
>> >   вызванной включением LTO, тривиально.
>> >
>> > - Выключить LTO в пакете в случае необходимости - тривиально.
>> >
>> > [1] https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html
>> > [2] https://wiki.ubuntu.com/ToolChain/LTO
>> 
>> Это хорошо, но все ли наши архитектуры поддерживают LTO?
> 
> Конечно, LTO поддерживается на всех наших архитектурах.

Есть некоторые сомнения по этому поводу.

http://git.altlinux.org/tasks/283741/build/100/armh/log
======================================================
[00:02:11] /usr/lib/gcc/armh-alt-linux-gnueabi/10/include/arm_acle.h: In function 'pg_comp_crc32c_armv8':
[00:02:11] /usr/lib/gcc/armh-alt-linux-gnueabi/10/include/arm_acle.h:739:10: error: this builtin is not supported for this target
[00:02:11]   739 |   return __builtin_arm_crc32cb (__a, __b);
[00:02:11]       |          ^
[00:02:11] /usr/lib/gcc/armh-alt-linux-gnueabi/10/include/arm_acle.h:745:10: error: this builtin is not supported for this target
[00:02:11]   745 |   return __builtin_arm_crc32ch (__a, __b);
[00:02:11]       |          ^
[00:02:11] /usr/lib/gcc/armh-alt-linux-gnueabi/10/include/arm_acle.h:751:10: error: this builtin is not supported for this target
[00:02:11]   751 |   return __builtin_arm_crc32cw (__a, __b);
[00:02:11]       |          ^
[00:02:11] /usr/lib/gcc/armh-alt-linux-gnueabi/10/include/arm_acle.h:751:10: error: this builtin is not supported for this target
[00:02:11]   751 |   return __builtin_arm_crc32cw (__a, __b);
[00:02:11]       |          ^
[00:02:11] /usr/lib/gcc/armh-alt-linux-gnueabi/10/include/arm_acle.h:751:10: error: this builtin is not supported for this target
[00:02:11]   751 |   return __builtin_arm_crc32cw (__a, __b);
[00:02:11]       |          ^
[00:02:11] /usr/lib/gcc/armh-alt-linux-gnueabi/10/include/arm_acle.h:751:10: error: this builtin is not supported for this target
[00:02:11]   751 |   return __builtin_arm_crc32cw (__a, __b);
[00:02:11]       |          ^
[00:02:11] /usr/lib/gcc/armh-alt-linux-gnueabi/10/include/arm_acle.h:745:10: error: this builtin is not supported for this target
[00:02:11]   745 |   return __builtin_arm_crc32ch (__a, __b);
[00:02:11]       |          ^
[00:02:11] /usr/lib/gcc/armh-alt-linux-gnueabi/10/include/arm_acle.h:739:10: error: this builtin is not supported for this target
[00:02:11]   739 |   return __builtin_arm_crc32cb (__a, __b);
[00:02:11]       |          ^
[00:02:11] make[3]: *** [/usr/src/tmp/ccaltlWW.mk:377: /usr/src/tmp/postgres.w4Po8V.ltrans125.ltrans.o] Error 1
[00:02:11] lto-wrapper: fatal error: make returned 2 exit status
[00:02:11] compilation terminated.
[00:02:11] ld: error: lto-wrapper failed
[00:02:11] collect2: error: ld returned 1 exit status
[00:02:11] make[2]: *** [Makefile:66: postgres] Error 1
[00:02:11] make[2]: Leaving directory '/usr/src/RPM/BUILD/postgresql13-13.4/src/backend'
[00:02:11] make[1]: *** [Makefile:42: all-backend-recurse] Error 2
[00:02:11] make: *** [GNUmakefile:11: all-src-recurse] Error 2
=======================================================

При этом задание с отключенным LTO для armh собирается успешно
( http://git.altlinux.org/tasks/283796/ )


  parent reply	other threads:[~2021-08-26  4:23 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-24 18:20 Dmitry V. Levin
2021-08-24 18:21 ` Dmitry V. Levin
2021-08-24 18:22 ` Dmitry V. Levin
2021-08-25  0:04   ` Dmitry V. Levin
2021-08-25  8:18     ` Vitaly Lipatov
2021-08-25  8:28       ` Ivan A. Melnikov
2021-08-25  8:38         ` Vitaly Lipatov
2021-08-25  9:18           ` Andrey Savchenko
2021-08-25 17:14             ` [devel] devel-static Dmitry V. Levin
2021-08-25 17:25               ` Alexey Sheplyakov
2021-08-25 19:19                 ` Andrey Savchenko
2021-08-25 19:14               ` Andrey Savchenko
2021-08-25 19:58                 ` Vitaly Lipatov
2021-08-25 20:52                   ` Andrey Savchenko
2021-08-25 21:06                     ` Vitaly Lipatov
2021-08-25 21:36                       ` Andrey Savchenko
2021-08-27 19:43   ` [devel] Статические библиотеки и thin LTO (Was: I: LTO in %optflags by default) Alexey Sheplyakov
2021-08-27 22:18     ` [devel] Статические библиотеки и thin LTO Vitaly Chikunov
2021-08-29  6:34       ` Alexey Sheplyakov
2021-08-30  9:18         ` Dmitry V. Levin
2021-08-30  9:30           ` Andrey Savchenko
2021-08-30  9:39             ` Dmitry V. Levin
2021-08-30 14:36               ` Andrey Savchenko
2021-08-30  9:50           ` Arseny Maslennikov
2021-08-24 18:23 ` [devel] I: LTO in %optflags by default Dmitry V. Levin
2021-08-24 19:19 ` Dmitry V. Levin
2021-08-25  0:33   ` Dmitry V. Levin
2021-08-26  6:00     ` [devel] I: LTO in %optflags by defaulta (top-level asm) Vitaly Chikunov
2021-08-25  5:27 ` [devel] I: LTO in %optflags by default Ivan A. Melnikov
2021-08-25  5:46   ` Denis Medvedev
2021-08-25  5:50     ` Denis Medvedev
2021-08-25  6:53     ` Andrey Savchenko
2021-08-25  7:03       ` Denis Medvedev
2021-08-25  7:32         ` Andrey Savchenko
2021-08-26 18:43         ` Michael Shigorin
2021-08-25  7:12       ` Ivan A. Melnikov
2021-08-25  8:14       ` Alexey Tourbin
2021-08-25  8:39         ` Andrey Savchenko
2021-08-25  7:12     ` Alexey Sheplyakov
2021-08-25 16:28     ` Dmitry V. Levin
2021-08-25 17:48   ` Dmitry V. Levin
2021-08-25  7:37 ` Alexey Sheplyakov
2021-08-25 18:07   ` [devel] Administrivia Dmitry V. Levin
2021-08-25 19:25     ` Alexey Sheplyakov
2021-08-25 20:03       ` Alexey V. Vissarionov
2021-08-26 19:02         ` [devel] Administrivii Michael Shigorin
2021-08-26 19:18           ` [devel] debugedit Dmitry V. Levin
2021-10-13  9:16             ` [devel] debugedit DWARF version 0 Denis Medvedev
2021-10-13  9:51               ` Dmitry V. Levin
2021-10-13  9:51                 ` Denis Medvedev
2021-08-25 19:27   ` [devel] I: LTO in %optflags by default Andrey Savchenko
2021-08-25 23:54     ` Dmitry V. Levin
2021-08-26  9:35       ` Alexey V. Vissarionov
2021-08-26 19:33       ` Andrey Savchenko
2021-08-27  0:37         ` Dmitry V. Levin
2021-08-27  8:07           ` Sergey V Turchin
2021-08-27  9:11           ` Alexey V. Vissarionov
2021-08-27 10:00           ` Alexey Sheplyakov
2021-08-27 12:54             ` Dmitry V. Levin
2021-08-25 10:45 ` Vitaly Lipatov
2021-08-25 16:20   ` Dmitry V. Levin
2021-08-25 20:23     ` Vitaly Lipatov
2021-08-25 20:30       ` Dmitry V. Levin
2021-08-25 21:24 ` Dmitry V. Levin
2021-08-25 23:07   ` Aleksey Novodvorsky
2021-08-25 23:19     ` Dmitry V. Levin
2021-08-25 23:54       ` Andrey Savchenko
2021-08-26  0:04         ` Dmitry V. Levin
2021-08-26  6:39           ` Andrey Savchenko
2021-08-26  7:25             ` Vitaly Lipatov
2021-08-27  0:20             ` Dmitry V. Levin
2021-08-26  9:40           ` Alexey V. Vissarionov
2021-08-26  4:23       ` alexei [this message]
2021-08-26  8:24         ` Dmitry V. Levin
2021-08-26  0:26 ` Dmitry V. Levin

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=314147364.789293.1629951781436.JavaMail.zimbra@taf.ru \
    --to=alexei@taf.ru \
    --cc=devel@lists.altlinux.org \
    /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

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git