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

Vitaly Chikunov vt на altlinux.org
Сб Сен 23 11:26:23 MSK 2023


Hi,

On Sat, Sep 23, 2023 at 01:51:59AM +0300, Evgeny Sinelnikov wrote:
> хочу обратиться за помощью с проблемой с debugedit при сборке
> ghc-9.2.8 на aarch64.
> _________________________
> 
> При сборке новой версии ghc на aarch64 отваливается
> find-debuginfo-files. Для x86_64, i586 и ppc64le сборка прошла
> успешно.
> 
> Из относительно понятного вижу только три строки:
> debugedit: Cannot handle 8-byte build ID
> getOutputFrom(): Broken pipe
> Command exited with non-zero status 1
> 
> В скрипте не отрабатывает следующий кусок:
> ...
> debugf=./usr/lib/debug$f.debug
> ...
> id=$(debugedit -n -i "$debugf")
> ...
> 
> То есть на aarch64 debugedit отваливается в функции handle_build_id():
> /* Compute a fresh build ID bit-string from the editted file contents.  */
> ...
> Судя по всему для получившихся бинарей не поддерживается вычисление хеш-суммы:
>   /* For now we only handle 16 byte (128 bits) with md5 or 20 bytes
>      (160 bits) with sha1.  */
> _________________________
> 
> Вопрос. Что с этим можно сделать?

eu-readelf -n на бинарник. Там должно быт скажем так:

  Note section [ 3] '.note.gnu.build-id' of 36 bytes at offset 0x378:
    Owner          Data size  Type
    GNU                   20  GNU_BUILD_ID
      Build ID: a41b2e353297560c24bed084d721b22dd6ca7b15

Судя по ошибке там 8-байтовое значение. Нужно - выяснить почему
компилятор (только) для этой архитектуры поставил такое короткое
значение и исправить это.


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