Difference between revisions of "Compiler development articles"

From Free Pascal wiki
Jump to navigationJump to search
(Found a nice link about C++ objects in Delphi, Hope that remark about negative VMT offsets is correct)
Line 15: Line 15:
  
  
 +
== C++ linking ==
 +
 +
See http://rvelthuis.bei.t-online.de/articles/articles-cppobjs.htm
 +
 +
Note that FPC doesn't have negative VMT offsets due to GNU LD limitations.
  
 
= Processor dependent =
 
= Processor dependent =

Revision as of 12:53, 9 April 2005

The current FPC version under developement is 1.9.x. Compiler internals are documented at the evolving FPC internals page.

General

How to start

FPC internals

Language related articles

Enable new style smartlinking (freebsd,linux)

  • in i_*.pas add tf_smartlink_sections to the flags field of the platform description record for your OS/CPU combo (in my case i_bsd.pas, the system_i386_freebsd_info record)
  • in ogelf.pas scroll down to nearly the bottom, and add af_smartlink_sections to the flags field of as_i386_elf32_info
  • run "(g)make all OPT='-Aas -k--gc-sections' at the toplevel to build using new smartlinking routines.


C++ linking

See http://rvelthuis.bei.t-online.de/articles/articles-cppobjs.htm

Note that FPC doesn't have negative VMT offsets due to GNU LD limitations.

Processor dependent

i386

PIC information

PowerPC

PPC Calling conventions