Jordan:
  Another question. Why you put some nop opcode in Thunk16.nasm code? 32bit 
Thunk16.nasm has one nop. 64bit Thunk16.nasm have two nop.

Thanks
Liming
-----Original Message-----
From: Jordan Justen [mailto:jljus...@gmail.com] 
Sent: Thursday, August 21, 2014 9:13 AM
To: edk2-devel@lists.sourceforge.net
Subject: Re: [edk2] [PATCH 5/8] MdePkg/BaseLib Thunk16: Replace X64 GAS Thunk16 
with NASM version

On Wed, Aug 20, 2014 at 2:40 PM, Mike Maslenkin <miha...@parallels.com> wrote:
> Hello Jordan !
> build -p  build -p IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
> -a X64
> told me about next errors:
>
> Building ... 
> /home/mg/sources/jljusten/edk2/MdePkg/Library/BaseReportStatusCodeLibN
> ull/BaseReportStatusCodeLibNull.inf [X64]
> /home/mg/sources/jljusten/edk2/Build/IntelFrameworkModuleAll/DEBUG_GCC
> 47/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/X64/Thunk16.iii:193: 
> error: segment alignment `0x8' is not power of two
> make: ***
> [/home/mg/sources/jljusten/edk2/Build/IntelFrameworkModuleAll/DEBUG_GC
> C47/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/X64/Thunk16.obj] Error 1
>
> /home/mg/sources/jljusten/edk2/Build/IntelFrameworkModuleAll/DEBUG_GCC
> 47/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/X64/Thunk16.iii:240: 
> error: invalid combination of opcode and operands
> /home/mg/sources/jljusten/edk2/Build/IntelFrameworkModuleAll/DEBUG_GCC
> 47/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/X64/Thunk16.iii:242: 
> error: invalid combination of opcode and operands
> /home/mg/sources/jljusten/edk2/Build/IntelFrameworkModuleAll/DEBUG_GCC
> 47/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/X64/Thunk16.iii:244: 
> error: invalid combination of opcode and operands
> /home/mg/sources/jljusten/edk2/Build/IntelFrameworkModuleAll/DEBUG_GCC
> 47/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/X64/Thunk16.iii:310: 
> error: invalid combination of opcode and operands
> /home/mg/sources/jljusten/edk2/Build/IntelFrameworkModuleAll/DEBUG_GCC
> 47/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/X64/Thunk16.iii:312: 
> error: invalid combination of opcode and operands
> /home/mg/sources/jljusten/edk2/Build/IntelFrameworkModuleAll/DEBUG_GCC
> 47/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/X64/Thunk16.iii:314: 
> error: invalid combination of opcode and operands
> make: ***
> [/home/mg/sources/jljusten/edk2/Build/IntelFrameworkModuleAll/DEBUG_GC
> C47/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/X64/Thunk16.obj] Error 1
>
> The last errors come from this
> +global ASM_PFX(InternalAsmThunk16)
> +ASM_PFX(InternalAsmThunk16):
> <skip>
>
>
> ^^^^^^^^^^^^^^^^^^^^^^^
>> +    push    rbx          ; Save ds segment register on the stack
>> +    mov     rbx, es
>> ^^^^^^^^^^^^^^^^^^^^^^^
>> +    push    rbx          ; Save es segment register on the stack
>> +    mov     rbx, ss
> ^^^^^^^^^^^^^^^^^^^^^^^
>> +    push    rbx          ; Save ss segment register on the stack
> <skip>
>
>> +    mov     ss, rbx
>> ^^^^^^^^^^^^^^^^^^^^^^^
>> +    pop     rbx
>> +    mov     es, rbx
> ^^^^^^^^^^^^^^^^^^^^^^^
>> +    pop     rbx
>> +    mov     ds, rbx
> ^^^^^^^^^^^^^^^^^^^^^^^
>
>
> Initially I used a NASM version used in our build system. Do not know 
> for where we got it but it reported itself as NASM version 2.09.04
>
> After that I installed a default NASM that comes with openSuSE 12.2:
> NASM version 2.09.08 compiled on Jun 16 2011
>
> I got same errors.
> So, please clarify which minimal version of NASM is required.

I did put NASM 2.03 in the tools_def (which was taken from VTF0), but I was 
testing with 2.11.

I'll try with 2.03 to make sure we can actually support that version.

-Jordan

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to