diff --git a/MdePkg/Library/BaseLib/BaseLib-Gcc.msa b/MdePkg/Library/BaseLib/BaseLib-Gcc.msa
new file mode 100644
index 0000000000..ff1f4a2f27
--- /dev/null
+++ b/MdePkg/Library/BaseLib/BaseLib-Gcc.msa
@@ -0,0 +1,312 @@
+
+
+
+
+ BaseLib
+ BASE
+ LIBRARY
+ 27d67720-ea68-48ae-93da-a3a074c90e30
+ 0
+ Memory-only library functions with no library constructordestructor
+ FIX ME!
+ Copyright (c) 2004-2006, Intel Corporation
+
+ All rights reserved. This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ 0
+ 2006-03-09 23:16
+ 2006-03-22 18:15
+
+
+ BaseLib
+ BaseMemoryLib
+ DebugLib
+ TimerLib
+
+
+ String.c
+ LinkedList.c
+ Synchronization.c
+ Cpu.c
+ CpuDeadLoop.c
+ BitField.c
+ ARShiftU64.c
+ DivS64x64Remainder.c
+ DivU64x32.c
+ DivU64x32Remainder.c
+ DivU64x64Remainder.c
+ GetPowerOfTwo32.c
+ GetPowerOfTwo64.c
+ HighBitSet32.c
+ HighBitSet64.c
+ LowBitSet32.c
+ LowBitSet64.c
+ LRotU32.c
+ LRotU64.c
+ LShiftU64.c
+ ModU64x32.c
+ MultS64x64.c
+ MultU64x32.c
+ MultU64x64.c
+ RRotU32.c
+ RRotU64.c
+ RShiftU64.c
+ SwapBytes16.c
+ SwapBytes32.c
+ SwapBytes64.c
+
+ x86LowLevel.c
+ x86Thunk.c
+ Unaligned.c
+ Ia32/Non-existing.c
+ Ia32/LShiftU64.s
+ Ia32/RShiftU64.s
+ Ia32/ARShiftU64.s
+ Ia32/LRotU64.s
+ Ia32/RRotU64.s
+ Ia32/MultU64x32.s
+ Ia32/MultU64x64.s
+ Ia32/DivU64x32.s
+ Ia32/ModU64x32.s
+ Ia32/DivU64x32Remainder.s
+ Ia32/DivU64x64Remainder.s
+ Ia32/DivS64x64Remainder.c
+ Ia32/SwapBytes64.s
+ Ia32/SetJump.s
+ Ia32/LongJump.s
+ Ia32/SwitchStack.c
+ Ia32/CpuId.s
+ Ia32/ReadEflags.s
+ Ia32/ReadMsr64.s
+ Ia32/WriteMsr32.s
+ Ia32/WriteMsr64.s
+ Ia32/ReadCr0.s
+ Ia32/ReadCr2.s
+ Ia32/ReadCr3.s
+ Ia32/ReadCr4.s
+ Ia32/WriteCr0.s
+ Ia32/WriteCr2.s
+ Ia32/WriteCr3.s
+ Ia32/WriteCr4.s
+ Ia32/ReadDr0.s
+ Ia32/ReadDr1.s
+ Ia32/ReadDr2.s
+ Ia32/ReadDr3.s
+ Ia32/ReadDr4.s
+ Ia32/ReadDr5.s
+ Ia32/ReadDr6.s
+ Ia32/ReadDr7.s
+ Ia32/WriteDr0.s
+ Ia32/WriteDr1.s
+ Ia32/WriteDr2.s
+ Ia32/WriteDr3.s
+ Ia32/WriteDr4.s
+ Ia32/WriteDr5.s
+ Ia32/WriteDr6.s
+ Ia32/WriteDr7.s
+ Ia32/ReadCs.s
+ Ia32/ReadDs.s
+ Ia32/ReadEs.s
+ Ia32/ReadFs.s
+ Ia32/ReadGs.s
+ Ia32/ReadSs.s
+ Ia32/ReadTr.s
+ Ia32/ReadGdtr.s
+ Ia32/WriteGdtr.s
+ Ia32/ReadIdtr.s
+ Ia32/WriteIdtr.s
+ Ia32/ReadLdtr.s
+ Ia32/WriteLdtr.s
+ Ia32/FxSave.s
+ Ia32/FxRestore.s
+ Ia32/ReadMm0.s
+ Ia32/ReadMm1.s
+ Ia32/ReadMm2.s
+ Ia32/ReadMm3.s
+ Ia32/ReadMm4.s
+ Ia32/ReadMm5.s
+ Ia32/ReadMm6.s
+ Ia32/ReadMm7.s
+ Ia32/WriteMm0.s
+ Ia32/WriteMm1.s
+ Ia32/WriteMm2.s
+ Ia32/WriteMm3.s
+ Ia32/WriteMm4.s
+ Ia32/WriteMm5.s
+ Ia32/WriteMm6.s
+ Ia32/WriteMm7.s
+ Ia32/ReadTsc.s
+ Ia32/ReadPmc.s
+ Ia32/Monitor.s
+ Ia32/Mwait.s
+ Ia32/EnablePaging32.s
+ Ia32/DisablePaging32.s
+ Ia32/EnablePaging64.s
+ Ia32/Wbinvd.s
+ Ia32/Invd.s
+ Ia32/FlushCacheLine.s
+ Ia32/InterlockedIncrement.s
+ Ia32/InterlockedDecrement.s
+ Ia32/InterlockedCompareExchange32.s
+ Ia32/InterlockedCompareExchange64.s
+ Ia32/EnableInterrupts.s
+ Ia32/DisableInterrupts.s
+ Ia32/EnableDisableInterrupts.s
+ Ia32/CpuSleep.s
+ Ia32/CpuPause.s
+ Ia32/CpuBreakpoint.s
+ Ia32/CpuFlushTlb.s
+ Ia32/Thunk16.s
+
+
+ x86LowLevel.c
+ x86Thunk.c
+ Unaligned.c
+ Math64.c
+ x64/Non-existing.c
+ x64/SwitchStack.asm
+ x64/SetJump.asm
+ x64/LongJump.asm
+ x64/CpuId.asm
+ x64/ReadEflags.asm
+ x64/ReadMsr32.asm
+ x64/ReadMsr64.asm
+ x64/WriteMsr32.asm
+ x64/WriteMsr64.asm
+ x64/ReadCr0.asm
+ x64/ReadCr2.asm
+ x64/ReadCr3.asm
+ x64/ReadCr4.asm
+ x64/WriteCr0.asm
+ x64/WriteCr2.asm
+ x64/WriteCr3.asm
+ x64/WriteCr4.asm
+ x64/ReadDr0.asm
+ x64/ReadDr1.asm
+ x64/ReadDr2.asm
+ x64/ReadDr3.asm
+ x64/ReadDr4.asm
+ x64/ReadDr5.asm
+ x64/ReadDr6.asm
+ x64/ReadDr7.asm
+ x64/WriteDr0.asm
+ x64/WriteDr1.asm
+ x64/WriteDr2.asm
+ x64/WriteDr3.asm
+ x64/WriteDr4.asm
+ x64/WriteDr5.asm
+ x64/WriteDr6.asm
+ x64/WriteDr7.asm
+ x64/ReadCs.asm
+ x64/ReadDs.asm
+ x64/ReadEs.asm
+ x64/ReadFs.asm
+ x64/ReadGs.asm
+ x64/ReadSs.asm
+ x64/ReadTr.asm
+ x64/ReadGdtr.asm
+ x64/WriteGdtr.asm
+ x64/ReadIdtr.asm
+ x64/WriteIdtr.asm
+ x64/ReadLdtr.asm
+ x64/WriteLdtr.asm
+ x64/FxSave.asm
+ x64/FxRestore.asm
+ x64/ReadMm0.asm
+ x64/ReadMm1.asm
+ x64/ReadMm2.asm
+ x64/ReadMm3.asm
+ x64/ReadMm4.asm
+ x64/ReadMm5.asm
+ x64/ReadMm6.asm
+ x64/ReadMm7.asm
+ x64/WriteMm0.asm
+ x64/WriteMm1.asm
+ x64/WriteMm2.asm
+ x64/WriteMm3.asm
+ x64/WriteMm4.asm
+ x64/WriteMm5.asm
+ x64/WriteMm6.asm
+ x64/WriteMm7.asm
+ x64/ReadTsc.asm
+ x64/ReadPmc.asm
+ x64/Monitor.asm
+ x64/Mwait.asm
+ x64/DisablePaging64.asm
+ x64/Wbinvd.asm
+ x64/Invd.asm
+ x64/FlushCacheLine.asm
+ x64/InterlockedIncrement.asm
+ x64/InterlockedDecrement.asm
+ x64/InterlockedCompareExchange32.asm
+ x64/InterlockedCompareExchange64.asm
+ x64/EnableInterrupts.asm
+ x64/DisableInterrupts.asm
+ x64/EnableDisableInterrupts.asm
+ x64/CpuSleep.asm
+ x64/CpuPause.asm
+ x64/CpuBreakpoint.asm
+ x64/CpuFlushTlb.asm
+ x64/Thunk16.asm
+
+
+ Math64.c
+ Ipf/setjmp.s
+ Ipf/SwitchStack.s
+ Ipf/Unaligned.c
+ Ipf/CpuBreakpoint.c
+ Ipf/InterlockedCompareExchange32.s
+ Ipf/InterlockedCompareExchange64.s
+ Ipf/Synchronization.c
+ Ipf/CpuPause.s
+ Ipf/CpuFlushTlb.s
+
+
+ Math64.c
+ SwitchStack.c
+ SetJumpLongJump.c
+ Unaligned.c
+ Ebc/CpuBreakpoint.c
+ Ebc/Synchronization.c
+
+
+
+ MdePkg
+
+
+
+ PcdMaximumUnicodeStringLength
+ 0x00000001
+ UINT32
+
+
+ PcdMaximumAsciiStringLength
+ 0x00000002
+ UINT32
+
+
+ PcdMaximumLinkedListLength
+ 0x00000003
+ UINT32
+
+
+ PcdSpinLockTimeout
+ 0x00000004
+ UINT32
+
+
+
diff --git a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx-Gcc.msa b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx-Gcc.msa
new file mode 100644
index 0000000000..dd661210a0
--- /dev/null
+++ b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx-Gcc.msa
@@ -0,0 +1,68 @@
+
+
+
+
+ BaseMemoryLibMmx
+ BASE
+ LIBRARY
+ d458a654-f64c-49db-b8d1-3821306bf1f6
+ EDK_RELEASE_VERSION 0x00090000
+ Memory-only library functions with no library constructor/destructor
+ FIX ME!
+ Copyright (c) 2006, Intel Corporation
+
+ All rights reserved. This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ EFI_SPECIFICATION_VERSION 0x00000000
+ 2006-04-12 19:53
+
+
+ BaseMemoryLib
+ BaseLib
+ DebugLib
+
+
+
+ MemLibGuid.c
+ CopyMemWrapper.c
+ SetMemWrapper.c
+ SetMem16Wrapper.c
+ SetMem32Wrapper.c
+ SetMem64Wrapper.c
+ CompareMemWrapper.c
+ ZeroMemWrapper.c
+ ScanMem8Wrapper.c
+ ScanMem16Wrapper.c
+ ScanMem32Wrapper.c
+ ScanMem64Wrapper.c
+ Ia32/CopyMem.s
+ Ia32/SetMem.s
+ Ia32/ZeroMem.s
+ Ia32/SetMem16.s
+ Ia32/SetMem32.s
+ Ia32/SetMem64.s
+ Ia32/CompareMem.s
+ Ia32/ScanMem8.s
+ Ia32/ScanMem16.s
+ Ia32/ScanMem32.s
+ Ia32/ScanMem64.s
+
+
+
+ MdePkg
+
+
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr-Gcc.msa b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr-Gcc.msa
new file mode 100644
index 0000000000..c7d77376d0
--- /dev/null
+++ b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr-Gcc.msa
@@ -0,0 +1,93 @@
+
+
+
+
+ BaseMemoryLibRepStr
+ BASE
+ LIBRARY
+ e7884bf4-51a1-485b-982a-ff89129983bc
+ EDK_RELEASE_VERSION 0x00090000
+ Memory-only library functions with no library constructor/destructor
+ FIX ME!
+ Copyright (c) 2006, Intel Corporation
+
+ All rights reserved. This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ EFI_SPECIFICATION_VERSION 0x00000000
+ 2006-04-12 13:39
+
+
+ BaseMemoryLib
+ BaseLib
+ DebugLib
+
+
+
+ MemLibGuid.c
+ CopyMemWrapper.c
+ SetMemWrapper.c
+ SetMem16Wrapper.c
+ SetMem32Wrapper.c
+ SetMem64Wrapper.c
+ CompareMemWrapper.c
+ ZeroMemWrapper.c
+ ScanMem8Wrapper.c
+ ScanMem16Wrapper.c
+ ScanMem32Wrapper.c
+ ScanMem64Wrapper.c
+ Ia32/CopyMem.s
+ Ia32/SetMem.s
+ Ia32/SetMem16.s
+ Ia32/SetMem32.s
+ Ia32/SetMem64.s
+ Ia32/ZeroMem.s
+ Ia32/CompareMem.s
+ Ia32/ScanMem8.s
+ Ia32/ScanMem16.s
+ Ia32/ScanMem32.s
+ Ia32/ScanMem64.s
+
+
+ MemLibGuid.c
+ CopyMemWrapper.c
+ SetMemWrapper.c
+ SetMem16Wrapper.c
+ SetMem32Wrapper.c
+ SetMem64Wrapper.c
+ CompareMemWrapper.c
+ ZeroMemWrapper.c
+ ScanMem8Wrapper.c
+ ScanMem16Wrapper.c
+ ScanMem32Wrapper.c
+ ScanMem64Wrapper.c
+ x64/CopyMem.asm
+ x64/SetMem.asm
+ x64/SetMem16.asm
+ x64/SetMem32.asm
+ x64/SetMem64.asm
+ x64/ZeroMem.asm
+ x64/CompareMem.asm
+ x64/ScanMem8.asm
+ x64/ScanMem16.asm
+ x64/ScanMem32.asm
+ x64/ScanMem64.asm
+
+
+
+ MdePkg
+
+
diff --git a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2-Gcc.msa b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2-Gcc.msa
new file mode 100644
index 0000000000..9a402707cb
--- /dev/null
+++ b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2-Gcc.msa
@@ -0,0 +1,93 @@
+
+
+
+
+ BaseMemoryLibSse2
+ BASE
+ LIBRARY
+ 65a18235-5096-4032-8c63-214f0249ce8d
+ EDK_RELEASE_VERSION 0x00090000
+ Memory-only library functions with no library constructor/destructor
+ FIX ME!
+ Copyright (c) 2006, Intel Corporation
+
+ All rights reserved. This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ EFI_SPECIFICATION_VERSION 0x00000000
+ 2006-04-12 13:46
+
+
+ BaseMemoryLib
+ BaseLib
+ DebugLib
+
+
+
+ MemLibGuid.c
+ CopyMemWrapper.c
+ SetMemWrapper.c
+ SetMem16Wrapper.c
+ SetMem32Wrapper.c
+ SetMem64Wrapper.c
+ CompareMemWrapper.c
+ ZeroMemWrapper.c
+ ScanMem8Wrapper.c
+ ScanMem16Wrapper.c
+ ScanMem32Wrapper.c
+ ScanMem64Wrapper.c
+ Ia32/CopyMem.s
+ Ia32/SetMem.s
+ Ia32/SetMem16.s
+ Ia32/SetMem32.s
+ Ia32/SetMem64.s
+ Ia32/ZeroMem.s
+ Ia32/CompareMem.s
+ Ia32/ScanMem8.s
+ Ia32/ScanMem16.s
+ Ia32/ScanMem32.s
+ Ia32/ScanMem64.s
+
+
+ MemLibGuid.c
+ CopyMemWrapper.c
+ SetMemWrapper.c
+ SetMem16Wrapper.c
+ SetMem32Wrapper.c
+ SetMem64Wrapper.c
+ CompareMemWrapper.c
+ ZeroMemWrapper.c
+ ScanMem8Wrapper.c
+ ScanMem16Wrapper.c
+ ScanMem32Wrapper.c
+ ScanMem64Wrapper.c
+ x64/CopyMem.asm
+ x64/SetMem.asm
+ x64/SetMem16.asm
+ x64/SetMem32.asm
+ x64/SetMem64.asm
+ x64/ZeroMem.asm
+ x64/CompareMem.asm
+ x64/ScanMem8.asm
+ x64/ScanMem16.asm
+ x64/ScanMem32.asm
+ x64/ScanMem64.asm
+
+
+
+ MdePkg
+
+