Спустя много часов (суммируется с нескольких дней), потраченных по большей части впустую, получил незабываемый опыт работы с JDK и гениальнейшим тулингом для его разработки.
Во-первых, не пытайтесь скомпилировать OpenJ9 на clang, с любыми флагами джава будет сегфолтить сразу же при запуске, а в стектрейсе из lldb ничего полезного без понимания кода самого ж9.
Во-вторых, набор тестов TKG/TestKitGen может не найти библиотеки jtreg (это фреймворк для тестирования джавы), может какой-то магией не найти свою джарку TestNG, может повиснуть на непройденном тесте, а параллелить выполнение придётся самому через make genParallelList и запуск в фоне make testList_0 & … make testList_11 & (количество потоков минус 1) из баш-скрипта — рекомендую тоже не заниматься этой фигнёй и забить на тестирование своего билда, ограничиться проверкой java --version.
Для компиляции ж9 ещё нужен другой ждк (любой), в их терминологии это bootjdk. Необязательно скачивать бинарники Adoptium, прям любой JDK той же версии, что и компилируете; можно взять из репы дистрибутива.
Флаги оптимизации можно спокойно добавлять в --with-extra-cflags и cxxflags, по крайней мере -O3 и включение LTO ничего не сломали (внезапно, учитывая описанную выше фигню).
Выполнялось в рамках проекта https://git.dc09.ru/DarkCat09/docker-openj9-piped
#openj9