Recent

Author Topic: x64 fpc 3.0.0 ?  (Read 5538 times)

bigeno

  • Sr. Member
  • ****
  • Posts: 266
x64 fpc 3.0.0 ?
« on: December 01, 2015, 10:29:41 am »
Is there clean x86_64 windows version of fpc.3.0.0 ?! I see only i386 + cross compile  :-\

Jonas Maebe

  • Hero Member
  • *****
  • Posts: 1059
Re: x64 fpc 3.0.0 ?
« Reply #1 on: December 01, 2015, 10:41:20 am »
No, there is no such version. The reasons include
  • there is no advantage to have an x86_64 compiler binary over an i386 one: it's not much if any faster, and uses a lot more memory
  • it costs extra release engineering effort to provide both an x86_64 and i386 binary
  • it's harder to support both, because it's always possible that a problem only occurs in the x86_64 compiler binary but not in the i386 one, or vice versa (so you have to get people to figure out which compiler binary they have and include this information in their bug reports)

bigeno

  • Sr. Member
  • ****
  • Posts: 266
Re: x64 fpc 3.0.0 ?
« Reply #2 on: December 01, 2015, 10:48:52 am »
I never trusted cross compile, but ... if you say so, I'll change my scripts to cross compile and will see, if there is no other way.

Groffy

  • Full Member
  • ***
  • Posts: 204
Re: x64 fpc 3.0.0 ?
« Reply #3 on: December 01, 2015, 02:57:56 pm »
No, there is no such version. The reasons include

Just curious, why there are x64 fpc 3.0.0 rpm packages under Linux?

Best regards
Linux Mint / Windows 10 / Lazarus 3.0.0 / trunk -qt

Thaddy

  • Hero Member
  • *****
  • Posts: 14391
  • Sensorship about opinions does not belong here.
Re: x64 fpc 3.0.0 ?
« Reply #4 on: December 01, 2015, 03:32:49 pm »
Because these happen to be maintained by a release engineer. This follows form the above.

If you really want an FPC X86_64 including textmode IDE I do it like this:
- First make sure you have the cross compiler (pprcrossx64.exe) and the x86_64-win64 units installed
- Then type something like this:

make clean all install OS_TARGET=win64 CPU_TARGET=x86_64 IDE=1 FPC=<the\path\to\your\ppcrossx64.exe> OVERRIDEVERSIONCHECK=1 NOGDB=1

If all goes to plan you have a \pp\bin\x86_64-win64\ directory that contains amongst others ppcx64.exe and an fp.exe that is 64bit but without debugging. This is from memory so maybe you have to tweak it just a little.

BTW I am willing to provide X86_64 native binaries for Windows to the community since I build them very regularly based on fixes and daily based on trunk. I only do not know what is otherwise expected from me in that case..
And to make Jonas happy I include the last SVN revision from which it is build  in the executables, so they are easily recognisable when there is something wrong.
« Last Edit: December 01, 2015, 03:45:59 pm by Thaddy »
Object Pascal programmers should get rid of their "component fetish" especially with the non-visuals.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11459
  • FPC developer.
Re: x64 fpc 3.0.0 ?
« Reply #5 on: December 01, 2015, 03:34:41 pm »
On Linux 64-bit distributions, a much higher percentage of everything is 64-bit, and because of PIE/PIC 64-bit is a bit better there.


Jonas Maebe

  • Hero Member
  • *****
  • Posts: 1059
Re: x64 fpc 3.0.0 ?
« Reply #6 on: December 01, 2015, 04:30:43 pm »
Just curious, why there are x64 fpc 3.0.0 rpm packages under Linux?
It's mostly because x86 Linux distributions require a native compiler, so it has to be supported anyway. A cross-compiling setup is also more complicated on Linux, because some of our utilities link against libc/libiconv/libpthread, which on Linux means that you have to install an i386 version of those libraries (while on Windows, and OS X, all architecture versions of the system libraries are always installed).

AlanTheBeast

  • Sr. Member
  • ****
  • Posts: 348
  • My software never cras....
Re: x64 fpc 3.0.0 ?
« Reply #7 on: January 02, 2016, 04:40:35 pm »
No, there is no such version. The reasons include
    1: there is no advantage to have an x86_64 compiler binary over an i386 one: it's not much if any faster, and uses a lot more memory

Compiling (OS X 10.11, fpc 3.0.0) x86_64 gives me a 10 - 15% speed boost on a parallel threaded program I have for test purposes.  (Unfortunately the program I'm working (/test) is not working in _64 - see other post).
Everyone talks about the weather but nobody does anything about it.
..Samuel Clemens.

Jonas Maebe

  • Hero Member
  • *****
  • Posts: 1059
Re: x64 fpc 3.0.0 ?
« Reply #8 on: January 02, 2016, 04:44:19 pm »
No, there is no such version. The reasons include
    1: there is no advantage to have an x86_64 compiler binary over an i386 one: it's not much if any faster, and uses a lot more memory

Compiling (OS X 10.11, fpc 3.0.0) x86_64 gives me a 10 - 15% speed boost on a parallel threaded program I have for test purposes.  (Unfortunately the program I'm working (/test) is not working in _64 - see other post).
I meant that the compiler binary itself is not much if any faster when compiled for x86-64, because it mostly does pointer chasing/loading. It's not a program that generally benefits much from having extra registers available, or from being able to perform 64 bit maths. On the contrary, it fills up the caches a lot more quickly when compiled for 64 bit because all pointers double in size.

AlanTheBeast

  • Sr. Member
  • ****
  • Posts: 348
  • My software never cras....
Re: x64 fpc 3.0.0 ?
« Reply #9 on: January 02, 2016, 05:57:44 pm »
Doh!   :-[
Everyone talks about the weather but nobody does anything about it.
..Samuel Clemens.

 

TinyPortal © 2005-2018