QuarkSocPkg/MemoryInit: Remove use of memset()/memcpy()

Map the use of memset() and memcpy() to the BaseMemoryLib
functions ZeroMem(), SetMem(), and CopyMem().  This fixes
GCC build issues with this module.

With the remap of the functions, the [BuildOptions] MSFT
CC_FLAGS to enable /Oi can also be removed, so the MSFT
and GCC builds behave the same.

Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Kelly Steele <kelly.steele@intel.com>
This commit is contained in:
Michael D Kinney 2017-08-09 12:19:46 -07:00
parent 95cc9a51e1
commit 8e8cc68818
2 changed files with 8 additions and 8 deletions

View File

@ -1,7 +1,7 @@
## @file
# This is the Memory Initialization Driver for Quark
#
# Copyright (c) 2013-2015 Intel Corporation.
# Copyright (c) 2013-2017 Intel Corporation.
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@ -74,7 +74,3 @@
[Depex]
TRUE
[BuildOptions]
# /Oi option to use the intrinsic memset function in source code.
MSFT:*_*_*_CC_FLAGS = /Oi

View File

@ -1,6 +1,6 @@
/************************************************************************
*
* Copyright (c) 2013-2015 Intel Corporation.
* Copyright (c) 2013-2017 Intel Corporation.
*
* This program and the accompanying materials
* are licensed and made available under the terms and conditions of the BSD License
@ -90,8 +90,12 @@ void restore_timings(MRCParams_t *mrc_params);
void default_timings(MRCParams_t *mrc_params);
#ifndef SIM
void *memset(void *d, int c, size_t n);
void *memcpy(void *d, const void *s, size_t n);
//
// Map memset() and memcpy() to BaseMemoryLib functions
//
#include <Library/BaseMemoryLib.h>
#define memset(d,c,n) ((c) == 0) ? ZeroMem ((d), (n)) : SetMem ((d), (n), (c))
#define memcpy(d,s,n) CopyMem ((d), (s), (n))
#endif
#endif // _MEMINIT_UTILS_H_