[devel] Возможность избегания strip'а определенных секций ELF'а

Anton Zhukharev ancieg на altlinux.org
Пт Окт 14 19:55:42 MSK 2022


Добрый вечер!

В процессе сборки программы возникла проблема, связанная с вырезанием
секций из ELF. При сборки программа генерирует ELF, в котором
добавляются собственные секции, которые в конце сборки пакета
strip'аются и, следовательно, программа не работает вообще.

Я пытался поискать варианты запрета strip'а определенных секции/символов
из ELF в спеках (в репозитории с https://github.com/altlinux/specs),
однако нашёл решения вида:

  %brp_strip_none <путь файла>

или:

  %define __find_debuginfo_files %nil
  %add_debuginfo_skiplist <путь файла>

, однако они не приводят к нужноме результату (я всё равно не
обнаруживаю необходимых для работы собираемой мной программы секций в ELF).

Похоже, что в Fedora есть решение подобной проблемы, которое выглядит
следующим образом:

  %global _find_debuginfo_opts --keep-section <секция>

Я решил проверить этот макрос у нас, однако всё равно должного результата
не добился (<секция> всё равно отсутствовала в результирующем файле),
но обнаружил (grep -RE) этот же макрос в следующих спеках:

 * j/java-17-openjdk/java-17-openjdk.spec:%global _find_debuginfo_opts -g
 * j/java-1.8.0-openjdk/java-1.8.0-openjdk.spec:%global _find_debuginfo_opts -g
 * j/java-11-openjdk/java-11-openjdk.spec:%global _find_debuginfo_opts -g

, однако я не уверен в их работоспособности (я лично не проверял влияние
этого макроса на сборку именно этих пакетов, потому утверждать не имею права).

Хотелось бы узнать как решать подобные проблемы у нас.

-- 
С уважением,
Жухарев Антон
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20221014/79bb6826/attachment-0001.bin>


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