summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BaseTools/Conf/tools_def.template4
-rw-r--r--MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S16
-rw-r--r--MdePkg/Include/Ia32/ProcessorBind.h6
3 files changed, 16 insertions, 10 deletions
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 7cbffbf..1b2e44c 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -500,10 +500,12 @@ RELEASE_WINDDK3790x1830_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT
*_ELFGCC_IA32_ASM_PATH = DEF(ELFGCC_BIN)/gcc
*_ELFGCC_IA32_PP_PATH = DEF(ELFGCC_BIN)/gcc
*_ELFGCC_IA32_VFRPP_PATH = DEF(ELFGCC_BIN)/gcc
+*_ELFGCC_*_MAKE_PATH = make
+*_ELFGCC_*_MAKE_FLAGS = -i
*_ELFGCC_IA32_CC_FLAGS = -m32 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
*_ELFGCC_*_DLINK_FLAGS = -melf_i386 -nostdlib -n -q -Ttext 0x220 --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT)
-*_ELFGCC_*_ASM_FLAGS = -m32 -c -imacros $(DEST_DIR_DEBUG)/AutoGen.h
+*_ELFGCC_*_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
*_ELFGCC_*_PP_FLAGS = -m32 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
*_ELFGCC_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include AutoGen.h
diff --git a/MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S b/MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S
index ee02a41..a152b50 100644
--- a/MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S
+++ b/MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S
@@ -27,26 +27,26 @@
;
;-----------------------------------------------------------------------
*/
-@VectorTemplateBase:
+VectorTemplateBase:
pushl %eax
.byte 0x6a # push #VectorNum
-@VectorNum:
+VectorNum:
.byte 0
movl CommonInterruptEntry, %eax
jmp *%eax
-@VectorTemplateEnd:
+VectorTemplateEnd:
ASM_PFX(AsmGetVectorTemplatInfo):
movl 4(%esp), %ecx
- movl $@VectorTemplateBase, (%ecx)
- movl $(@VectorTemplateEnd - @VectorTemplateBase), %eax
+ movl $VectorTemplateBase, (%ecx)
+ movl $(VectorTemplateEnd - VectorTemplateBase), %eax
ret
ASM_PFX(AsmVectorFixup):
movl 8(%esp), %eax
movl 4(%esp), %ecx
- movb %al, (@VectorNum - @VectorTemplateBase)(%ecx)
+ movb %al, (VectorNum - VectorTemplateBase)(%ecx)
ret
/*
@@ -72,8 +72,8 @@ ASM_PFX(AsmVectorFixup):
CommonInterruptEntry:
cli
-@@:
- jmp @@
+1:
+ jmp 1b
diff --git a/MdePkg/Include/Ia32/ProcessorBind.h b/MdePkg/Include/Ia32/ProcessorBind.h
index 45e9c14..72c1032 100644
--- a/MdePkg/Include/Ia32/ProcessorBind.h
+++ b/MdePkg/Include/Ia32/ProcessorBind.h
@@ -197,7 +197,11 @@ typedef INT32 INTN;
// For symbol name in GNU assembly code, an extra "_" is necessary
//
#if __GNUC__
- #define ASM_PFX(name) _##name
+ #if defined(linux)
+ #define ASM_PFX(name) name
+ #else
+ #define ASM_PFX(name) _##name
+ #endif
#endif
#define FUNCTION_ENTRY_POINT(p) (p)