ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Valery Sinelnikov <greh@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Битые символы при сборке virtualbox.git=6.1.14-alt1
Date: Thu, 24 Sep 2020 16:49:52 +0400
Message-ID: <CAKOoZe6nz=t5QgMFaRWaC8WQtyaOLwP0ztiXwN+yXA41D4tX_Q@mail.gmail.com> (raw)
In-Reply-To: <20200924112317.GO14746@altlinux.org>

чт, 24 сент. 2020 г. в 15:23, Alexey V. Vissarionov <gremlin@altlinux.org>:
>
> 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).

В новой сборке virtualbox-6.1.14 имеется опция
VBOX_WITH_VBOXR0_AS_DLL, которая по умолчанию установлена. Если её
отключить, то при старте виртуалки возникает ошибка:

Failed to load R0 module /usr/lib64/virtualbox/VMMR0.r0: RTLdrGetBits
failed (VERR_LDRELF_RELOCATION_NOT_SUPPORTED).
Failed to load VMMR0.r0 (VERR_LDRELF_RELOCATION_NOT_SUPPORTED).

Видимо, теперь необходимо чтобы этот модуль был собран как dll.



-- 
С уважением,
Синельников Валерий Александрович
Тел. + 7-917-324-20-36

      reply	other threads:[~2020-09-24 12:49 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-23 13:28 ` Valery Sinelnikov
2020-09-23 14:10   ` Nikolai Kostrigin
2020-09-23 15:17     ` Valery Sinelnikov
2020-09-24  6:35       ` Nikolai Kostrigin
2020-09-24  7:34   ` Ivan A. Melnikov
2020-09-24 11:23     ` Alexey V. Vissarionov
2020-09-24 12:49       ` Valery Sinelnikov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKOoZe6nz=t5QgMFaRWaC8WQtyaOLwP0ztiXwN+yXA41D4tX_Q@mail.gmail.com' \
    --to=greh@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git