From: "Gerd Hoffmann" <kraxel@redhat.com>
To: devel@edk2.groups.io
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>,
Erdem Aktas <erdemaktas@google.com>,
Maciej Rabeda <maciej.rabeda@linux.intel.com>,
Abner Chang <abner.chang@hpe.com>,
Peter Grehan <grehan@freebsd.org>,
Gerd Hoffmann <kraxel@redhat.com>,
Yuwei Chen <yuwei.chen@intel.com>,
Jiaxin Wu <jiaxin.wu@intel.com>, Siyuan Fu <siyuan.fu@intel.com>,
Sean Brogan <sean.brogan@microsoft.com>,
Anthony Perard <anthony.perard@citrix.com>,
Benjamin You <benjamin.you@intel.com>,
Guomin Jiang <guomin.jiang@intel.com>,
Leif Lindholm <quic_llindhol@quicinc.com>,
Rebecca Cran <rebecca@bsdio.com>, Wei6 Xu <wei6.xu@intel.com>,
Nickle Wang <nickle.wang@hpe.com>,
Xiaoyu Lu <xiaoyu1.lu@intel.com>,
Zhichao Gao <zhichao.gao@intel.com>,
kilian_kegel@hotmail.com, Liming Gao <gaoliming@byosoft.com.cn>,
Jordan Justen <jordan.l.justen@intel.com>,
Sami Mujawar <Sami.Mujawar@arm.com>,
Andrew Fish <afish@apple.com>,
Sami Mujawar <sami.mujawar@arm.com>,
Oliver Steffen <osteffen@redhat.com>,
Alexei Fedorov <Alexei.Fedorov@arm.com>,
Guo Dong <guo.dong@intel.com>,
Brijesh Singh <brijesh.singh@amd.com>,
Jian J Wang <jian.j.wang@intel.com>,
Supreeth Venkatesh <supreeth.venkatesh@arm.com>,
Min Xu <min.m.xu@intel.com>,
Bret Barkelew <Bret.Barkelew@microsoft.com>,
Maurice Ma <maurice.ma@intel.com>,
Pawel Polawski <ppolawsk@redhat.com>,
Daniel Schaefer <daniel.schaefer@hpe.com>,
Bob Feng <bob.c.feng@intel.com>,
James Bottomley <jejb@linux.ibm.com>,
Jiewen Yao <jiewen.yao@intel.com>, Ray Ni <ray.ni@intel.com>,
Julien Grall <julien@xen.org>,
Michael D Kinney <michael.d.kinney@intel.com>,
Sebastien Boeuf <sebastien.boeuf@intel.com>,
Zhiguang Liu <zhiguang.liu@intel.com>,
Tom Lendacky <thomas.lendacky@amd.com>
Subject: [PATCH v3 00/10] consolidate compiler intrinsics
Date: Fri, 29 Apr 2022 12:20:09 +0200 [thread overview]
Message-ID: <20220429102019.1375348-1-kraxel@redhat.com> (raw)
This is an attept to start cleaning up the messy compiler intrinsics
situation. Today we don't have a core intrinsics library, resulting
in everybody creating their own. ArmPkg has one, CryptoPkg has one.
I'm sure there are many more.
This doesn't make sense. Given we can't avoid compiler intrinsics (as
proven by the existence of those libraries) we should better have them
as core library so we have to maintain a single version only.
Given we already have BaseIoLibIntrinsic in MdePkg we can place the
compiler intrinsics there too. This little patch series does just that:
It moves over the existing ArmPkg intrinsics, fixes them to build on
non-arm too, and adds additional bits from the CryptoPkg intrinsics.
v3 changes:
- rebase to latest master, solve conflicts.
v2 changes:
- rebase to latest master.
- add review tags
- add patch moving size_t to header file (patch #3).
- add patches copying over more intrinsics from
edk2-libc repo (patches #5 -> #10).
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3649
take care,
Gerd
Gerd Hoffmann (10):
MdePkg: promote CompilerIntrinsicsLib from ArmPkg to MdePkg
MdePkg/CompilerIntrinsicsLib: fix msft sources for x64
MdePkg/CompilerIntrinsicsLib: move size_t typedef to header file
MdePkg/CompilerIntrinsicsLib: move ia32 intrinsics and strcmp
MdePkg/CompilerIntrinsicsLib: copy over intrinsics from edk2-libc repo
MdePkg/CompilerIntrinsicsLib: add SPDX License tags
MdePkg/CompilerIntrinsicsLib: drop include from Gcc.c
MdePkg/CompilerIntrinsicsLib: drop debug logging from Gcc.c
MdePkg/CompilerIntrinsicsLib: remove duplicate functions from Gcc.c
MdePkg/CompilerIntrinsicsLib: add new sources to
CompilerIntrinsicsLib.inf
ArmVirtPkg/ArmVirt.dsc.inc | 4 +-
.../UnitTestFrameworkPkgTarget.dsc.inc | 2 +-
ArmPkg/ArmPkg.dsc | 3 +-
.../ArmCrashDumpDxe/ArmCrashDumpDxe.dsc | 2 +-
ArmPlatformPkg/ArmPlatformPkg.dsc | 2 +-
CryptoPkg/CryptoPkg.dsc | 5 +-
DynamicTablesPkg/DynamicTablesPkg.dsc | 2 +-
EmbeddedPkg/EmbeddedPkg.dsc | 2 +-
EmulatorPkg/EmulatorPkg.dsc | 2 +-
FatPkg/FatPkg.dsc | 2 +-
FmpDevicePkg/FmpDevicePkg.dsc | 4 +-
MdeModulePkg/MdeModulePkg.dsc | 2 +-
MdePkg/MdePkg.dsc | 1 +
NetworkPkg/NetworkPkg.dsc | 4 +-
OvmfPkg/AmdSev/AmdSevX64.dsc | 2 +-
OvmfPkg/Bhyve/BhyveX64.dsc | 2 +-
OvmfPkg/CloudHv/CloudHvX64.dsc | 2 +-
OvmfPkg/IntelTdx/IntelTdxX64.dsc | 2 +-
OvmfPkg/Microvm/MicrovmX64.dsc | 2 +-
OvmfPkg/OvmfPkgIa32.dsc | 2 +-
OvmfPkg/OvmfPkgIa32X64.dsc | 2 +-
OvmfPkg/OvmfPkgX64.dsc | 2 +-
OvmfPkg/OvmfXen.dsc | 2 +-
RedfishPkg/RedfishPkg.dsc | 2 +-
SecurityPkg/SecurityPkg.dsc | 12 +-
ShellPkg/ShellPkg.dsc | 2 +-
SignedCapsulePkg/SignedCapsulePkg.dsc | 14 +-
StandaloneMmPkg/StandaloneMmPkg.dsc | 2 +-
UefiPayloadPkg/UefiPayloadPkg.dsc | 2 +-
.../Library/IntrinsicLib/IntrinsicLib.inf | 69 ------
.../CompilerIntrinsicsLib.inf | 33 ++-
{ArmPkg => MdePkg}/Include/AsmMacroIoLib.h | 0
.../Library/CompilerIntrinsicsLib/types_ms.h | 14 ++
CryptoPkg/Library/IntrinsicLib/CopyMem.c | 47 ----
.../Library/IntrinsicLib/MemoryIntrinsics.c | 74 ------
.../Library/CompilerIntrinsicsLib/Ia32/Gcc.c | 215 ++++++++++++++++++
.../CompilerIntrinsicsLib}/Ia32/MathFtol.c | 0
.../Ia32/MathLShiftS64.c | 0
.../Ia32/MathRShiftU64.c | 0
.../CompilerIntrinsicsLib/Ia32/lldiv.c | 100 ++++++++
.../CompilerIntrinsicsLib/Ia32/lldvrm.c | 104 +++++++++
.../CompilerIntrinsicsLib/Ia32/llmul.c | 84 +++++++
.../CompilerIntrinsicsLib/Ia32/llrem.c | 97 ++++++++
.../CompilerIntrinsicsLib/Ia32/llshl.c | 10 +-
.../CompilerIntrinsicsLib/Ia32/llshr.c | 63 +++++
.../CompilerIntrinsicsLib/Ia32/ulldiv.c | 91 ++++++++
.../CompilerIntrinsicsLib/Ia32/ulldvrm.c | 104 +++++++++
.../CompilerIntrinsicsLib/Ia32/ullrem.c | 97 ++++++++
.../CompilerIntrinsicsLib/Ia32/ullshr.c | 10 +-
.../Library/CompilerIntrinsicsLib/memcmp_ms.c | 2 +-
.../Library/CompilerIntrinsicsLib/memcpy.c | 0
.../Library/CompilerIntrinsicsLib/memcpy_ms.c | 6 +-
.../CompilerIntrinsicsLib/memmove_ms.c | 6 +-
.../Library/CompilerIntrinsicsLib/memset.c | 0
.../Library/CompilerIntrinsicsLib/memset_ms.c | 6 +-
MdePkg/Library/CompilerIntrinsicsLib/strcmp.c | 33 +++
ArmPkg/ArmPkg.ci.yaml | 1 -
.../DEBUG_XCODE31/CompilerIntrinsicsLib.lib | Bin 36072 -> 36072 bytes
.../DEBUG_XCODE32/CompilerIntrinsicsLib.lib | Bin 36072 -> 36072 bytes
.../Library/IntrinsicLib/BaseIntrinsicLib.uni | 16 --
.../CompilerIntrinsicsLib/AArch64/Atomics.S | 0
.../CompilerIntrinsicsLib/Arm/ashldi3.S | 0
.../CompilerIntrinsicsLib/Arm/ashrdi3.S | 0
.../CompilerIntrinsicsLib/Arm/clzsi2.S | 0
.../CompilerIntrinsicsLib/Arm/ctzsi2.S | 0
.../Library/CompilerIntrinsicsLib/Arm/div.S | 0
.../Library/CompilerIntrinsicsLib/Arm/div.asm | 0
.../CompilerIntrinsicsLib/Arm/divdi3.S | 0
.../CompilerIntrinsicsLib/Arm/divsi3.S | 0
.../Library/CompilerIntrinsicsLib/Arm/lasr.S | 0
.../CompilerIntrinsicsLib/Arm/lasr.asm | 0
.../CompilerIntrinsicsLib/Arm/ldivmod.S | 0
.../CompilerIntrinsicsLib/Arm/ldivmod.asm | 0
.../Library/CompilerIntrinsicsLib/Arm/llsl.S | 0
.../CompilerIntrinsicsLib/Arm/llsl.asm | 0
.../Library/CompilerIntrinsicsLib/Arm/llsr.S | 0
.../CompilerIntrinsicsLib/Arm/llsr.asm | 0
.../CompilerIntrinsicsLib/Arm/lshrdi3.S | 0
.../CompilerIntrinsicsLib/Arm/memmove.S | 0
.../CompilerIntrinsicsLib/Arm/memmove.asm | 0
.../CompilerIntrinsicsLib/Arm/moddi3.S | 0
.../CompilerIntrinsicsLib/Arm/modsi3.S | 0
.../CompilerIntrinsicsLib/Arm/muldi3.S | 0
.../Library/CompilerIntrinsicsLib/Arm/mullu.S | 0
.../CompilerIntrinsicsLib/Arm/mullu.asm | 0
.../CompilerIntrinsicsLib/Arm/sourcery.S | 0
.../CompilerIntrinsicsLib/Arm/switch.asm | 0
.../CompilerIntrinsicsLib/Arm/switch16.S | 0
.../CompilerIntrinsicsLib/Arm/switch32.S | 0
.../CompilerIntrinsicsLib/Arm/switch8.S | 0
.../CompilerIntrinsicsLib/Arm/switchu8.S | 0
.../CompilerIntrinsicsLib/Arm/ucmpdi2.S | 0
.../CompilerIntrinsicsLib/Arm/udivdi3.S | 0
.../CompilerIntrinsicsLib/Arm/udivmoddi4.S | 0
.../CompilerIntrinsicsLib/Arm/udivsi3.S | 0
.../Library/CompilerIntrinsicsLib/Arm/uldiv.S | 0
.../CompilerIntrinsicsLib/Arm/uldiv.asm | 0
.../CompilerIntrinsicsLib/Arm/umoddi3.S | 0
.../CompilerIntrinsicsLib/Arm/umodsi3.S | 0
.../Library/CompilerIntrinsicsLib/Arm/uread.S | 0
.../CompilerIntrinsicsLib/Arm/uread.asm | 0
.../CompilerIntrinsicsLib/Arm/uwrite.S | 0
.../CompilerIntrinsicsLib/Arm/uwrite.asm | 0
.../Ia32/MathLShiftS64.nasm | 0
.../CompilerIntrinsicsLib}/Ia32/MathLlmul.asm | 0
.../CompilerIntrinsicsLib}/Ia32/MathLlshr.asm | 0
.../Ia32/MathRShiftU64.nasm | 0
.../CompilerIntrinsicsLib/Ia32/ashrdi3.S | 68 ++++++
.../CompilerIntrinsicsLib/Ia32/mulll.S | 79 +++++++
.../CompilerIntrinsicsLib/Ia32/shldi3.S | 64 ++++++
.../CompilerIntrinsicsLib/Ia32/udivdi3.S | 85 +++++++
.../CompilerIntrinsicsLib/Ia32/umoddi3.S | 91 ++++++++
MdePkg/MdePkg.ci.yaml | 1 +
113 files changed, 1488 insertions(+), 271 deletions(-)
delete mode 100644 CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf (68%)
rename {ArmPkg => MdePkg}/Include/AsmMacroIoLib.h (100%)
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/types_ms.h
delete mode 100644 CryptoPkg/Library/IntrinsicLib/CopyMem.c
delete mode 100644 CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/Gcc.c
rename {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathFtol.c (100%)
copy {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathLShiftS64.c (100%)
copy {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathRShiftU64.c (100%)
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/lldiv.c
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/lldvrm.c
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/llmul.c
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/llrem.c
rename CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.c => MdePkg/Library/CompilerIntrinsicsLib/Ia32/llshl.c (61%)
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/llshr.c
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/ulldiv.c
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/ulldvrm.c
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/ullrem.c
rename CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.c => MdePkg/Library/CompilerIntrinsicsLib/Ia32/ullshr.c (62%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcmp_ms.c (89%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcpy.c (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcpy_ms.c (82%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memmove_ms.c (83%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memset.c (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memset_ms.c (80%)
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/strcmp.c
delete mode 100644 CryptoPkg/Library/IntrinsicLib/BaseIntrinsicLib.uni
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/AArch64/Atomics.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ashldi3.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/clzsi2.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/div.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/div.asm (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/divdi3.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/divsi3.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lasr.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lasr.asm (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ldivmod.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ldivmod.asm (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsl.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsl.asm (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsr.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsr.asm (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/memmove.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/memmove.asm (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/moddi3.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/modsi3.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/muldi3.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/mullu.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/mullu.asm (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/sourcery.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch.asm (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch16.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch32.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch8.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switchu8.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivdi3.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivsi3.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uldiv.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uldiv.asm (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/umoddi3.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/umodsi3.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uread.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uread.asm (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uwrite.S (100%)
rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uwrite.asm (100%)
rename {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathLShiftS64.nasm (100%)
rename {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathLlmul.asm (100%)
rename {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathLlshr.asm (100%)
rename {CryptoPkg/Library/IntrinsicLib => MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathRShiftU64.nasm (100%)
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/ashrdi3.S
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/mulll.S
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/shldi3.S
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/udivdi3.S
create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/Ia32/umoddi3.S
--
2.35.1
next reply other threads:[~2022-04-29 10:20 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-29 10:20 Gerd Hoffmann [this message]
2022-04-29 10:20 ` [PATCH v3 01/10] MdePkg: promote CompilerIntrinsicsLib from ArmPkg to MdePkg Gerd Hoffmann
2022-04-29 10:20 ` [PATCH v3 02/10] MdePkg/CompilerIntrinsicsLib: fix msft sources for x64 Gerd Hoffmann
2022-04-29 10:20 ` [PATCH v3 03/10] MdePkg/CompilerIntrinsicsLib: move size_t typedef to header file Gerd Hoffmann
2022-04-29 10:20 ` [PATCH v3 04/10] MdePkg/CompilerIntrinsicsLib: move ia32 intrinsics and strcmp Gerd Hoffmann
2022-04-29 10:20 ` [PATCH v3 05/10] MdePkg/CompilerIntrinsicsLib: copy over intrinsics from edk2-libc repo Gerd Hoffmann
2022-05-05 9:50 ` Leif Lindholm
2022-05-05 10:23 ` Gerd Hoffmann
2022-05-05 12:10 ` Leif Lindholm
2022-05-06 7:22 ` [edk2-devel] " Gerd Hoffmann
2022-04-29 10:20 ` [PATCH v3 06/10] MdePkg/CompilerIntrinsicsLib: add SPDX License tags Gerd Hoffmann
2022-04-29 10:20 ` [PATCH v3 07/10] MdePkg/CompilerIntrinsicsLib: drop include from Gcc.c Gerd Hoffmann
2022-04-29 10:20 ` [PATCH v3 08/10] MdePkg/CompilerIntrinsicsLib: drop debug logging " Gerd Hoffmann
2022-04-29 10:20 ` [PATCH v3 09/10] MdePkg/CompilerIntrinsicsLib: remove duplicate functions " Gerd Hoffmann
2022-04-29 10:20 ` [PATCH v3 10/10] MdePkg/CompilerIntrinsicsLib: add new sources to CompilerIntrinsicsLib.inf Gerd Hoffmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220429102019.1375348-1-kraxel@redhat.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox