From df569f61e3806ec8dbeef9c89123f5b223720c07 Mon Sep 17 00:00:00 2001 From: jwang36 Date: Thu, 6 Jul 2006 10:31:48 +0000 Subject: [PATCH] Fixed the GCC assembler issue. Now we can use full GCC tools to build our package. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@795 6f19259b-4bc3-4df7-8a09-765794883524 --- EdkModulePkg/EdkModulePkg-All-Archs.fpd | 4 +- EdkModulePkg/EdkModulePkg.fpd | 2 +- MdePkg/Library/BaseLib/BaseLib.msa | 98 +++++++++++++++++++ .../BaseMemoryLibMmx/BaseMemoryLibMmx.msa | 11 +++ .../BaseMemoryLibRepStr.msa | 11 +++ .../BaseMemoryLibSse2/BaseMemoryLibSse2.msa | 11 +++ MdePkg/MdePkg-All-Archs.fpd | 2 +- MdePkg/MdePkg.fpd | 2 +- Tools/Conf/BuildMacro.xml | 86 ++++++++++++++-- Tools/Conf/target.template | 4 +- Tools/Conf/tools_def.template | 24 ++--- 11 files changed, 225 insertions(+), 30 deletions(-) diff --git a/EdkModulePkg/EdkModulePkg-All-Archs.fpd b/EdkModulePkg/EdkModulePkg-All-Archs.fpd index ce5569186f..e6d333380f 100644 --- a/EdkModulePkg/EdkModulePkg-All-Archs.fpd +++ b/EdkModulePkg/EdkModulePkg-All-Archs.fpd @@ -146,7 +146,7 @@ gEfiEdkModulePkgTokenSpaceGuid UINT32 4 - 0x10000 + 0x1000Value> PcdMaximumUnicodeStringLength @@ -15103,7 +15103,7 @@ "-nostdlib", "-O2", "--gc-sections", "--dll", "--export-all-symbols", "--entry ${ENTRYPOINT}" + + diff --git a/MdePkg/Library/BaseLib/BaseLib.msa b/MdePkg/Library/BaseLib/BaseLib.msa index 8d7af00fec..ae3cae71c5 100644 --- a/MdePkg/Library/BaseLib/BaseLib.msa +++ b/MdePkg/Library/BaseLib/BaseLib.msa @@ -175,6 +175,104 @@ Ia32/CpuBreakpoint.asm Ia32/CpuFlushTlb.asm Ia32/Thunk16.asm + + 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/SwapBytes64.S + Ia32/SetJump.S + Ia32/LongJump.S + Ia32/CpuId.S + Ia32/CpuIdEx.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 diff --git a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.msa b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.msa index 1c8c6b06c1..99d6dba269 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.msa +++ b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.msa @@ -56,6 +56,17 @@ Ia32/ScanMem16.asm Ia32/ScanMem32.asm Ia32/ScanMem64.asm + 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 X64/CopyMem.asm X64/SetMem.asm X64/SetMem16.asm diff --git a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.msa b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.msa index 1aad519301..d3fa91d59b 100644 --- a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.msa +++ b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.msa @@ -56,6 +56,17 @@ Ia32/ScanMem16.asm Ia32/ScanMem32.asm Ia32/ScanMem64.asm + 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 diff --git a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.msa b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.msa index 7c8798da7e..bfbfdf869c 100644 --- a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.msa +++ b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.msa @@ -56,6 +56,17 @@ Ia32/ScanMem16.asm Ia32/ScanMem32.asm Ia32/ScanMem64.asm + 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 diff --git a/MdePkg/MdePkg-All-Archs.fpd b/MdePkg/MdePkg-All-Archs.fpd index 837771b196..bf2ddb09e6 100644 --- a/MdePkg/MdePkg-All-Archs.fpd +++ b/MdePkg/MdePkg-All-Archs.fpd @@ -2616,7 +2616,7 @@ "-nostdlib", "-O2", "--gc-sections", "--dll", "--export-all-symbols", "--entry ${ENTRYPOINT}" + + diff --git a/Tools/Conf/BuildMacro.xml b/Tools/Conf/BuildMacro.xml index 28d6f0cb04..3b315d46fa 100644 --- a/Tools/Conf/BuildMacro.xml +++ b/Tools/Conf/BuildMacro.xml @@ -134,16 +134,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - - + - + @@ -158,20 +158,27 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + asm - Build_Assembly + S - Build_Gcc_Assembly + s - Build_Ipf_Assembly --> - - - - + + + + + + + + + + @@ -249,6 +256,67 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tools/Conf/target.template b/Tools/Conf/target.template index fde5df2d5a..0644b39d7f 100644 --- a/Tools/Conf/target.template +++ b/Tools/Conf/target.template @@ -6,6 +6,6 @@ TOOLS_DEFINITION_FILE = Tools/Conf/tools_def.txt # Separate multiple targets with space, not not use comma TARGET = -TARGET_ARCH = -TAGNAME = +TARGET_ARCH = IA32 +TAGNAME = MSFT diff --git a/Tools/Conf/tools_def.template b/Tools/Conf/tools_def.template index 8026b46007..c4e601f112 100644 --- a/Tools/Conf/tools_def.template +++ b/Tools/Conf/tools_def.template @@ -23,7 +23,7 @@ *_MSFT_IA32_ASMLINK_PATH = C:\WINDDK\3790.1830\Bin\Bin16\ *_MSFT_IA32_ASL_PATH = C:\TianoTools\Bin *_MSFT_IA32_*_DPATH = C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE -#*_MSFT_IA32_ASM_EXT = .asm +*_MSFT_IA32_ASM_EXT = .asm # x64 definitions *_MSFT_X64_*_PATH = C:\WINDDK\3790.1830\bin\win64\x86\amd64 @@ -35,6 +35,7 @@ # IPF definitions *_MSFT_IPF_*_PATH = C:\WINDDK\3790.1830\bin\win64\x86 *_MSFT_IPF_ASM_NAME = ias.exe +*_MSFT_IPF_ASM_EXT = .s # EBC definitions *_MSFT_EBC_*_FAMILY = INTEL @@ -45,18 +46,13 @@ *_MSFT_EBC_PP_NAME = iec.exe # GCC definitions -#*_GCC_*_*_FAMILY = GCC -#*_GCC_*_CC_NAME = gcc -#*_GCC_*_SLINK_NAME = ar -#*_GCC_*_DLINK_NAME = ld +*_GCC_IA32_*_FAMILY = GCC +*_GCC_IA32_CC_NAME = gcc +*_GCC_IA32_SLINK_NAME = ar +*_GCC_IA32_DLINK_NAME = ld +*_GCC_IA32_ASM_NAME = as +*_GCC_IA32_PP_NAME = gcc # GCC, IA32 -#*_GCC_IA32_*_PATH = C:\cygwin\opt\tiano\i386-tiano-pe\i386-tiano-pe\bin -#*_GCC_IA32_ASM_FAMILY = MSFT -#*_GCC_IA32_ASM_NAME = ml.exe -#*_GCC_IA32_ASM_PATH = C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin -#*_GCC_IA32_ASM_DPATH = C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE -#*_GCC_IA32_PP_FAMILY = MSFT -#*_GCC_IA32_PP_NAME = cl.exe -#*_GCC_IA32_PP_PATH = C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin -#*_GCC_IA32_PP_DPATH = C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE +*_GCC_IA32_*_PATH = C:\cygwin\opt\tiano\i386-tiano-pe\i386-tiano-pe\bin +*_GCC_IA32_ASM_EXT = .S -- 2.39.2