fpc/rtl
Jonas Maebe 25e832940c llvmdbg: support for generating debug information for local/para varsyms
Note that not all symbols are covered yet, because absolutevarsyms are not
yet supported and those are e.g. used for function result aliases.
Additionally, not all types are fully supported yet.
2022-06-04 22:26:40 +02:00
..
aarch64 * fix declocked(longint) for aarch64 without LSE, resolves #39569 2022-02-11 23:11:06 +01:00
aix * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
amicommon * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
amiga * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
android * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
arm * thumb2: Optimize fillchar a bit more with a wider inner loop chunk size 2021-04-01 20:55:21 +00:00
aros * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
atari * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
avr * AVR: made avr_des intrinsic more usefull 2021-05-13 18:59:28 +00:00
beos * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
bsd * check paramstr argument for negative values, resolves #39410 2021-10-20 20:04:32 +02:00
charmaps
darwin * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
dragonfly * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
embedded * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
emx * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
freebsd * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
freertos * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
gba * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
go32v2 * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
haiku * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
i386 * check more cpuid flags in the cpu units 2022-04-04 22:55:05 +02:00
i8086 * Set softfloat_rounding_mode indise SetRoundMode function for all CPUs. 2021-01-03 21:44:18 +00:00
inc llvmdbg: support for generating debug information for local/para varsyms 2022-06-04 22:26:40 +02:00
java * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
jvm Add FillWord procedures and implement unicode StringOfChar for JVM cpu 2022-01-07 22:58:36 +00:00
linux * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
m68k * m68k: fix an instruction which doesn't exist on ColdFire 2022-02-12 17:32:59 +01:00
macos * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
mips * Set softfloat_rounding_mode indise SetRoundMode function for all CPUs. 2021-01-03 21:44:18 +00:00
mips64 + some more cpu specfic files for mips64(el) 2022-05-25 22:41:22 +02:00
mips64el + some more cpu specfic files for mips64(el) 2022-05-25 22:41:22 +02:00
mipsel
morphos * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
msdos * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
msxdos * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
nativent * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
nds Fix compilation ofrtl/nds/classes.pp unit 2022-06-02 17:54:59 +00:00
netbsd * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
netware * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
netwlibc * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
objpas * anonymous method overloads for synchronize/queue. 2022-06-01 13:54:06 +02:00
openbsd * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
os2 * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
palmos * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
powerpc * Set softfloat_rounding_mode indise SetRoundMode function for all CPUs. 2021-01-03 21:44:18 +00:00
powerpc64 * Set softfloat_rounding_mode indise SetRoundMode function for all CPUs. 2021-01-03 21:44:18 +00:00
qnx * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
riscv * RiscV: unified cpu initialization and FPU exception handling, resolves #38893 2021-05-15 20:53:56 +00:00
riscv32 * RiscV: unified cpu initialization and FPU exception handling, resolves #38893 2021-05-15 20:53:56 +00:00
riscv64 * RiscV: unified cpu initialization and FPU exception handling, resolves #38893 2021-05-15 20:53:56 +00:00
sinclairql * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
solaris * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
sparc * Set softfloat_rounding_mode indise SetRoundMode function for all CPUs. 2021-01-03 21:44:18 +00:00
sparc64 * Set softfloat_rounding_mode indise SetRoundMode function for all CPUs. 2021-01-03 21:44:18 +00:00
symbian * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
ucmaps
unix * anonymous method overloads for synchronize/queue. 2022-06-01 13:54:06 +02:00
wasi * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
wasm32 * added non-atomic implementations of the atomic operations in the WebAssembly unit, used when the RTL is compiled without -CTwasmthreads 2022-05-28 02:17:20 +03:00
watcom * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
wii * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
win * add GetDateFormatEx, from bug #35118 by 440bx 2022-05-22 12:37:58 +02:00
win16 * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
win32 * anonymous method overloads for synchronize/queue. 2022-06-01 13:54:06 +02:00
win64 * anonymous method overloads for synchronize/queue. 2022-06-01 13:54:06 +02:00
wince * fix missing ifdef for the non win32/64/unix targets. 2022-06-01 16:56:02 +02:00
x86_64 * check more cpuid flags in the cpu units 2022-04-04 22:55:05 +02:00
xtensa * patch by Christo Crause: Xtensa [patch] Use syscall 0 to spill registers on ESP32, resolves #39221 2021-07-14 21:47:29 +00:00
z80 + add support for port object on Z80 using the new IN/OUT intrinsics 2020-06-07 12:25:10 +00:00
zxspectrum * compile always with -CX -XX for Z80 2022-04-24 21:38:41 +02:00
COPYING.FPC
COPYING.txt
fpmake.inc
fpmake.pp - removed old float-to-string and string-to-float conversion code 2020-05-17 14:05:38 +00:00
Makefile * compile always with -CX -XX for Z80 2022-04-24 21:38:41 +02:00
Makefile.fpc + added WASI to the main RTL makefile 2021-01-02 22:58:19 +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).

Enjoy.