diff options
author | mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-05-30 23:49:35 +0000 |
---|---|---|
committer | mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-05-30 23:49:35 +0000 |
commit | 504dcb0a4e04dd76db230cc55c4f95f7a911d127 (patch) | |
tree | a69b849656d6d5ef1ba907c423f735af562f5ed7 /MdeModulePkg/MdeModulePkg.dec | |
parent | 2075236eefe532097caa04aa2606e2b7cda4e420 (diff) | |
download | edk2-platforms-504dcb0a4e04dd76db230cc55c4f95f7a911d127.tar.xz |
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/MdeModulePkg.dec')
-rw-r--r-- | MdeModulePkg/MdeModulePkg.dec | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index d4905a8c9a..0c8de2b5ca 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -131,9 +131,9 @@ ## If developer need implement such functionality, they should use BasePeCoffLib.
gEfiLoadPeImageProtocolGuid = { 0x5CB5C776, 0x60D5, 0x45EE, { 0x88, 0x3C, 0x45, 0x27, 0x08, 0xCD, 0x74, 0x3F }}
- ## Print protocol defines six basic print functions to print the format unicode and ascii string.
+ ## Print protocol defines basic print functions to print the format unicode and ascii string.
## Include/Protocol/Print2.h
- gEfiPrint2ProtocolGuid = { 0x5bcc3dbc, 0x8c57, 0x450a, { 0xbb, 0x0c, 0xa1, 0xc0, 0xbd, 0xde, 0x48, 0x0c }}
+ gEfiPrint2ProtocolGuid = { 0xf05976ef, 0x83f1, 0x4f3d, { 0x86, 0x19, 0xf7, 0x59, 0x5d, 0x41, 0xe5, 0x38 } }
## This protocol defines the generic memory test interfaces in Dxe phase.
## Include/Protocol/GenericMemoryTest.h
|