The IScsiDxe module encounters a build error for IA32 arch using the latest version of VS2015:
IScsiDxe.lib(IScsiProto.obj) : error LNK2001: unresolved external symbol __allmul The cause is line 141 in file NetworkPkg\IScsiDxe\IScsiProto.c. The third parameter for gBS->SetTimer() function is of type UINT64, so the multiplication should use the MultU64x32() function now. Cc: Siyuan Fu <[email protected]> Cc: Jiaxin Wu <[email protected]> Cc: Liming Gao <[email protected]> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <[email protected]> --- NetworkPkg/IScsiDxe/IScsiProto.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/NetworkPkg/IScsiDxe/IScsiProto.c b/NetworkPkg/IScsiDxe/IScsiProto.c index c82290e..5092365 100644 --- a/NetworkPkg/IScsiDxe/IScsiProto.c +++ b/NetworkPkg/IScsiDxe/IScsiProto.c @@ -138,7 +138,11 @@ IScsiConnLogin ( // // Start the timer, and wait Timeout seconds to establish the TCP connection. // - Status = gBS->SetTimer (Conn->TimeoutEvent, TimerRelative, Timeout * TICKS_PER_MS); + Status = gBS->SetTimer ( + Conn->TimeoutEvent, + TimerRelative, + MultU64x32 (Timeout, TICKS_PER_MS) + ); if (EFI_ERROR (Status)) { return Status; } -- 1.9.5.msysgit.0 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

