fpc/rtl
Jonas Maebe 41fba0c4f7 * switched to using the stack pointer as base register for the temp allocator
instead of the frame pointer register:
      1) we exactly know the offsets of the temps from the stack pointer
         after pass 1 (based on the require parameter stack size for called
         routines), while we don't know it for the frame pointer (it depends
         on the number of saved registers)
      2) temp offsets from the stack pointer are positive while those from
         the frame pointer are negative, and we can directly encode much
         bigger positive offsets in the instructions
   o move the stack pointer register to a virtual register in
     loadparentfpn, because many instructions cannot directly operate
     on/with the stack pointer
   o add the necessary register interference edges for the stack pointer
     register

git-svn-id: trunk@29938 -
2015-02-23 22:54:03 +00:00
..
aarch64 * switched to using the stack pointer as base register for the temp allocator 2015-02-23 22:54:03 +00:00
aix Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages. 2015-02-03 20:00:00 +00:00
amicommon AmiCommon: Missing UnLockDosList, DiskFree Bugfix 2015-02-14 20:06:47 +00:00
amiga fixed DOS unit path in the Makefiles, which is included from amicommon 2015-02-07 21:42:00 +00:00
android * Use threadvar for the module name buffer to be thread-safe. 2015-01-06 11:20:20 +00:00
arm * always pass the architecture to the arm assembler 2015-02-21 21:58:30 +00:00
aros Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages. 2015-02-03 20:00:00 +00:00
atari * fixes for make 3.82 2015-02-01 21:26:36 +00:00
avr
beos Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages. 2015-02-03 20:00:00 +00:00
bsd + Darwin/AArch64 support 2015-02-23 22:53:50 +00:00
charmaps
darwin + Darwin/AArch64 support 2015-02-23 22:53:50 +00:00
dragonfly * __error in cprt0.as 2015-01-15 20:40:33 +00:00
embedded Fixed more small bugs in the embedded heapmgr. Some changes copied from tinyheap. 2015-02-03 19:37:29 +00:00
emx * mapping of I/O error number 206 having different meaning in FPC to RTE 3 2015-02-22 22:25:44 +00:00
freebsd - Removed "version" directive, all it does is creation of extra PT_NOTE segment, which does not appear in programs compiled with C. 2015-01-26 17:02:31 +00:00
gba * fixes for make 3.82 2015-02-01 21:08:54 +00:00
go32v2
haiku Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages. 2015-02-03 20:00:00 +00:00
i386
i8086
inc + Darwin/AArch64 support 2015-02-23 22:53:50 +00:00
java
jvm
linux Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages. 2015-02-03 20:00:00 +00:00
m68k
macos
mips
mipsel
morphos Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages. 2015-02-03 20:00:00 +00:00
msdos
nativent
nds
netbsd
netware Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages. 2015-02-03 20:00:00 +00:00
netwlibc Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages. 2015-02-03 20:00:00 +00:00
objpas * fix for bug #16884 for OS/2 2015-02-15 19:39:53 +00:00
openbsd
os2 * mapping of I/O error number 206 having different meaning in FPC to RTE 3 2015-02-22 22:25:44 +00:00
palmos
powerpc
powerpc64
qnx
solaris Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages. 2015-02-03 20:00:00 +00:00
sparc
symbian
ucmaps * added binary mappings for inofficial codepage 895 (Kamenicky brothers) - referenced e.g. in fcl-db/dbase 2015-02-07 11:30:39 +00:00
unix + Darwin/AArch64 support 2015-02-23 22:53:50 +00:00
watcom
wii
win * added missing error constant 2015-02-23 11:19:50 +00:00
win32 Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages. 2015-02-03 20:00:00 +00:00
win64 * Win64: Use separate implementation of CaptureBacktrace that calls RtlCaptureStackBackTrace. This way it does not require non-optimized code to work correctly. 2015-02-14 11:41:33 +00:00
wince o fix wince compilation: 2015-02-21 21:55:56 +00:00
x86_64 * explicitly add asmmode, resolves #27255 2015-01-06 14:45:34 +00:00
COPYING.FPC
COPYING.txt
fpmake.inc
fpmake.pp
Makefile + recurse into atari sub-directory 2015-02-01 21:26:57 +00:00
Makefile.fpc + recurse into atari sub-directory 2015-02-01 21:26:57 +00:00
README.txt

This is the Run-Time Library (RTL) tree for Free Pascal.

To recompile the RTL, edit the main makefile. The makefiles NEED a GNU make
compatible make, they need unix-like 'rm' and 'mv' commands, as well as some
others. You can find these in the gnuutils package on the ftp site.

The main makefile is located ABOVE the RTL tree. It uses the FPC
makefile.fpc to guess reasonable defaults for everything it needs.
(these files can be found in base.zip on the FTP site)

The only variable that you may want to set are
FPC             - What compiler to use. Use an absolute path. 
                  (default is ppc386)
INSTALL_UNITDIR - Where to install the RTL units 
OPT             - any special options you want to set for the compiler.

In principle, you can also descend into the subdirectory of your OS, and
type 'make' there, that should also compile everything.

The tree contains subdirectories for all the supported operating systems,
as well as all processor architectures. The processor directories contain
low-level routines which are required for the system unit (if they are not 
available in high-level language form), as well as optimized versions of
the pascal generic routines (the generic routine source code is localed in
the inc subdirectory).

The following directories are not supported officially and may not work
correctly with FreePascal v1.0:

go32v1 - The DJGPP go32v1 DOS extender (no longer supported)
palmos - The PalmOS directory for the Dragonball (incomplete)


Enjoy.