summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal/PrintDxe
diff options
context:
space:
mode:
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2009-05-30 23:49:35 +0000
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2009-05-30 23:49:35 +0000
commit504dcb0a4e04dd76db230cc55c4f95f7a911d127 (patch)
treea69b849656d6d5ef1ba907c423f735af562f5ed7 /MdeModulePkg/Universal/PrintDxe
parent2075236eefe532097caa04aa2606e2b7cda4e420 (diff)
downloadedk2-504dcb0a4e04dd76db230cc55c4f95f7a911d127.tar.gz
edk2-504dcb0a4e04dd76db230cc55c4f95f7a911d127.tar.bz2
edk2-504dcb0a4e04dd76db230cc55c4f95f7a911d127.zip
This checkin addresses the compatibility issue of passing arguments of type VA_LIST between components. The type VA_LIST is mapped onto the compiler specific implementation of varargs. As a result, modules build with different compilers may not use the same VA_LIST structure. The solution to this issue is to define a new type called BASE_LIST that is a compiler independent method of passing varargs between modules.
1) Update the Print2 Protocol to only use arguments of type BASE_LIST. Since this is a change to the protocol definition, the GUID has also been updated. 2) Update the implementation of DxePrintLibPrint2Protocol for the update definition of the Print2 Protocol. Since the PrintLib does contain APIs that use VA_LIST, this library must convert arguments of type VA_LIST to arguments of type BASE_LIST prior to calling the Print2 Protocol services. 3) Update the implementation of PrintDxe to match the updated Print2 Prootocol git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8405 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/PrintDxe')
-rw-r--r--MdeModulePkg/Universal/PrintDxe/Print.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/MdeModulePkg/Universal/PrintDxe/Print.c b/MdeModulePkg/Universal/PrintDxe/Print.c
index 2a617b917e..b97b1de84a 100644
--- a/MdeModulePkg/Universal/PrintDxe/Print.c
+++ b/MdeModulePkg/Universal/PrintDxe/Print.c
@@ -23,19 +23,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
EFI_HANDLE mPrintThunkHandle = NULL;
CONST EFI_PRINT2_PROTOCOL mPrint2Protocol = {
- UnicodeVSPrint,
+ UnicodeBSPrint,
UnicodeSPrint,
- UnicodeVSPrintAsciiFormat,
+ UnicodeBSPrintAsciiFormat,
UnicodeSPrintAsciiFormat,
UnicodeValueToString,
- AsciiVSPrint,
+ AsciiBSPrint,
AsciiSPrint,
- AsciiVSPrintUnicodeFormat,
+ AsciiBSPrintUnicodeFormat,
AsciiSPrintUnicodeFormat,
AsciiValueToString
};
-
/**
The user Entry Point for Print module.