Structures should not be directly assigned in EDK II code, since this leads to different behaviours on various compilers.
Instead, use ZeroMem to zero out the structures. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> --- OvmfPkg/VirtioScsiDxe/VirtioScsi.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/OvmfPkg/VirtioScsiDxe/VirtioScsi.c b/OvmfPkg/VirtioScsiDxe/VirtioScsi.c index 66f6d31..e58dd80 100644 --- a/OvmfPkg/VirtioScsiDxe/VirtioScsi.c +++ b/OvmfPkg/VirtioScsiDxe/VirtioScsi.c @@ -413,19 +413,8 @@ VirtioScsiPassThru ( volatile VIRTIO_SCSI_RESP Response; DESC_INDICES Indices; - // - // Zero-initialization of Request & Response with "= { 0 };" doesn't build - // with gcc-4.4: "undefined reference to `memset'". Direct SetMem() is not - // allowed as it would cast away the volatile qualifier. Work it around. - // - union { - VIRTIO_SCSI_REQ Request; - VIRTIO_SCSI_RESP Response; - } Zero; - - SetMem (&Zero, sizeof Zero, 0x00); - Request = Zero.Request; - Response = Zero.Response; + ZeroMem ((VOID*) &Request, sizeof (Request)); + ZeroMem ((VOID*) &Response, sizeof (Response)); Dev = VIRTIO_SCSI_FROM_PASS_THRU (This); CopyMem (&TargetValue, Target, sizeof TargetValue); -- 1.7.11.msysgit.0 ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel