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:
Shenglei Zhang
2019-12-27 14:28:20 +08:00
committed by mergify[bot]
parent a5d8a39963
commit 48b6c60cc6
52 changed files with 244 additions and 75749 deletions

View File

@ -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;
}