MdeModulePkg/RegularExpressionDxe: Make oniguruma a submodule in edk2.
Use submodule way to access oniguruma. And upgrade oniguruma version from v6.9.3 to v6.9.4_mark1. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2073 Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
a5d8a39963
commit
48b6c60cc6
@ -0,0 +1,48 @@
|
||||
/** @file
|
||||
|
||||
Provide intrinsics within Oniguruma
|
||||
|
||||
(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
|
||||
Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
|
||||
//
|
||||
// From CryptoPkg/IntrinsicLib
|
||||
//
|
||||
|
||||
/* Copies bytes between buffers */
|
||||
#pragma function(memcpy)
|
||||
void * memcpy (void *dest, const void *src, unsigned int count)
|
||||
{
|
||||
return CopyMem (dest, src, (UINTN)count);
|
||||
}
|
||||
|
||||
/* Sets buffers to a specified character */
|
||||
#pragma function(memset)
|
||||
void * memset (void *dest, char ch, unsigned int count)
|
||||
{
|
||||
//
|
||||
// NOTE: Here we use one base implementation for memset, instead of the direct
|
||||
// optimized SetMem() wrapper. Because the IntrinsicLib has to be built
|
||||
// without whole program optimization option, and there will be some
|
||||
// potential register usage errors when calling other optimized codes.
|
||||
//
|
||||
|
||||
//
|
||||
// Declare the local variables that actually move the data elements as
|
||||
// volatile to prevent the optimizer from replacing this function with
|
||||
// the intrinsic memset()
|
||||
//
|
||||
volatile UINT8 *Pointer;
|
||||
|
||||
Pointer = (UINT8 *)dest;
|
||||
while (count-- != 0) {
|
||||
*(Pointer++) = ch;
|
||||
}
|
||||
|
||||
return dest;
|
||||
}
|
Reference in New Issue
Block a user