[devel] Возможность избегания strip'а определенных секций ELF'а
Vitaly Chikunov
vt на altlinux.org
Сб Окт 15 05:35:54 MSK 2022
On Fri, Oct 14, 2022 at 07:55:42PM +0300, Anton Zhukharev wrote:
> Добрый вечер!
>
> В процессе сборки программы возникла проблема, связанная с вырезанием
> секций из 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
>
> , однако я не уверен в их работоспособности (я лично не проверял влияние
> этого макроса на сборку именно этих пакетов, потому утверждать не имею права).
>
> Хотелось бы узнать как решать подобные проблемы у нас.
%brp_strip_none или %brp_strip_debug, пример:
%brp_strip_none %_libdir/rr/lib*.so
>
> --
> С уважением,
> Жухарев Антон
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
Подробная информация о списке рассылки Devel