[devel] Проблема с debugedit при сборке ghc-9.2.8 на aarch64

Arseny Maslennikov arseny на altlinux.org
Чт Сен 28 02:05:14 MSK 2023


On Sat, Sep 23, 2023 at 04:44:38PM +0700, Ilya Kurdyukov wrote:
> On 9/23/23 16:36, Dmitry V. Levin wrote:
> > >   > --ldflags=-Wl,--build-id=sha1
> > Этой истории уже много лет, поэтому удивительно, что где-то до сих пор
> > по умолчанию создаётся 64-битный build id.  С точки зрения репозитория
> > важно не столько, чтобы конкретный пакет был исправлен, сколько чтобы
> > этого не происходило по умолчанию.
> > 
> ghc (смотрел спеку 8.6.4) для armh/aarch64 собирается через LLVM:
> 
> * Thu Aug 17 2023 Anton Zhukharev <ancieg на altlinux.org> 8.6.4-alt9
> - Fixed FTBFS.
> - Built with llvm12.0 on armh and aarch64.
> - Stored LLVM version in %%ghc_llvm_version macro.
> 
> Это опции LLD, линковщика из LLVM:
> 
> --build-id=value
>     Generate a build ID note. value may be one of fast, md5, sha1, tree,
> uuid, 0xhex-string, and none. tree is an alias for sha1. Build-IDs of type
> fast, md5, sha1, and tree are calculated from the object contents. fast is
> not intended to be cryptographically secure.
> --build-id
>     Synonym for --build-id=fast.
> 
> Если девятый ghc собирается так же - значит проблема в конфигурации LLVM,
> наверное там указано --build-id, что превращается в --build-id=fast.

Мы (т. е. я и не только) тут off-list голову ломали, почему ошибка, о
которой речь в этом треде, происходит только на aarch64 и почему мы
подобных жалоб не видим по всему репозиторию среди пакетов, линкуемых
этим lld. А дело в том, что на данной архитектуре в данном пакете lld
вызывается командой gcc, что редкость (не удивлюсь, если в сизифе так
делает только сборочная система ghc). gcc, вестимо, передаёт линкеру
просто --build-id.

Так что большое спасибо Илье за оперативное замечание в яблочко. И
тогда, действительно, проще всего навязать в пакете ghcX
`--ldflags=-Wl,--build-id=sha1'.


Хуже того, clang (и актуальный тоже) вообще не передаёт --build-id=*, т.
е. у нас все бинарники из-под clang+lld попадают в репозиторий вообще
без GNU_BUILD_ID elf note.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20230928/b276a457/attachment.bin>


Подробная информация о списке рассылки Devel