Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: c46bc0ea98b4a8483c970e2282ea46891ea94f57
      
https://github.com/tianocore/edk2/commit/c46bc0ea98b4a8483c970e2282ea46891ea94f57
  Author: Michael Kubacki <michael.kuba...@microsoft.com>
  Date:   2025-02-28 (Fri, 28 Feb 2025)

  Changed paths:
    M MdePkg/Library/BaseMemoryLib/MemLibGeneric.c

  Log Message:
  -----------
  MdePkg/BaseMemoryLib: Prevent potential VS2022 linker failure

After updating between various VS2022 versions such as 17.4 to
17.5, , linker failures began to appear in several modules because
`memset` is an unresolved symbol.

The following functions in BaseMemoryLib/MemLibGeneric.c have their
loop pattern replaced with the `memset` intrinsic function:

- `InternalMemSetMem16()`
- `InternalMemSetMem32()`
- `InternalMemSetMem64()`

An example of an error related to `InternalMemSetMem64()` in
VariableSmmRuntimeDxe is shown below:

```
INFO - BaseMemoryLib.lib(MemLibGeneric.obj) : error LNK2001:
         unresolved external symbol memset
INFO - <...>\VariableSmmRuntimeDxe.dll : fatal error LNK1120:
         1 unresolved externals
```

This was reproduced in several environments including:

- Public VM image:
  
https://github.com/actions/runner-images/blob/win22/20230226.1/images/win/Windows2022-Readme.md

- Locally when updating from 17.4.4 to 17.5.1

> Note: This image (with 17.4) does not have this issue
  
https://github.com/actions/runner-images/blob/win22/20230219.1/images/win/Windows2022-Readme.md

This change updates the type cast for the destination buffer to be
a pointer to `volatile` data to prevent this optimization with a
relatively minimum delta to prior implementation.

Signed-off-by: Michael Kubacki <michael.kuba...@microsoft.com>


  Commit: 29f02d0161bc5d10a6e3b2cfc4d10799644964a5
      
https://github.com/tianocore/edk2/commit/29f02d0161bc5d10a6e3b2cfc4d10799644964a5
  Author: Michael Kubacki <michael.kuba...@microsoft.com>
  Date:   2025-02-28 (Fri, 28 Feb 2025)

  Changed paths:
    M MdeModulePkg/Universal/HiiDatabaseDxe/Image.c

  Log Message:
  -----------
  MdeModulePkg/HiiDatabaseDxe: Prevent linker error

Prevent an issue where `memcpy()` instrinsic is being used after
recent MSVC linker update in windows-2022 VM image from 14.31.31103
to 14.32.31326.

Signed-off-by: Michael Kubacki <michael.kuba...@microsoft.com>


Compare: https://github.com/tianocore/edk2/compare/f79218f4dd64...29f02d0161bc

To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to