Recent

Author Topic: List of changes for 32-bit compiler ppc386 <2.0 to ppc386 3.2.2  (Read 476 times)

dryzone

  • Jr. Member
  • **
  • Posts: 50
I am busy upgrading old but extremely important 32-bit programs to the newest compiler.
These were 32-bit programs and keep it like that so I installed ppc386 ver 3.2.2 which is seemingly the latest.

Problem:
1) Currently the code compiles and the binary executes flawlessly when compiled with ppc < 2.0 compiler.
2) As soon as I compile the code with any compiler >2.0 , the binary throw3s run-time errors.

Is there any available list of changes made from version ppc386 <2.0 to Version 2. or even up to Version 3.2.2
I guess the changes from <2.0 to 2.0  would be sufficient as the problem starts happening right there with the 2.0 compiler.

I cannot seem to find any changelogs generally available.

Thanks

bytebites

  • Hero Member
  • *****
  • Posts: 716

dsiders

  • Hero Member
  • *****
  • Posts: 1430
Re: List of changes for 32-bit compiler ppc386 <2.0 to ppc386 3.2.2
« Reply #2 on: March 08, 2025, 08:13:14 am »
I am busy upgrading old but extremely important 32-bit programs to the newest compiler.
These were 32-bit programs and keep it like that so I installed ppc386 ver 3.2.2 which is seemingly the latest.

Problem:
1) Currently the code compiles and the binary executes flawlessly when compiled with ppc < 2.0 compiler.
2) As soon as I compile the code with any compiler >2.0 , the binary throw3s run-time errors.

Is there any available list of changes made from version ppc386 <2.0 to Version 2. or even up to Version 3.2.2
I guess the changes from <2.0 to 2.0  would be sufficient as the problem starts happening right there with the 2.0 compiler.

I cannot seem to find any changelogs generally available.

Thanks

Release Notes
https://wiki.freepascal.org/Category:Release_Notes

User Changes
https://wiki.freepascal.org/Category:FPC_User_Changes_by_release
Preview the next Lazarus documentation release at: https://dsiders.gitlab.io/lazdocsnext

WooBean

  • Sr. Member
  • ****
  • Posts: 289
Re: List of changes for 32-bit compiler ppc386 <2.0 to ppc386 3.2.2
« Reply #3 on: March 08, 2025, 08:41:37 am »
Just looked into a possible cause of problems.

My guess is floating point constants - https://wiki.freepascal.org/User_Changes_2.2.0#Floating_point_constants.
Platforms: Win7/64, Linux Mint Ulyssa/64

MarkMLl

  • Hero Member
  • *****
  • Posts: 8429
Re: List of changes for 32-bit compiler ppc386 <2.0 to ppc386 3.2.2
« Reply #4 on: March 08, 2025, 09:11:26 am »
(a) what OS? (b) what sort of problems? (c) the one that really bit me was the gross change to FileExists().

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Logitech, TopSpeed & FTL Modula-2 on bare metal (Z80, '286 protected mode).
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12262
  • FPC developer.
Re: List of changes for 32-bit compiler ppc386 <2.0 to ppc386 3.2.2
« Reply #5 on: March 08, 2025, 11:25:22 am »
1) Currently the code compiles and the binary executes flawlessly when compiled with ppc < 2.0 compiler.

With what compiler exactly does it work? With 1.0.x or with 1.9.x ?  1.9.x are betas for 2.0, but were in wide use and packaged with Lazarus.

If it is 1.0.x, you are out of luck. Most of the compiler was rewritten from 1.0.x to 2.0.x over longer than 5 years and probably thousands of commits, and the history is to complex to glean something from it. I assume even a compiler developer would frown at that task.

You can't even do a binary search, since specially during the 1999-2002 period the development branch that would become 2.0 was often too unstable.

Quote
2) As soon as I compile the code with any compiler >2.0 , the binary throw3s run-time errors.

I suggest you start debugging your application. That will be easier than starting to delve into ancient compiler internals.

Quote
Is there any available list of changes made from version ppc386 <2.0 to Version 2. or even up to Version 3.2.2

As said that is a near complete rewrite. The complete history (CVS,SVN,GIT eras) was imported into GIT, including various FIXES_* branches.

I guess the changes from <2.0 to 2.0  would be sufficient as the problem starts happening right there with the 2.0 compiler.

 

TinyPortal © 2005-2018