Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2006-04

x86_64-win64

16 messages · 6 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Florian Klaempfl

People following the svn changes recently might have noticed that a lot of changes regarding win64 happened. So we're proud to announce the first x86_64-win64 snapshot which is also probably the first available OSS compiler for win64.

ftp://ftpmaster.freepascal.org/pub/fpc/snapshot/v21/x86_64-win64/fpc-2.1.1.x86_64-win64.zip

It is far from being ready for production use, but for first tests it should be usefull.

Please note that the x86_64 win64 needs the internal linker so programs must be compiled with -Xi

Awaiting your feedback and patches to improve it :)

Eugene Mayevski
to Florian Klaempfl

Hello!
You (Florian Klaempfl )
wrote about "[fpc-pascal] x86_64-win64" on mm/dd/yyyy at hh:nn:

FK> People following the svn changes recently might have noticed that a lot of
FK> changes regarding win64 happened. So we're proud to announce the first FK> x86_64-win64 snapshot which is also probably the first available OSS compiler
FK> for win64.

Great! We have made our SecureBlackbox library available for compilation with FreePascal and we hope to use FreePascal for building 64-bit versions of SecureBlackbox.

FK> It is far from being ready for production use, but for first tests it should
FK> be
FK> usefull.

What are the main issues to be aware of when building the code with this version?

Sincerely yours,
Eugene Mayevski

Florian Klaempfl
to Eugene Mayevski
Eugene Mayevski wrote 7 lines
FK> It is far from being ready for production use, but for first tests it should FK> be FK> usefull. What are the main issues to be aware of when building the code with this version?

Unknown yet, that's why this snapshot is available: to find out these issues :)

Florian Klaempfl
to constantijnw
constantijnw wrote
Congratulations! Is a new compiler define planned which distinguishes between 32 and 64 bits, irrespective of the os targeted?

What do you mean with this?

constantijnw
to Florian Klaempfl
Florian Klaempfl wrote 13 lines
constantijnw wrote: > Congratulations! Is a new compiler define planned which distinguishes > between 32 and 64 bits, irrespective of the os targeted? > What do you mean with this? _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

To declare conditional defines like this easily:

{$ifdef cpu64}
TMyInteger = Int64;
{$else}
TMyInteger = LongInt;
{$endif}
Florian Klaempfl
to constantijnw
constantijnw wrote 21 lines
Florian Klaempfl wrote: > constantijnw wrote: > >> Congratulations! Is a new compiler define planned which distinguishes >> between 32 and 64 bits, irrespective of the os targeted? >> > > What do you mean with this? > _______________________________________________ > fpc-pascal maillist - > http://lists.freepascal.org/mailman/listinfo/fpc-pascal > > > To declare conditional defines like this easily: {$ifdef cpu64} TMyInteger = Int64; {$else} TMyInteger = LongInt; {$endif}

http://www.freepascal.org/wiki/index.php/Writing_portable_code_regarding_the_processor_architecture#32_Bit_vs._64_Bit

Michael Van Canneyt
to Florian Klaempfl
Florian Klaempfl wrote 24 lines
constantijnw wrote: > Florian Klaempfl wrote: >> constantijnw wrote: >> >>> Congratulations! Is a new compiler define planned which distinguishes >>> between 32 and 64 bits, irrespective of the os targeted? >>> >> >> What do you mean with this? >> _______________________________________________ >> fpc-pascal maillist - >> http://lists.freepascal.org/mailman/listinfo/fpc-pascal >> >> >> > To declare conditional defines like this easily: > > {$ifdef cpu64} > TMyInteger = Int64; > {$else} > TMyInteger = LongInt; > {$endif} http://www.freepascal.org/wiki/index.php/Writing_portable_code_regarding_the_processor_architecture#32_Bit_vs._64_Bit

And of course the documentation:

http://www.freepascal.org/docs-html/prog/prog.html

more specifically:

http://www.freepascal.org/docs-html/prog/progap7.html#x291-293000G

Amazing, isn't it ;-)

Michael.

constantijnw
to Michael Van Canneyt
Michael Van Canneyt wrote 14 lines

Amazing discoveries indeed, but how do these documents relate to my question specifically, i.e. how to fill in the mssign word:

{$ifdef ?????}
TMyInteger = Int64; {$else} TMyInteger = LongInt; {$endif}
Florian Klaempfl
to constantijnw
constantijnw wrote 18 lines
Michael Van Canneyt wrote: > >> http://www.freepascal.org/wiki/index.php/Writing_portable_code_regarding_the_processor_architecture#32_Bit_vs._64_Bit >> >> > > And of course the documentation: > > http://www.freepascal.org/docs-html/prog/prog.html > > more specifically: > > http://www.freepascal.org/docs-html/prog/progap7.html#x291-293000G > > Amazing, isn't it ;-) > Amazing discoveries indeed, but how do these documents relate to my question specifically, i.e. how to fill in the mssign word:

There was the correct cpu64 in your previous mail :)?

Show quoted text 7 lines
{$ifdef ?????} > TMyInteger = Int64; > {$else} > TMyInteger = LongInt; > {$endif}
constantijnw
to Florian Klaempfl
Florian Klaempfl wrote 40 lines
constantijnw wrote: > Michael Van Canneyt wrote: > >>> http://www.freepascal.org/wiki/index.php/Writing_portable_code_regarding_the_processor_architecture#32_Bit_vs._64_Bit >>> >>> >>> >> And of course the documentation: >> >> http://www.freepascal.org/docs-html/prog/prog.html >> >> more specifically: >> >> http://www.freepascal.org/docs-html/prog/progap7.html#x291-293000G >> >> Amazing, isn't it ;-) >> >> > Amazing discoveries indeed, but how do these documents relate to my > question specifically, i.e. how to fill in the mssign word: > There was the correct cpu64 in your previous mail :)? > {$ifdef ?????} > >> TMyInteger = Int64; >> {$else} >> TMyInteger = LongInt; >> {$endif} >> _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

So cpu64 will be the define refering to all brands of 64 bits cpu's on all flavours of 64 bits os?

Florian Klaempfl
to constantijnw
constantijnw wrote 42 lines
Florian Klaempfl wrote: > constantijnw wrote: > >> Michael Van Canneyt wrote: >> >>>> http://www.freepascal.org/wiki/index.php/Writing_portable_code_regarding_the_processor_architecture#32_Bit_vs._64_Bit >>>> >>>> >>>> >>> And of course the documentation: >>> >>> http://www.freepascal.org/docs-html/prog/prog.html >>> >>> more specifically: >>> >>> http://www.freepascal.org/docs-html/prog/progap7.html#x291-293000G >>> >>> Amazing, isn't it ;-) >>> >> Amazing discoveries indeed, but how do these documents relate to my >> question specifically, i.e. how to fill in the mssign word: >> > > There was the correct cpu64 in your previous mail :)? > >> {$ifdef ?????} >> >>> TMyInteger = Int64; >>> {$else} >>> TMyInteger = LongInt; >>> {$endif} >>> > > > _______________________________________________ > fpc-pascal maillist - > http://lists.freepascal.org/mailman/listinfo/fpc-pascal > > > So cpu64 will be the define refering to all brands of 64 bits cpu's on all flavours of 64 bits os?

Yes. cpu64 means 64 bit pointers.

Bisma Jayadi
to Florian Klaempfl: People following the svn changes recently might have noticed that a lot of changes…
People following the svn changes recently might have noticed that a lot of changes regarding win64 happened. So we're proud to announce the first x86_64-win64 snapshot which is also probably the first available OSS compiler for win64.

Is there any publication page about this, on the wiki or fpc website? So anybody else are able to spread this great news.

Congratulations to FPC development team! :)

-Bee-

has Bee.ography at
http://beeography.wordpress.com

Michael Van Canneyt
to constantijnw: Amazing discoveries indeed, but how do these documents relate to my question…
constantijnw wrote 17 lines
Michael Van Canneyt wrote: > >> http://www.freepascal.org/wiki/index.php/Writing_portable_code_regarding_the_processor_architecture#32_Bit_vs._64_Bit >> > > And of course the documentation: > > http://www.freepascal.org/docs-html/prog/prog.html > > more specifically: > > http://www.freepascal.org/docs-html/prog/progap7.html#x291-293000G > > Amazing, isn't it ;-) > Amazing discoveries indeed, but how do these documents relate to my question specifically, i.e. how to fill in the mssign word:

Well:

begin
   {$if sizeof(pointer)=4 }
     Writeln('4');
   {$else }
     Writeln('8');
   {$endif }
end.

or

begin
   {$ifdef CPU64 }
     Writeln('8');
   {$else }
     Writeln('4');
   {$endif }
end.

or

begin
   {$ifdef CPU32 }
     Writeln('4');
   {$else }
     Writeln('8');
   {$endif }
end.

Michael.

Florian Klaempfl
to Bisma Jayadi: Is there any publication page about this, on the wiki or fpc website? So anybody else are…
Bisma Jayadi wrote 8 lines
> People following the svn changes recently might have noticed that a > lot of > changes regarding win64 happened. So we're proud to announce the first > x86_64-win64 snapshot which is also probably the first available OSS > compiler > for win64. Is there any publication page about this, on the wiki or fpc website? So

http://www.freepascal.org/wiki/index.php/Win64_for_AMD64 Any extensions are welcome :)

anybody else are able to spread this great news.

I hope our PR deparment works on it ;)