BufferOverflowK.lib: unresolved external symbol __guard_fids_table

  • Thread starter Thread starter Yurii Cherkasov
  • Start date Start date
Y

Yurii Cherkasov

Guest
I'm compiling a huge open-source project (Actually Virtualbox 6.0.4 Open Source Edition)
https://www.virtualbox.org/browser/vbox/trunk
and getting stuck with the following error (formatted for readability):

C:/MSVS/10.0/VC/bin/link.exe’
-nologo’
-machine:x86
-Ignore:4197
-Driver
-Subsystem:NATIVE
-Incremental:NO
-Align:4096
-MapInfo:Exports
-NoD
-Release
-Debug
-Opt:Ref
-Opt:Icf
-Version:600.4
-Stub:winstub.com'
-IntegrityCheck
/Entry:DriverEntry@8
/OUT:VBoxWddm.sys
/MAPINFO:EXPORTS
/INCREMENTAL:NO
/MAP:VBoxWddm.map
/LIBPATH:C:/WinDDK/7600.16385.1/lib/wlh/i386 /LIBPATH:C:/WinDDK/8.1.1/Lib/win8/km/x86
@VBoxWddm.rsp

Creating library VBoxWddm.lib and object VBoxWddm.exp
BufferOverflowK.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_fids_table
BufferOverflowK.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_fids_count
BufferOverflowK.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_flags
VBoxWddm.sys : fatal error LNK1120: 3 unresolved externals

__guard_fids_table is a part of Microsoft anti-malware Control Flow Guard API, introduced in Windows 8.1. As far as I know, it requires Visual C++ version 14.0 (which is MSVS 2015 Update 3), however, it's still lack of official documentation of this API, so I'm not 100% sure.

Also, there's literally no official documentation how to build Virtualbox 6.*, so there I'm also not sure, is that a bug of their build system, or some additional configuration required, or different build toolchain required.

Visual C++ 2010 is still officially supported compiler for Virtualbox OSE project, because of massive backward compatibility of COM interfaces, all my attempts to migrate at least to 2013 failed. I suspect that VC++ 10.0 is a wrong compiler for this piece of project, but it's again just a guess. I'll appreciate any directions of further investigating how to solve the problem

Continue reading...
 
Back
Top