From: Nickle Wang Date: Fri, 21 Apr 2023 06:48:30 +0000 (+0800) Subject: MdeModulePkg/RegularExpressionDxe: Fix Arm build error X-Git-Tag: edk2-stable202305~93 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=ecbcff0f4935395f66ecc9e9ac76b804ecdec2e8;p=ovmf.git MdeModulePkg/RegularExpressionDxe: Fix Arm build error Arm CI build error: - ArmPkg/Library/CompilerIntrinsicsLib/memset.c:39:1: warning: type of ‘memset’ does not match original declaration [-Wlto-type-mismatch] MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c:123:1: note: type ‘char’ should match type ‘int’ - multiple definition of `memcpy'; OnigurumaUefiPort.obj (symbol from plugin):(.text+0x0): first defined here Fix: - Update memset() implementation to match memset() definition in ArmPkg/Library/CompilerIntrinsicsLib. - memcpy() is supported by ArmPkg/Library/CompilerIntrinsicsLib. Exclude it in OnigurumaUefiPort.c. Signed-off-by: Nickle Wang Cc: Jian J Wang Cc: Liming Gao Cc: Michael D Kinney Cc: Nick Ramirez Reviewed-by: Liming Gao --- diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c index 6661c67f97..0d8984dde0 100644 --- a/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c +++ b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c @@ -4,6 +4,7 @@ (C) Copyright 2014-2021 Hewlett Packard Enterprise Development LP
Copyright (c) 2020, Intel Corporation. All rights reserved.
+ Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -109,6 +110,7 @@ realloc ( return NULL; } +#if !defined (MDE_CPU_ARM) void * memcpy ( void *dest, @@ -119,14 +121,16 @@ memcpy ( return CopyMem (dest, src, (UINTN)count); } +#endif + void * memset ( void *dest, - char ch, + int ch, unsigned int count ) { - return SetMem (dest, count, ch); + return SetMem (dest, (UINTN)count, (UINT8)ch); } void diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h index 248109b0c9..8931f8ec50 100644 --- a/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h +++ b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h @@ -4,7 +4,7 @@ (C) Copyright 2014-2021 Hewlett Packard Enterprise Development LP
Copyright (c) 2020, Intel Corporation. All rights reserved.
- Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -107,6 +107,7 @@ realloc ( size_t size ); +#if !defined (MDE_CPU_ARM) void * memcpy ( void *dest, @@ -114,10 +115,12 @@ memcpy ( unsigned int count ); +#endif + void * memset ( void *dest, - char ch, + int ch, unsigned int count );