mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-29 03:33:42 +02:00
![]() 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 - |
||
---|---|---|
.. | ||
aarch64 | ||
aix | ||
amicommon | ||
amiga | ||
android | ||
arm | ||
aros | ||
atari | ||
avr | ||
beos | ||
bsd | ||
charmaps | ||
darwin | ||
dragonfly | ||
embedded | ||
emx | ||
freebsd | ||
gba | ||
go32v2 | ||
haiku | ||
i386 | ||
i8086 | ||
inc | ||
java | ||
jvm | ||
linux | ||
m68k | ||
macos | ||
mips | ||
mipsel | ||
morphos | ||
msdos | ||
nativent | ||
nds | ||
netbsd | ||
netware | ||
netwlibc | ||
objpas | ||
openbsd | ||
os2 | ||
palmos | ||
powerpc | ||
powerpc64 | ||
qnx | ||
solaris | ||
sparc | ||
sparc64 | ||
symbian | ||
ucmaps | ||
unix | ||
watcom | ||
wii | ||
win | ||
win16 | ||
win32 | ||
win64 | ||
wince | ||
x86_64 | ||
COPYING.FPC | ||
COPYING.txt | ||
fpmake.inc | ||
fpmake.pp | ||
Makefile | ||
Makefile.fpc | ||
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.