[devel] Ограничения сборочницы для virtualbox-6.1.14 и выше

Evgeny Sinelnikov sin на altlinux.org
Пн Дек 28 21:40:53 MSK 2020


пн, 28 дек. 2020 г. в 22:15, Dmitry V. Levin <ldv at altlinux.org>:
>
> On Mon, Dec 28, 2020 at 10:09:47PM +0400, Evgeny Sinelnikov wrote:
> [...]
> > Я бы предложил исключить из проверки файлы с расширением *.r0, даже
> > если это ELF. Или дать возможность исключать из проверки файлы в
> > спекфайле. Ещё один вариант - это как-то откатить код апстрима до
> > предыдущего, но там, ой как, всё непросто.
>
> Вопрос, предоставляют ли эти /usr/lib64/virtualbox/*.r0 какие-нибудь
> символы для других файлов, зависимости которых видит сборочница?

Ну, вот так это выглядит.
http://git.altlinux.org/tasks/264125/logs/events.2.1.log

$ file VMMR0.r0 VBoxDDR0.r0
VMMR0.r0:    ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
dynamically linked, stripped
VBoxDDR0.r0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
dynamically linked, stripped

$ ldd VMMR0.r0 VBoxDDR0.r0
VMMR0.r0:
        statically linked
VBoxDDR0.r0:
        statically linked

sin at xpi tmp $ nm -D VMMR0.r0 | grep -v ' U ' | wc
   1287    3861   53297
sin at xpi tmp $ nm -D VMMR0.r0 | grep -v ' U ' | head
0000000000082fa0 T APICGetTpr
0000000000082f50 T APICSetTpr
0000000000084550 T APICUpdatePendingInterrupts
0000000000159fe0 T ASMCpuIdExSlow
0000000000159ef0 T ASMGetXcr0
0000000000159f1d T ASMMemFirstMismatchingU8
0000000000159f10 T ASMMemFirstNonZero
0000000000159ed0 T ASMXRstor
0000000000085e20 T CPUMDeactivateGuestDebugState
0000000000085ea0 T CPUMGetGuestCodeBits
sin at xpi tmp $ nm -D VMMR0.r0 | grep -v ' U ' | tail
0000000000121010 T _Z17pgmR0GstRealEnterP6GVMCPUy
0000000000123790 T _Z18pgmR0Gst32BitEnterP6GVMCPUy
00000000001237c0 T _Z18pgmR0GstAMD64EnterP6GVMCPUy
0000000000158f60 T _Z19IntNetR0IfAbortWaitjP13SUPDRVSESSIONb
0000000000055810 T _Z20GMMR0QueryStatisticsP8GMMSTATSP13SUPDRVSESSIONP3GVM
0000000000055b30 T _Z20GMMR0ResetStatisticsPK8GMMSTATSP13SUPDRVSESSIONP3GVM
000000000012f1d0 T
_Z37pgmR0BthPAEPAETrap0eHandlerGuestFaultP6GVMCPUP15PGMPTWALKGSTPAEy
000000000012f180 T
_Z39pgmR0BthPAE32BitTrap0eHandlerGuestFaultP6GVMCPUP17PGMPTWALKGST32BITy
000000000012f130 T
_Z41pgmR0Bth32Bit32BitTrap0eHandlerGuestFaultP6GVMCPUP17PGMPTWALKGST32BITy
000000000012f550 T
_Z41pgmR0BthAMD64AMD64Trap0eHandlerGuestFaultP6GVMCPUP17PGMPTWALKGSTAMD64y

sin at xpi tmp $ nm -D VBoxDDR0.r0| grep -v ' U ' | wc
     24      72     931
sin at xpi tmp $ nm -D VBoxDDR0.r0| grep -v ' U ' | head
000000000001d360 T drvIntNetUp_AllocBuf
000000000001d2f0 T drvIntNetUp_BeginXmit
000000000001d890 T drvIntNetUp_EndXmit
000000000001d710 T drvIntNetUp_FreeBuf
000000000001d770 T drvIntNetUp_SendBuf
000000000001d8a0 T drvIntNetUp_SetPromiscuousMode
0000000000024a40 T drvNetShaperUp_AllocBuf
0000000000024a00 T drvNetShaperUp_BeginXmit
0000000000024b50 T drvNetShaperUp_EndXmit
0000000000024b10 T drvNetShaperUp_FreeBuf
sin at xpi tmp $ nm -D VBoxDDR0.r0| grep -v ' U ' | tail
000000000000c950 T flashMMIOWrite
000000000000a1c0 T ModuleInit
000000000000a1d0 T ModuleTerm
0000000000025ca0 T ohciMmioWrite
000000000001bb60 T ox958IrqReq
0000000000013a10 T rtcIOPortRead
0000000000013cb0 T rtcIOPortWrite
000000000001b560 T serialIrqReq
000000000000fe70 T vgaLbfAccessPfHandler
000000000000fe90 T vgaLFBAccessHandler

Это символы для модулей в виртуальном пространстве ядра. Связующий клей такой.


-- 
Sin (Sinelnikov Evgeny)


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