[fpc-pascal] compiling turbo power lockbox on ubuntu 64

Ludo Brands ludo.brands at free.fr
Tue Jul 26 14:25:26 CEST 2011


> Hi,
> I use RSA encryption library lockbox turbo power.
> in a windows environment I managed to compile and the apps 
> working well, I use {$ mode delphi}. 
> but when I compile it on ubuntu 64bit, there is an error when 
> compiling
> 
> 
> component/LockBox/LbCipher.pas(708,10) Error: Unknown identifier "EBX"
> component/LockBox/LbCipher.pas(708,10) Warning: No size 
> specified and unable to determine the size of the operands, 
> using DWORD as default
> component/LockBox/LbCipher.pas(709,10) Error: Unknown identifier "EAX"
> component/LockBox/LbCipher.pas(709,10) Warning: No size 
> specified and unable to determine the size of the operands, 
> using DWORD as default
> component/LockBox/LbCipher.pas(710,13) Error: Unknown identifier "EAX"
> component/LockBox/LbCipher.pas(710,15) Error: Assembler 
> syntax error in operand
> component/LockBox/LbCipher.pas(710,19) Error: Unknown identifier "EAX"
> component/LockBox/LbCipher.pas(710,19) Error: Assembler 
> syntax error in operand
> component/LockBox/LbCipher.pas(711,12) Error: Unknown identifier "BH"
> component/LockBox/LbCipher.pas(711,14) Error: Unknown identifier "AL"
> component/LockBox/LbCipher.pas(712,12) Error: Unknown identifier "BL"
> component/LockBox/LbCipher.pas(712,14) Error: Unknown identifier "AH"
> component/LockBox/LbCipher.pas(713,13) Error: Unknown 
> identifier "EBX" so on ...
> 

These errors indicate that the wrong assembler style is selected. Use Intel
mode: {$asmmode intel} 
This isn't going to solve your problem though. Variable parameters are 64
bit and passed in rax, rdx, not eax, edx. Pushing and popping registers
becomes push rsi instead of push esi. Register relative addressing is [rsi]
instead of [esi], etc. etc. etc. 

Ludo 




More information about the fpc-pascal mailing list