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
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.