Andrew Fish [mailto:[email protected]]  wrote:


Sent: Wednesday, November 12, 2014 01:47 PM
To: [email protected]
Subject: Re: [edk2] [PATCH 0/7] build fixes for gcc and VS2010

 

 

On Nov 12, 2014, at 11:31 AM, Scott Duplichan <[email protected] 
<mailto:[email protected]> > wrote:

 

Laszlo Ersek [ <mailto:[email protected]> mailto:[email protected]] wrote:

]This patchset includes
]- three OVMF build fixes from Scott for VS2010 / NOOPT / Ia32,
]- two patches suggested by Scott, but reimplemented by yours truly, for
]  the same,
]- two CryptoPkg patches from myself, for recently introduced gcc build
]  failures.
]
]Scott, can you please test your build with these? (Note that you'll need
]your own Xen-related fixes for the time being, because I didn't pick
]those up.)

Hello Laszlo,

The Visual Studio 32-bit NOOPT build is generating a __aulldiv call for
line 982 of FwBlockService.c:
     Status = QemuFlashEraseBlock ((EFI_LBA) Offset / BlockSize);



 

The BaseLib has math functions that are used to replace the intrinsics that 
VC++ would generate for IA32.

 

So in this case I think we want:

 

Status = QemuFlashEraseBlock (DivU64x32 (Offset, (UINT32)BlockSize);

 

 

or alternatively:

      Status = QemuFlashEraseBlock ((EFI_LBA) (Offset / BlockSize));

.. which works because Offset is type UINTN, which is 32-bit in the

failing case of IA32 build.

 

https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Include/Library/BaseLib.h

 

Thanks,

 

Andrew Fish





Thanks,
Scott



 

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to