Bug 56372

Summary: ocamlc перестал генерировать дебаг секции на aarch64
Product: Sisyphus Reporter: Vitaly Chikunov <vt>
Component: ocamlAssignee: Anton Farygin <rider>
Status: RESOLVED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: rider, shaba
Version: unstable   
Hardware: x86   
OS: Linux   

Description Vitaly Chikunov 2025-10-14 06:28:53 MSK
ocamlc перестал генерировать дебаг секции на aarch64 с 2025/01/20, первопричина в том, что пропадает опция -g при вызове ocamlc.opt'ом gcc, которая ранее была по умолчанию и осталась на x86_64. Запускаю вручную команды для иллюстрации с добавлением -verbose:

# При сборке из архива за 2025-01-19 (coccinelle 1.3.0-alt2):

builder@aarch64:~/RPM/BUILD/coccinelle-1.3.0/bundles/pyml$ /usr/bin/ocamlc.opt -unsafe -w @42 -I /usr/lib64/ocaml/stdcompat -I pyml-current -I +unix  -ccopt -I/usr/lib64/ocaml/stdcompat -ccopt -fPIC pyml-current/pyml_stubs.c -o pyml-current/pyml_stubs.o -verbose
+ gcc  -O2 -fno-strict-aliasing -fwrapv -pthread -fPIC -pipe -frecord-gcc-switches  -g -O2  -D_FILE_OFFSET_BITS=64 -pthread  -D_FILE_OFFSET_BITS=64    -c  -I/usr/lib64/ocaml/stdcompat -fPIC '-I/usr/lib64/ocaml/stdcompat' '-Ipyml-current' '-I/usr/lib64/ocaml/unix' -I'/usr/lib64/ocaml' 'pyml-current/pyml_stubs.c'


# При сборке из архива за 2025-01-20:

builder@aarch64:~/RPM/BUILD/coccinelle-1.3.0/bundles/pyml$ /usr/bin/ocamlc.opt -unsafe -w @42 -I /usr/lib64/ocaml/stdcompat -I pyml-current -I +unix  -ccopt -I/usr/lib64/ocaml/stdcompat -ccopt -fPIC pyml-current/pyml_stubs.c -o pyml-current/pyml_stubs.o -verbose
+ gcc -O2 -fno-strict-aliasing -fwrapv -fPIC -pthread   -D_FILE_OFFSET_BITS=64    -c  -I/usr/lib64/ocaml/stdcompat -fPIC '-I/usr/lib64/ocaml/stdcompat' '-Ipyml-current' '-I/usr/lib64/ocaml/unix' -I'/usr/lib64/ocaml' 'pyml-current/pyml_stubs.c'

# При сборке из архива за 2025-01-20 на x86_64:

builder@x86_64:~/RPM/BUILD/coccinelle-1.3.0/bundles/pyml$ /usr/bin/ocamlc.opt -unsafe -w @42 -I /usr/lib64/ocaml/stdcompat -I pyml-current -I +unix  -ccopt -I/usr/lib64/ocaml/stdcompat -ccopt -fPIC pyml-current/pyml_stubs.c -o pyml-current/pyml_stubs.o -verbose
+ gcc -O2 -fno-strict-aliasing -fwrapv -g  -fno-omit-frame-pointer -fPIC -pthread   -D_FILE_OFFSET_BITS=64    -c  -I/usr/lib64/ocaml/stdcompat -fPIC '-I/usr/lib64/ocaml/stdcompat' '-Ipyml-current' '-I/usr/lib64/ocaml/unix' -I'/usr/lib64/ocaml' 'pyml-current/pyml_stubs.c'
Comment 1 Vitaly Chikunov 2025-10-14 06:39:45 MSK
Не понятно баг это или фича, так как на одной архитектуре одно, на другой другое.

(Сборка пакета где это вылезло легко исправилась передачей OCAMLCCFLAGS=-g, правда для этого пришлось потратить час.)
Comment 2 Anton Farygin 2025-10-14 08:36:48 MSK
Спасибо. Я постараюсь посмотреть на эту ошибку при следующем заходе на ocaml.
Comment 3 Anton Farygin 2026-03-12 10:26:25 MSK
исправлено в задании
https://git.altlinux.org/tasks/404247/
спасибо за репорт.
Comment 4 Vitaly Chikunov 2026-03-12 10:31:43 MSK
А что %ifarch через запятую работает?

> +%ifarch x86_64,aarch64
Comment 5 Anton Farygin 2026-03-12 10:50:22 MSK
(Ответ для Vitaly Chikunov на комментарий #4)
> А что %ifarch через запятую работает?
> 
> > +%ifarch x86_64,aarch64

мне казалось всегда что работает, но я засомневался теперь ;)
Comment 6 Anton Farygin 2026-03-12 10:52:44 MSK
Точно не работает. Спасибо что заметил. Эту ошибку исправим отдельным заданием.
Comment 7 Anton Farygin 2026-03-12 11:21:56 MSK
И к сожалению при включении frame-pointers меняются хеши функций ocaml, поэтому это изменение попадёт в сборку следующей версии ;(