]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/RegularExpressionDxe: Optimize the code infrastructure
authorShenglei Zhang <shenglei.zhang@intel.com>
Sat, 9 May 2020 06:33:36 +0000 (14:33 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Thu, 14 May 2020 14:38:54 +0000 (14:38 +0000)
OnigurumaIntrinsics.c is now not used. So the implement of function
'memcpy' is now not., which causes build failure with CLANG9 and
XCODE. I remove OnigurumaIntrinsics.c and move the necessary function
implement to OnigurumaUefiPort.c/h.

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaIntrinsics.c [deleted file]
MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c
MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h
MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.inf

diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaIntrinsics.c b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaIntrinsics.c
deleted file mode 100644 (file)
index 536c7e0..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/** @file\r
-\r
-  Provide intrinsics within Oniguruma\r
-\r
-  (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
-  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>\r
-\r
-  SPDX-License-Identifier: BSD-2-Clause-Patent\r
-**/\r
-\r
-#include <Library/BaseMemoryLib.h>\r
-\r
-//\r
-// From CryptoPkg/IntrinsicLib\r
-//\r
-\r
-/* Copies bytes between buffers */\r
-#pragma function(memcpy)\r
-void * memcpy (void *dest, const void *src, unsigned int count)\r
-{\r
-  return CopyMem (dest, src, (UINTN)count);\r
-}\r
-\r
-/* Sets buffers to a specified character */\r
-#pragma function(memset)\r
-void * memset (void *dest, char ch, unsigned int count)\r
-{\r
-  //\r
-  // NOTE: Here we use one base implementation for memset, instead of the direct\r
-  //       optimized SetMem() wrapper. Because the IntrinsicLib has to be built\r
-  //       without whole program optimization option, and there will be some\r
-  //       potential register usage errors when calling other optimized codes.\r
-  //\r
-\r
-  //\r
-  // Declare the local variables that actually move the data elements as\r
-  // volatile to prevent the optimizer from replacing this function with\r
-  // the intrinsic memset()\r
-  //\r
-  volatile UINT8  *Pointer;\r
-\r
-  Pointer = (UINT8 *)dest;\r
-  while (count-- != 0) {\r
-    *(Pointer++) = ch;\r
-  }\r
-\r
-  return dest;\r
-}\r
index b1604b378af30f35130d19ae2cf41b27cefeb445..2b2b0d420d896b4b130ee8a0fb0d8305f6663682 100644 (file)
@@ -86,3 +86,13 @@ void * realloc (void *ptr, size_t size)
   return NULL;\r
 }\r
 \r
+void* memcpy (void *dest, const void *src, unsigned int count)\r
+{\r
+  return CopyMem (dest, src, (UINTN)count);\r
+}\r
+\r
+void* memset (void *dest, char ch, unsigned int count)\r
+{\r
+  return SetMem (dest, ch, count);\r
+}\r
+\r
index 1a0b2daf473d6acbd1989958c116b01b1e3df0b9..20b75c336131f9342818f1a979469b2cfd84df9e 100644 (file)
@@ -96,6 +96,8 @@ int EFIAPI sprintf_s (char *str, size_t sizeOfBuffer, char const *fmt, ...);
 int strlen(const char* str);\r
 void* malloc(size_t size);\r
 void* realloc(void *ptr, size_t size);\r
+void* memcpy (void *dest, const void *src, unsigned int count);\r
+void* memset (void *dest, char ch, unsigned int count);\r
 \r
 #define exit(n) ASSERT(FALSE);\r
 \r
index da63aa6eb4181173d00aa48782e69fcb0f8fa58e..84489c29427981a4f99c57320d4612e514c72937 100644 (file)
@@ -20,7 +20,6 @@
   RegularExpressionDxe.h\r
   OnigurumaUefiPort.h\r
   OnigurumaUefiPort.c\r
-  OnigurumaIntrinsics.c | MSFT\r
 \r
 # Wrapper header files start #\r
   stdio.h\r