[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