From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-4.3 required=5.0 tests=ALL_TRUSTED,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RP_MATCHES_RCVD autolearn=unavailable autolearn_force=no version=3.4.1 Date: Thu, 24 Sep 2020 14:23:18 +0300 From: "Alexey V. Vissarionov" To: ALT Linux Team development discussions Message-ID: <20200924112317.GO14746@altlinux.org> References: <20200909084123.GA17106@gyle.altlinux.org> <20200924073418.pzrzzfw6z7g6olon@titan.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200924073418.pzrzzfw6z7g6olon@titan.localdomain> Subject: Re: [devel] =?koi8-r?b?4snU2cUg08nN18/M2SDQ0skg08LP0svFIHZpcnR1YWxi?= =?koi8-r?b?b3guZ2l0PTYuMS4xNC1hbHQx?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Sep 2020 11:23:21 -0000 Archived-At: List-Archive: List-Post: On 2020-09-24 11:34:18 +0400, Ivan A. Melnikov wrote: >> Проблема возникает при проверке модуля VMMR0.r0, который >> динамически загружает другие модули, но явно с ними не >> слинкован. На работоспособность это не влияет, но сборочница >> не пропускает. > Тут дело не в недолинковке. Проверка bad_elf_symbols означает, > что таких символов в репозитории вообще нет, то есть бинарник их > требует, но нет ни одного elf-файла, который бы их предоставлял. > Однако, как я понимаю, VMMR0.r0 -- это не какая-нибудь > разделяемая библиотека, а часть гипервизора, и эти символы > ей предоставляются ядром, а точнее модулем virtualbox.ko из > kernel-modules-virtualbox. Проверка производится коряво, по причине чего ее нужно либо чинить, либо делать отключаемой. Я с этим сталкивался при сборке EFI-модулей syslinux, которые по уму вообще должны находиться в noarch-пакете - там нет бинарников, которые запускаются системным вызовом execve() >> Какие варианты решения можете предложить? > В сборке из #257606: > $ file usr/lib64/virtualbox/VMMR0.r0 > usr/lib64/virtualbox/VMMR0.r0: ELF 64-bit LSB shared object, > x86-64, version 1 (SYSV), dynamically linked, stripped > Это shared object, и он попадает под проверку bad_elf_symbols. > Сейчас в Сизифе: > $ file usr/lib64/virtualbox/VMMR0.r0 > usr/lib64/virtualbox/VMMR0.r0: ELF 64-bit LSB relocatable, > x86-64, version 1 (SYSV), not stripped > Это не shared object, и проверка его игнорирует. Неудачный критерий... нужна возможность отключать эту проверку в том чисте и для shared objects - например, когда они собраны для другой системы (см. syslinux-efi) или даже архитектуры (см. firmware). > Таковы, кстати, модули ядра [...] Я бы копнул в эту сторону. А я бы рекомендовал проверять только GNU/Linux бинарники, а не абстрактные SYSV - желающие могут сравнить вышепроцитированное с выводом, например, `file /lib64/libc-2.30.so`: /lib64/libc-2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, stripped -- Alexey V. Vissarionov gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net