Bug 48676 - ocaml: fix build on loongarch64 and riscv64
Summary: ocaml: fix build on loongarch64 and riscv64
Status: ASSIGNED
Alias: None
Product: Sisyphus
Classification: Development
Component: ocaml (show other bugs)
Version: unstable
Hardware: loongarch64 Linux
: P5 normal
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-12-04 14:32 MSK by Ivan A. Melnikov
Modified: 2023-12-06 21:54 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan A. Melnikov 2023-12-04 14:32:10 MSK
Для сборки ocaml 4.14 на loongarch64 потребовалось небольшое дополнение:

https://git.altlinux.org/people/iv/packages/ocaml.git?a=commitdiff;h=ce65e2ab56af1f087705eb48f7f1544a191a074f

Прошу забрать в основной пакет.
Comment 1 Ivan A. Melnikov 2023-12-04 14:33:40 MSK
Также хочу отметить, что при бутстрапе ocaml на новую архитектуру удобнее собирать dune без сборочной зависимости на opam, он там, похоже, не нужен:

https://git.altlinux.org/people/iv/packages/?p=dune.git;a=commitdiff;h=288db2a67ac344319721c1a0875dd97b69d34e94
Comment 2 Anton Farygin 2023-12-04 14:45:47 MSK
Спасибо. opam там вообще скорее всего не нужен, я это перепроверю.
Comment 3 Ivan A. Melnikov 2023-12-06 12:20:57 MSK
Для сборки под riscv64 понадобилось ещё одно небольшое изменение: апстрим опять забыл в runtime/riscv.S немного артефактов рефакторинга:

https://git.altlinux.org/people/iv/packages/?p=ocaml.git;a=blob;f=.gear/ocaml-4.14.1-alt-riscv-drop-unused-symbol.patch;h=cdfddce26c9900f27d482dd77860229e167af86d

Из-за этого, как нетрудно догадаться, падал elf symbol check.

Баги в багзилле решил не плодить, но если надо, то могу.
Comment 4 Anton Farygin 2023-12-06 12:26:11 MSK
не надо. Надо проверить это же в 5.1.0 и если там тоже самое - отдать в апстрим.

У меня пока руки не дошли до сборки тестового задания 5.1.0, но я планирую это сделать в ближайшее время, как освобожусь.
Comment 5 Ivan A. Melnikov 2023-12-06 21:54:32 MSK
(In reply to Anton Farygin from comment #4)
> не надо. Надо проверить это же в 5.1.0 и если там тоже самое - отдать в
> апстрим.

В trunk'е это исправлено ещё до ответвления 5.1, во время очередного существенного переписывания

https://github.com/ocaml/ocaml/commit/9d5c55c00dc01a472a442db1c892c736b2cf877d

Так что для 5.1.x этот патч на riscv.S не актуален.