fpc/rtl
yury 0654857ce1 Merged aarch64-android, x86_64-android targets and fixes for the Android target.
Revision(s) 39739, 39749, 39860, 39862, 39865, 39869, 39871, 39903, 39905, 39917, 39956, 39959-39960, 39969, 39971, 39980, 39987, 40198-40201, 40472, 40532, 40535-40536 from trunk:
* Android: The list of supported syscalls has been auto-generated directly from android sources for each CPU.
* Minor adjustments to make all compilable with the proper list of Android syscalls.
........
* Re-generated lists of android syscalls by a new script. The lists are more correct now. The script's location: https://svn.freepascal.org/svn/fpcbuild/scripts/android
........
* Fixed UnhookSignal when RTL_SIGDEFAULT is passed. The bug have caused crash on aarch64-android due to out of bounds read of the rtlsig2ossig[] array.
........
+ Added support for the aarch64-android target.
........
* Set ICU data dir if it is not set by the system. It fixes issues on newer Android versions.
* Added more predefined ICU versions.
........
* android: Use the current dir as temp.
........
* Corrected TUContext record for aarch64-linux and aarch64-android. It fixes obtaining of an address of the instruction where a signal has thrown.
........
* Enabled safecall support for aarch64 to be on par with other cpus.
........
* Android: Reworked the startup code to use no assembly instructions. Generic assembler startup files contains only section data and are compiled for each CPU.
* Android: argc and argv are correct for shared libraries.
........
* Use syscall_nr_renameat for android.
........
+ added support for x86_64-android target.
........
+ Added the auto-generated list syscalls for mips64-android. It will be needed when mips64 is supported.
........
* x86_64-android requires sigreturn for proper signal handling.
........
* Register external gas assembler for aarch64-android and x86_64-android.
........
* Enabled compilation of the cpu unit for arm-android and x86_64-android.
........
* ucnv_open() must be called with some SSE exception masked on x86_64-android.
* Call u_init() during initialization.
........
* Create the ".note.gnu.build-id" section for android. It fixes debugging of shared libs in Android Studio.
........
* android: Removed cwstring from the uses clause of the unix unit. Use cwstring indirectly. It allows to avoid using cwstring if needed.
........
* ICU v3.8 on Android 1.5-2.1 is buggy and can't be unloaded properly.
........
* Fixed locale detection on new Android versions.
........
* Fixed obtaining a time zone information for 64-bit android.
........
* Since Android 8 the net.dnsX properties can't be read. Use Google Public DNS servers.

........
* android: Use libc for sockets since the "accept" syscall is blocked by SECCOMP, but the "accept4" alternative is not available on old Android versions (2.3 and older). 
........
* android: Regenerated syscalls.
........
* android: Disabled usage of the "pselect6" and "ppoll" syscalls for arm-android. These syscalls are not available on old Android versions (2.3 or older).
........

git-svn-id: branches/fixes_3_2@40540 -
2018-12-13 18:08:42 +00:00
..
aarch64
aix * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
amicommon athreads: add a custom API to retrieve underlying process ID from AThreads. this makes it possible to combine some Amiga API features like Signaling with FPC's thread handling 2018-04-26 11:28:38 +00:00
amiga * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
android Merged aarch64-android, x86_64-android targets and fixes for the Android target. 2018-12-13 18:08:42 +00:00
arm
aros * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
atari * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
avr
beos * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
bsd * fixes sysctl also with 3.0.4 as starting compiler. 2018-02-16 17:58:20 +00:00
charmaps
darwin * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
dragonfly * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
embedded * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
emx * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
freebsd * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
gba * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
go32v2 * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
haiku * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
i386 + added x86 (i8086, i386 and x86_64) intrinsics fpc_x86_get_cs/ss/ds/es/fs/gs 2018-07-11 14:19:40 +00:00
i8086 * updated the CSeg, DSeg and SSeg rtl functions on i8086 to use the new x86 2018-07-11 14:34:05 +00:00
inc Merged aarch64-android, x86_64-android targets and fixes for the Android target. 2018-12-13 18:08:42 +00:00
java * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
jvm
linux Merged aarch64-android, x86_64-android targets and fixes for the Android target. 2018-12-13 18:08:42 +00:00
m68k m68k: on setjmp/longjmp also save/restore the FPCR register when FPU support is enabled 2018-03-13 23:44:54 +00:00
macos * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
mips
mipsel
morphos * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
msdos * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
nativent * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
nds * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
netbsd * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
netware * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
netwlibc * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
objpas --- Merging r39866 into '.': 2018-12-11 21:19:56 +00:00
openbsd * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
os2 * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
palmos * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
powerpc Disable dcbz code for AIX also 2018-05-11 15:49:35 +00:00
powerpc64
qnx * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
solaris * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
sparc
sparc64
symbian * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
ucmaps
unix Merged aarch64-android, x86_64-android targets and fixes for the Android target. 2018-12-13 18:08:42 +00:00
watcom * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
wii * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
win # revisions: 39793,39850,39852,39910,40020,40021,40022,40024,40096 2018-10-30 13:11:14 +00:00
win16 * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
win32 * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
win64 * regenned makefile without date/rev components for easier merging. 2018-08-18 15:06:25 +00:00
wince --- Merging r39670 into '.': 2018-09-22 10:40:11 +00:00
x86_64 + added x86 (i8086, i386 and x86_64) intrinsics fpc_x86_get_cs/ss/ds/es/fs/gs 2018-07-11 14:19:40 +00:00
COPYING.FPC
COPYING.txt
fpmake.inc
fpmake.pp more version updates 2018-08-18 15:26:38 +00:00
Makefile * version to 3.2.0-beta 2018-08-18 15:25:41 +00:00
Makefile.fpc Merged aarch64-android, x86_64-android targets and fixes for the Android target. 2018-12-13 18:08:42 +00:00
README.txt rtl: removed the long obsolete README section mentioning FPC 1.0 2018-02-12 10:58:54 +00:00

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.