On Tue, Jul 31, 2012 at 4:41 PM, Andrew Fish <[email protected]> wrote:
>
> On Jul 31, 2012, at 4:32 PM, Melwyn DSouza wrote:
>
>
>
> On Mon, Jul 30, 2012 at 5:44 PM, Andrew Fish <[email protected]> wrote:
>
>>
>> On Jul 30, 2012, at 4:49 PM, Melwyn DSouza wrote:
>>
>> I have an (yasm) asm file which i need to have it as a part of Module
>> Application. It is of yasm file format,
>> Yasm file format
>> http://yasm.tortall.net/
>>
>>
>> edk 2 build tools point to x86_amd64 format
>>
>> as seen in tools_def.txt
>>
>>
>> DEFINE VS2010_BINX64 = DEF(VS2010_BIN)\x86_amd64
>>
>>
>> ….
>>
>>
>> *_VS2010_X64_ASM_PATH = DEF(VS2010_BINX64)\ml64.exe
>>
>>
>> This points to which assembler to use. So try changing it to point to
>> yasm?
>>
> Did that... by
>
> DEFINE YASM_BIN = C:\pathto\yasm\win32
>
> and
>
> # *_VS2010_X64_ASM_PATH = DEF(VS2010_BINX64)\ml64.exe Commented
> because we use yasm format assembly files
> *_VS2010_X64_ASM_PATH = DEF(YASM_BIN)\yasm.exe
>
> However when i compile my module using ...
>
> build -p DuetPkg\DuetPkgX64.dsc -m
> MdeModulePkg\Application\MyApp\MyApp.inf
>
> It is still picking the <VS Path>\x86_amd64\ml64.exe
>
>
> So did you update Conf/target.txt to set TOOL_CHAIN_TAG to VS2010? I don't
> see a -t argument to build in your example.
>
below is the setting from the Conf/target.txt file...
TOOL_CHAIN_TAG = VS2010x86
>
> and giving the same error...
>
> so even though i define so it use yasm exe why is it still using the
> x86_amd64 ml64.exe
>
>
> So I assume you changed Conf/tools_def.txt and not
> BaseTools/Conf/tools_def.template?
>
Thats right...
>
> Try deleting Conf/.cache and Build directories and try again.
>
did that...
Gave this command again...
build -p DuetPkg\DuetPkgX64.dsc -m MdeModulePkg\Application\MyApp\MyApp.inf
No noticable difference..
below is the portion of relavant error message..
"C:\Program Files (x86)\Microsoft Visual Studio
10.0\Vc\bin\x86_amd64\cl
.exe" <Some flags here> c:\pathto\test1.asm > c:\path to\OUTPUT\.\test1.i
test1.asm
Trim --source-code --convert-hex -o <blah blah blah>\.\test1.i
"C:\Program Files (x86)\Microsoft Visual Studio
10.0\Vc\bin\x86_amd64\ml
64.exe" <etc.. etc..> \.\test1.iii
Assembling: <etc ... etc..> \.\test1.iii
c:\pathto\OUTPUT\.\test1.i
ii(100) : error A2032:invalid use of register
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio
10.0
\Vc\bin\x86_amd64\ml64.exe"' : return code '0x1'
Stop.
build...
: error 7000: Failed to execute command
It doesnt seems to have picked up the yasm.exe ...
Thanks,
Mel
>
> Thanks,
>
> Andrew Fish
>
>
>
>> *_VS2010_X64_SLINK_PATH = DEF(VS2010_BINX64)\lib.exe
>> *_VS2010_X64_DLINK_PATH = DEF(VS2010_BINX64)\link.exe
>> *_VS2010_X64_ASLCC_PATH = DEF(VS2010_BINX64)\cl.exe
>> *_VS2010_X64_ASLPP_PATH = DEF(VS2010_BINX64)\cl.exe
>> *_VS2010_X64_ASLDLINK_PATH = DEF(VS2010_BINX64)\link.exe
>>
>>
>>
>>
>> DEBUG_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D
>> UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
>> RELEASE_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D
>> UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
>> NOOPT_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D
>> UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
>>
>>
>> DEBUG_VS2010_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
>> RELEASE_VS2010_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
>> NOOPT_VS2010_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
>>
>>
>> DEBUG_VS2010_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001
>> /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D
>> /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT)
>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>
>>
>> Do anyone know of a way to use yasm as an assembler to compile asm files
>> in EDK II?
>>
>>
>> For eg it gives error on these lines
>>
>> *[bits 64]*
>>
>> *SECTION shared_code*
>>
>> *GLOBAL hsw_core_max_st_no_throt_100*
>>
>> and on this line
>>
>> *vmovups ymm0, [ds:rcx + 067555899h]*
>>
>> Try removing ds:
>>
>> error shown below for the above specific line...
>>
>>
>> c:\users\someuser\documents\develop\udk2010\myworkspace\Build\DuetPkgX64\DEBUG_V
>>
>> S2010x86\X64\MdeModulePkg\Application\PTUGenStress\PTUGenStress\OUTPUT\.\test1.i
>> ii(100) : error A2032:invalid use of register
>> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
>> Studio 10.0
>> \Vc\bin\x86_amd64\ml64.exe"' : return code '0x1'
>> Stop.
>>
>> Basically this asm file is of a yasm file format and compiles with no
>> problems on MS Visual Studio using yasm.
>>
>> However EDK 2 build specifically uses x86_amd64.
>>
>> How to specifically fix the above error for statement using explicit ds:?
>> What is the replacement statement if that line has
>>
>> to compile in x86_amd64?
>> Thanks in advance,
>>
>>
>> ------------------------------------------------------------------------------
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and
>> threat landscape has changed and how IT managers can respond. Discussions
>> will include endpoint security, mobile security and the latest in malware
>> threats.
>> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________
>> edk2-buildtools-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/edk2-buildtools-devel
>>
>>
>>
>
>
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
edk2-buildtools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-buildtools-devel